PHP环境配置

1.服务器

在这里插入图片描述

简单理解:服务器也是一台计算机,只是比平时用到的计算机在性能上更强大,开发中通常都需要将开发好的项目部署到服务器进行访问,例如:我们可以访问百度、淘宝、京东等,都是因为有服务器的存在,再例如:王者荣耀登录的时候需要选择不同的服务器【不同的区】,每个区都对应一个服务器

如果把服务器关了,那对应的应用就不可用了

常见的服务器

服务器名称描述
文件服务器以文件数据的存储与共享为主要功能的服务器
数据库服务器存储数据,对数据进行管理,例如:MySQL数据库、Oracle、SQLserver
网页服务器用于存放网站的服务器(web服务器),java中使用的Tomcat服务器,php使用的apache服务器
FTP服务器文件传输服务器,通常指局域网访问,例如:同一个机房中的电脑可以互相访问,只需要下载一个ftpserver开启服务即可

上述为常见的几种服务器,其它的服务器可以自行扩展

1.1 Apache服务器介绍

本章节的课程和PHP相关,因此需要用到Apache服务器

在这里插入图片描述

常见的web服务器

服务器名称描述
ApacheApache是世界使用排名的Web服务器软件。它几乎可以运行在所有的计算机平台上。由于Apache是开源免费的,因此有很多人参与到新功能的开发设计,不断对其进行完善。 Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用
iisIIS(Internet信息服务)英文Internet Information Server的缩写。它是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活
nginxNginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力
tomcatTomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器
Lighttpd基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境
Zeus是一个运行于Unix下的非常的Web 服务器,据说性能超过Apache,是效率的Web 服务器之一

1.2 Apache官网下载

Apache官网下载地址

第一步:找到windows版本的下载地址

在这里插入图片描述

第二步:找到apachehaus

在这里插入图片描述

第三步:找到windows64位下载地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uc2SUqmK-1693193510512)(./assets/apache下载03.png)]

1.3 Apache目录结构介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RkQ21OKf-1693193510513)(./assets/apache目录结构.png)]

目录名作用
bin所有的执行文件存放目录
confapache的配置文件目录
htdocs项目部署的目录
modules扩展加载的组件(类似电脑扩展外接的键盘)

1. 4Apache测试访问

找到bin目录,双击httpd.exe启动Apache服务,启动后出现一个窗口

在这里插入图片描述

**注意:**打开后的窗口表示Apache服务器正在使用中,关掉窗口后就无法再访问Apache的服务了

在Apache的目录中找到conf下的httpd.conf文件,其中指定了serverName

在这里插入图片描述

如果ServerName的前面有#,那就把#去掉,保存,保存后一定要重启Apache服务

打开浏览器,在地址栏中输入localhost【127.0.0.1】回车即可,80是默认端口号,可以不写

127.0.0.1是本地的IP地址,localhost是其域名,可以理解为:localhost是名字,127.0.0.1是人

在这里插入图片描述

该页面就是在apache的htdocs目录中的index.html,是默认访问的,因此也可以输入localhost/index.html

2.PHP安装配置

2.1 PHP介绍

在这里插入图片描述

HTML也是一款超文本编辑语言用于实现静态网页的,PHP是在服务器端执行的脚本语言,用于实现动态网页的【动态的修改网页中的数据】

我们在进行PHP开发的时候,需要将开发好的文件部署到apache服务器中,因此就需要在本地配置PHP的环境变量,同时需要让Apache识别到我们的PHP语言。

预热【作为备忘使用的】

所有的文件都有一个后缀名,.txt代表文本,.php代表php的文件,.java代表java文件,.doc代表world文件

不同的电脑文件的后缀名可能被隐藏了,所以建议先将文件的后缀名显示出来

window10的查找方式

在这里插入图片描述

window7系统需要找到控制面板–>文件夹选项

在这里插入图片描述

我们可以先演示下,不配置环境的情况下在Apache的部署目录下创建php文件,网页是无法解析的:

在这里插入图片描述

在该文件中写上php的代码,简答的输出一个hello world

<?php echo "hello world"
?>

然后启动Apache,在地址栏中输入localhost/hello.php

在这里插入图片描述

接下来,下载及配置php环境

2.2 PHP下载

打开浏览器搜索php

在这里插入图片描述

打开后在官方网站中可以找到最新的php版本下载

在这里插入图片描述

在这里插入图片描述

进去之后可以找到提供的下载地址,注意要选择Thread safe下的zip下载

在这里插入图片描述

2.3 PHP目录介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fpzlqQyS-1693193510523)(./assets/php目录结构.png)]

php.ini-production:对应生产环境【项目已经开发好了,该文件是上线后需要用到的配置文件】

php.ini-development:对应开发环境【项目正在开发中,在开发过程中需要用到的配置文件】

例如:生产一款化妆品,dev就代表还在测试阶段,pro代表正式开始售卖

例如:dev代表孩子还没生下来时需要做的准备,pro代表孩子生完之后需要做的准备

2.4 Apache整合PHP环境

步骤一:找到php.ini-development文件,复制一份,改名为php.ini

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fkXFVl57-1693193510523)(./assets/php.ini.png)]

打开php.ini文件,找到extension_dir【大致在768行附近】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pJpxmgoR-1693193510524)(./assets/extension.png)]

修改值为当前php安装目录下的ext文件夹的路径【注意:需要先将前面的分号去掉,分号代表注释】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tPak7PHt-1693193510524)(./assets/extension_dir.png)]

步骤二:配置apache,让apache可以识别到php的环境

找到apache安装目录下的conf目录下的httpd.conf

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WyFzPDjw-1693193510525)(./assets/apache-conf.png)]

按要求添加以下配置即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z1Lw1yee-1693193510525)(./assets/conf配置.png)]

#指定php与apache的插件
LoadModule php_module "F:\phpServer\php8.0.10\php8apache2_4.dll"
#指定php所在的根目录
PHPIniDir "F:\phpServer\php8.0.10"
#指定以.php结尾的文件交由php引擎进行解析
AddType application/x-httpd-php .php

修改完保存后,重启apache服务

2.5 测试结果

打开浏览器,输入localhost/hello.php

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1gzzjH24-1693193510526)(./assets/hello测试.png)]

到此,php的环境配置就完成了

3.PHP的基本语法

每一门语言都有自己的语法规范,开发时需要遵循该规范来开发,否则编译有可能通不过【例如:工厂的流水线做完一款产品后需要让质检部门检验通过后才算合格,编译不通过就相当于质检不合格】。

3.0 开发工具

每一款语言都有对应的开发工具,PHP最常用的开发工具是phpstrom,本章节使用hbuilder或dreamweaver工具来进行开发

hbuilder下载地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TKm6srMa-1693193510526)(./assets/download-hbuilder.png)]

点击下载windows版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uiz1fDuJ-1693193510527)(./assets/hbuilder-win.png)]

下载好后解压文件,找到hbuilderx.exe双击运行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wqQCR4Jm-1693193510528)(./assets/hbuilder运行.png)]

3.1 PHP文件的后缀

每一个文件最终通过什么方式运行,基于该文件的后缀的形式来决定的,例如:.txt是文本 .doc是world .png是图片,开发语言中的后缀,例如:.java是java文件 .html是网页文件 .php就是php文件

3.2 入门程序

在apache的htdocs中创建一个.php文件,test.php

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HNEkjtB4-1693193510528)(./assets/创建.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jYc2oyjc-1693193510529)(./assets/文件创建.png)]

php的语法结构组成

<?php 执行的代码; ?>

示例:在刚创建的test.php文件中输出一个 大家好,我是你们可爱的朱老师

<?php echo "大家好,我是你们可爱的朱老师"; ?>

echo是一种输出的语法

之后再浏览器中输入localhost/test.php

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nc0WKItk-1693193510530)(./assets/入门测试.png)]

3.3 注释

注释:给写的代码进行解释说明,可以供自己或其他人快速了解当前代码的作用,该注释在页面中是不会显示的。

语法作用
//单行注释,适合简短且只有一行文字时的注释方式
/**/段落注释,适合有多行文字时的注释方式

单行注释

//单行注释:这行代码可以在网页中输入下面写的内容
echo "大家好,我是你们可爱的朱老师"; 

多行注释

/*多行注释适用于描述的内容较多时,这是第一行这是第二行,可以有很多行注释
*/
echo "大家好,我是你们可爱的朱老师"; 

3.4 数据类型

数据类型:代码中会存在多种形式的内容,比如:数字、中英文、符号等,php语言问了能够让服务器区分每一个代表的含义,因此给每一种类型都给了一个名称作为标识,称为数据类型

数据类型描述
整数类型例如:1、2、3、-1、-2、0等
浮点类型例如:1.1、2.2、3.6等【其实就是小数】
字符串例如:所有用" "包裹内容都能成为字符串
布尔类型例如:true / false

上述描述的数据类型在开发时是不要写的,作为了解区分

php是一门弱语言,在定义变量的时候就不需要指定数据类型,程序会自动推断

$a = 1;
$b = 2;
$c = 1;

a 、 a、 ab、$c是一个自定义的变量名,用来代替后面的值,可以多次使用

接下来可以进行一个简单的运算1+2+1

$sum = 1+2+1;$a = 1;
$b = 2;
$c = 1;
$sum = $a+$b+$c;
//输出运算后的结果
echo "计算后的结果 = $sum";

刷新网页后即可看到运算后的结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cMaN49Yd-1693193510530)(./assets/简单的加法运算.png)]

定义一个字符串

$sum = 1+2+1;
$a = 1;
$b = 2;
$c = 1;
$sum = $a+$b+$c;
//输出运算后的结果
echo "计算后的结果 = $sum";
//定义一个字符串
$name = "朱老师";
echo "<br/>你们的老师是$name";

其中的br标签是前端中的标签代表换行,浏览器可以直接解析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BlhGB6HL-1693193510531)(./assets/字符串结果.png)]

果 = $sum";
//定义一个字符串
n a m e = " 朱老师 " ; e c h o " < b r / > 你们的老师是 name = "朱老师"; echo "<br/>你们的老师是 name="朱老师";echo"<br/>你们的老师是name";


其中的br标签是前端中的标签代表换行,浏览器可以直接解析[外链图片转存中...(img-BlhGB6HL-1693193510531)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/110964.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】—— 异常处理

前言&#xff1a; 本期&#xff0c;我将给大家讲解的是有关 异常处理 的相关知识&#xff01; 目录 &#xff08;一&#xff09;C语言传统的处理错误的方式 &#xff08;二&#xff09;C异常概念 &#xff08;三&#xff09;异常的使用 1、异常的抛出和捕获 1️⃣ 异常的…

vue使用命令npm install 报错 cb() never called!

一.错误说明,npm本身下载就慢&#xff0c;有可能是网络的问题。 二.解决方案,把npm设置成淘宝镜像后,再重新npm install npm config set registry https://registry.npm.taobao.org 三.还是不行&#xff0c;还会出现同样的问题&#xff0c;那接下来先清理一下npm缓存 npm cache…

工地扬尘监测系统 yolo

工地扬尘监测系统算法能够通过yolo网络框架模型&#xff0c;工地扬尘监测系统算法自动对区域的扬尘、粉尘颗粒进行实时监测识别&#xff0c;并及时进行预警&#xff0c;有效防止扬尘污染。Yolo意思是You Only Look Once&#xff0c;它并没有真正的去掉候选区域&#xff0c;而是…

Arduino程序设计(四)按键消抖+按键计数

按键消抖按键计数 前言一、按键消抖二、按键计数1、示例代码2、按键计数实验 参考资料 前言 本文主要介绍两种按键控制LED实验&#xff1a;第一种是采用软件消抖的方法检测按键按下的效果&#xff1b;第二种是根据按键按下次数&#xff0c;四个LED灯呈现不同的流水灯效果。 一…

异地使用PLSQL远程连接访问Oracle数据库【内网穿透】

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle&#xff0c;是甲骨文公司的一款关系…

Hive Cli / HiveServer2 中使用 dayofweek 函数引发的BUG!

文章目录 前言dayofweek 函数官方说明BUG 重现Spark SQL 中的使用总结 前言 使用的集群环境为&#xff1a; hive 3.1.2spark 3.0.2 dayofweek 函数官方说明 dayofweek(date) - Returns the day of the week for date/timestamp (1 Sunday, 2 Monday, …, 7 Saturday). …

Win11共享文件,能发现主机但无法访问,提示找不到网络路径

加密长度选择如下&#xff1a; 参考以下链接&#xff1a; Redirectinghttps://answers.microsoft.com/zh-hans/windows/forum/all/win11%E8%AE%BE%E7%BD%AE%E6%96%87%E4%BB%B6%E5%A4%B9/554343a9-d963-449a-aa59-ce1e6f7c8982?tabAllReplies#tabs

【LeetCode-中等题】189. 轮转数组

题目 题解一&#xff1a;开辟数组 取模运算寻找位置(ik)mod n 新位置 思路&#xff1a;通过&#xff0c;开辟数组 取模运算寻找新位置------位置(ik)mod n 新位置 int[] newNums new int[nums.length];for(int i 0;i<nums.length;i){newNums[(ik)%nums.length] nums[i…

网络知识点之-堆叠与集群(2-集群)

本文章收录至《网络》专栏&#xff0c;点击右上角专栏图标可访问本专栏&#xff01; 集群是一种用于集团调度指挥通信的​​​​​​移动通信系统&#xff0c;主要应用在专业移动通信领域。该系统具有的可用信道可为系统的全体用户共用&#xff0c;具有自动选择信道功能&#x…

基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 4 Data store标签页介绍

这篇文章我们继续讲解code-mapping的Data stores页,这个页的内容对应的SIMULINK中的模块是Data store memory。 我们首先在模型中创建一个Data store memory模块,如图: Data store memory模块的作用相当于一个全局变量,我们可以在模型的功能逻辑里将一个信号存进去,在另…

[oneAPI] 基于BERT预训练模型的SWAG问答任务

[oneAPI] 基于BERT预训练模型的SWAG问答任务 基于Intel DevCloud for oneAPI下的Intel Optimization for PyTorch基于BERT预训练模型的SWAG问答任务数据集下载和描述数据集构建问答选择模型训练 结果参考资料 比赛&#xff1a;https://marketing.csdn.net/p/f3e44fbfe46c465f4d…

【Hadoop】HDFS读写流程和客户端命令使用

&#x1f341; 博主 "开着拖拉机回家"带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341; 希望本文能够给您带来一定的…

一文速学-让神经网络不再神秘,一天速学神经网络基础-前向传播(三)

前言 思索了很久到底要不要出深度学习内容&#xff0c;毕竟在数学建模专栏里边的机器学习内容还有一大半算法没有更新&#xff0c;很多坑都没有填满&#xff0c;而且现在深度学习的文章和学习课程都十分的多&#xff0c;我考虑了很久决定还是得出神经网络系列文章&#xff0c;…

【Linux】深入理解文件缓冲区

文章目录 问题引入如何理解缓冲区缓冲区刷新策略问题解释模拟一个文件缓冲区 问题引入 首先看一段代码&#xff1a; #include <stdio.h> #include <string.h> int main() {const char *msg0"hello printf\n";const char *msg1"hello fwrite\n&quo…

Matlab(变量与文本读取)

目录 1.变量&#xff08;数据&#xff09;类型转换 1.1 字符 1.2 字符串 1.3 逻辑操作与赋值 2.Struct结构体数组 2.1函数的详细介绍&#xff1a; 2.1.1 cell2struct 2.1.1.1 垂直维度转换 2.1.1.2 水平维度转换 2.1.1.3 部分进行转换 2.1.2 rmfield 2.1.3 fieldnames(查…

HTTP 协议

目录 ​编辑一、HTTP 协议是什么 二、抓包工具的使用 三、HTTP 请求 1、认识 URL 2、认识方法 3、认识请求 “报头” HOST &#xff1a; Content-Length 和 Content-Type​编辑 User-Agent Referer Cookie 四、HTTP 响应 1、认识状态码 2、通过 form 表单构造 H…

最小化安装移动云大云操作系统--BCLinux-for-Euler-22.10-everything-x86_64-230316版

CentOS 结束技术支持&#xff0c;转为RHEL的前置stream版本后&#xff0c;国内开源Linux服务器OS生态转向了开源龙蜥和开源欧拉两大开源社区&#xff0c;对应衍生出了一系列商用Linux服务器系统。BCLinux-for-Euler-22.10是中国移动基于开源欧拉操作系统22.03社区版本深度定制的…

读书笔记-《ON JAVA 中文版》-摘要23[第二十章 泛型-2]

文章目录 第二十章 泛型5. 泛型擦除5.1 泛型擦除5.2 迁移兼容性5.3 擦除的问题5.4 边界处的动作 6. 补偿擦除7. 边界8. 通配符8.1 通配符8.2 逆变 9. 问题10. 动态类型安全11. 泛型异常 第二十章 泛型 普通的类和方法只能使用特定的类型&#xff1a;基本数据类型或类类型。如果…

WPF实战项目十二(API篇):配置AutoMapper

1、新建类库WPFProjectShared&#xff0c;在类库下新建文件夹Dtos&#xff0c;新建BaseDto.cs&#xff0c;继承INotifyPropertyChanged&#xff0c;实现通知更新。 public class BaseDto : INotifyPropertyChanged{public int Id { get; set; }public event PropertyChangedEv…

Go的基础运行方式和打包

目录 基础运行方式导入路径 打包技巧相关知识点 基础运行方式 // 文件名可以不是main&#xff0c;但包名和入口函数比如是main // main.go package main // 导入包的时候可以直接导入&#xff0c;也可以导入后指定包名&#xff0c; import ("fmt"godemo "githu…