要运行PHP脚本程序,需要在系统中配置PHP的运行环境。PHP的运行环境需要两个软件的支持:一个是运行PHP的Web服务器;另一个是PHP运行时需要加载的软件包,该软件包主要是解释执行PHP页面的脚本程序,如解释PHP页面的函数。
PHP具有跨平台特性,它可以运行在Linux、Mac OS、Unix和Windows等操作系统上,这里以Windows 10为例;PHP支持多种Web服务器,如Apache、IIS、Nginx服务器等,其中,Apache与PHP是最好的黄金搭档,且是目前使用最多的,版本更新速度也很快的,和具有跨平台特性的Web服务器,这里以Apache为例。
Apache服务器的官方网站是:http://httpd.apache.org,进入其中,可知截止至2020年3月,Apache的最新发行版本是2.4.41。单击“Download”超链接下载最新的版本。
Apache httpd的版本有两种形式,一是源代码版本,二是二进制版本,这里选择下载二进制版本,且由于操作系统是Windows 10,所以点击“Files for Microsoft Windows”。
点击“ApacheHaus”。
由于操作系统是64位,所以选择下载64位的安装包。
下载到的文件为httpd-2.4.41-o111c-x64-vc15-r2.zip
,这是一个压缩文件,将该压缩文件解压至合适的目录,也即安装目录,这里选择的安装目录是D:\Software\Apache\httpd
。打开此安装目录,然后再打开conf文件夹
下的httpd.conf文件
,并进行配置。
配置的内容主要有两点,一是服务器根目录路径ServerRoot
,二是监听端口Listen
。将ServerRoot
路径改为httpd自己的安装位置,本机的修改内容如下:
Define SRVROOT "D:\Software\Apache\httpd\Apache24"
ServerRoot "${SRVROOT}"
端口号默认为80端口,但是多数情况下,80端口会被占用,所以需要修改80端口。如果确定80端口未被占用则可以不修改,但建议还是修改一下。可通过如下命令查看一个端口是否被占用:netstat -aon|findstr "8080"
。本机将端口修改为:8080,如下:
#Listen 12.34.56.78:80
Listen 8080
配置完成后,就是测试,测试之前,需要开启Apache服务,而开启之前,则需要先安装Apache服务。安装Apache服务的命令是:httpd -k install
,开启Apache服务的命令是:httpd -k start
,关闭Apache服务的命令是:httpd -k stop
,卸载Apache服务的命令是:httpd -k uninstall
。而如果想卸载得彻底一点,可在卸载了Apache服务后,去把之前解压出的所有安装文件都从磁盘中删除了即可。
测试的步骤很简单,只要打开一个浏览器,并在地址栏中输入:http://localhost:8080
,再按回车,就完成了测试的过程。如下为加载出的页面,通过页面中的内容可知,Apache httpd安装成功了,但是却说还没有配置。经过一番排查,发现,服务器根目录路径没错,所用的端口也没有被其它程序占用,所以,就只能这样了,就当它成功了吧。事实上,httpd服务器的确能够成功运行PHP程序。
PHP的官方网站是:http://www.php.net,进入其中,可知截止至2020年3月,PHP开发工具包的最新发行版本是7.4.4。单击“7.4.4
”超链接下载最新的版本。
由于操作系统是Windows 10,所以点击“Windows downloads
”。
点击“VC15 x64 Thread Safe (2020-Mar-17 16:16:25)”下的“Zip
”超链接,下载PHP开发工具包对应的二进制可执行文件。
下载到的内容是一个压缩包,其名为php-7.4.4-Win32-vc15-x64.zip
。将该压缩包解压至合适的目录,也即安装目录,这里选择的安装目录是D:\Software\PHP\php7
。打开此安装目录,找到php.ini-development文件
,将其重命名为php.ini文件
。如此,PHP工具包就完成安装了。
而为了将Apache和PHP连接起来,需要配置两个地方,一是修改Apache httpd的配置文件httpd.conf,二是修改PHP的配置文件php.ini。
在httpd.conf中需要配置的内容如下:
# 加载php模块,用来处理php文件
LoadModule php7_module D:\Software\PHP\php7\php7apache2_4.dll
# 让Apache识别php文件
AddType application/x-httpd-php .php
# 加载php配置文件php.ini
PHPIniDir D:\Software\PHP\php7\php.ini
Apache服务器处理php文件时,需要加载php模块php7apache2_4.dll
,此模块就在PHP的安装目录中,这第1个命令表示的内容即为要加载的PHP模块所在的存储位置;第2个命令表示将一个MIME类型绑定到某个或者某些扩展名,其中,.php只是一种扩展名,这里还可以设置为.phtm或者.php7等,这个命令的主要作用就是为了让Apache服务器能够识别php文件;最后一个命令是让Apache服务器能够找到PHP的配置文件php.ini的路径。如下为具体配置。
在php.ini中需要配置的内容如下:
...
extension_dir = "ext"
...
extension=mysqli
...
extension=pdo_firebird
extension=pdo_mysql
extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
在PHP配置文件中,分号“;
”是注释的意思。为了让php能够使用扩展的动态库(就是ext目录中的一系列动态链接库),需要在php.ini文件中做一些配置,而首先需要做的是开启php扩展动态库目录
,而命令extension_dir = "ext"
的作用就是如此,其中,"ext"
就表示扩展的动态库的相对路径,或者也可用绝对路径,本机的为D:\Software\PHP\php7\ext
。接下来,就是把需要的扩展开来就行了,具体操作就是在上下文中找到相应的命令,然后把命令前面的分号“;
”去掉即可。如为了使用数据库,可把上述的那些命令的前面的分号“;
”去掉。如下为具体配置。
前面的步骤操作完成后,Apache服务器和PHP的配置就已经完成了。下面可以创建一个PHP页面来测试PHP环境是否正确。作为第一个PHP案例,这里调用PHP的内置函数查看PHP环境是否正确。具体操作步骤如下:
1、打开Apache目录下的htdocs文件夹,在该文件夹中创建index.php文件;
2、向该文件中添加以下代码。
<title>PHP环境测试</title>
phpinfo(); // 输出PHP环境信息
d?>
3、在浏览器的地址栏中输入:http://localhost:8080/index.php进行测试,运行效果如下图所示,由结果可知,Apache httpd服务器成功地运行了PHP程序,这表明,Apache和PHP连接成功了。