



虽然PHP网站大多数会运行在Linux系统中,但本书介绍的是PHP网站所需要的代码实现,为便于写作和测试,书中的示例会在Windows环境中完成,这些代码可以直接或稍作修改后在Linux环境下运行。
本节介绍如何在Windows系统下搭建PHP网站的开发与测试环境。
首先,可以从php.net网站下载需要的PHP版本,如果使用IIS(Internet Information Services,互联网信息服务)和FastCGI方式运行PHP,需要下载无线程安全的版本,PHP 7.4.10的文件名为php-7.4.10-nts-Win32-vc15-x64.zip(64位系统),本书示例解压路径为d:\php7nts目录,如果解压在不同的目录,配置参数时注意使用正确的路径。
如果需要使用Apache HTTP Server作为Web服务器,需要下载线程安全版本,PHP 7.4.10的文件名为php-7.4.10-Win32-vc15-x64.zip(64位系统),本书示例解压路径为d:\php7ts目录。
Windows系统下的PHP配置文件为php.ini。在PHP目录中包含两个配置文件模板,分别是php.ini-development和php.ini-production文件。开发和测试工作中,可以将php.ini-development文件复制一份,重新命名为php.ini。配置文件中,以分号(;)开始的内容都是注释,如果需要启用参数,需要删除分号。
首先是扩展资源的路径,在php.ini文件中找到extension_dir参数,确保删除了以下代码前的分号。
extension_dir = "ext"
此参数设置了Windows系统下默认的扩展模块存放路径,除了使用相对路径,还可以使用绝对路径,如下面的代码。
extension_dir="d:/php7ts/ext/"
默认情况下,扩展资源位于PHP目录下的ext目录中,本书需要的扩展模块包括:
● gd2,绘图功能。请注意,在PHP 8中,此模块更名为gd。
● mbstring,处理多字节文本。
● mysqli,MySQL和MariaDB等数据库操作。
● openssl,OpenSSL支持。
在php.ini文件中找到相应的extension参数,例如,需要启用mbstring模块就要删除"extension=mbstring"前面的分号(;)。
此外,通过命令行执行PHP代码时,可以使用php.exe命令。首先,创建d:\test.php文件,并使用“记事本”应用程序打开,修改内容如下。
<?php
echo "Hello PHP";
?>
通过cmd.exe打开命令行窗口,按顺序执行如下命令。
d:
cd php7nts
php d:\test.php
执行成功时,可以在命令行窗口中看到输出“Hello PHP”字样。
Windows系统中,PHP网站可以通过FastCGI方式在IIS中运行。在Windows 7或Windows 10系统中通过“控制面板”打开“程序和功能”,并在“启动或关闭Windows功能”中修改Windows组件,见图1-1,需要启用Internet Information Services→“万维网服务”→“应用程序开发功能”→CGI等功能。
图 1-1
接下来,通过运行inetmgr.exe打开IIS管理器。这里可以新建一个网站,并指定网站的端口为10001,路径为PHP网站的测试路径,如本书使用的d:\chy\cpl\site,见图1-2。
图 1-2
创建网站后,打开网站的“处理程序映射”,在右上角选择“添加模块映射”,见图1-3。
图 1-3
接下来参考图1-4中的参数进行设置。
图 1-4
这里设置的参数主要如下。
● 请求路径:这里指定PHP文件的扩展名,即*.php。
● 模块:在列表中选择“FastCgiModule”。
● 可执行文件:这里需要选择PHP无线程安全版本中的php-cgi.exe文件,如本书示例中的D:\php7nts\php-cgi.exe。
● 名称:这里指定为php。
网站创建后,如果需要修改网站的主目录,可以在网站的“Internet Information Services(IIS)管理器”中选择网站,打开“基本设置”后设置。如图1-5所示,在“编辑网站”对话框的“物理路径”文本框中调整具体路径。
图 1-5
IIS网站配置的最后一步,打开网站设置中的“默认文档”,确认其中包含index.php文件,如果没有可以添加,并将其移动到列表的第一位,见图1-6。
图 1-6
本书网站位于源代码中的site目录,测试时可以将此目录设置为网站路径,也可以创建自己的网站目录,并在其中创建index.php。接下来,简单的代码测试会通过此文件完成。
开源的江湖上,有Linux+Apache+PHP+MySQL(简称LAPM)黄金组合的传说,所以,了解一下Apache的应用是很有必要的。如果使用Apache HTTP Server环境运行PHP网站,需要下载PHP的线程安全版本,文件名类似php-7.4.10-Win32-vc15-x64.zip,本书解压的位置是d:\php7ts,请注意配置其中的php.ini文件。
本书以Apache 2.4为例,可以在http://httpd.apache.org/download.cgi下载所需要的文件,64位版本文件名为httpd-2.4.46-o111h-x64-vc15.zip,下载后将文件解压到d:\Apache24目录。
解压后的Apache资源中,conf目录包含一些配置文件,这里重点关注httpd.conf文件。该文件可以使用“记事本”应用程序进行编辑,下面是一些常用的配置项。
● Define SRVROOT "d:/Apache24",设置Apache的主目录。
● Listen 10002,设置侦听的端口,这里指定为10002。
● ServerName localhost:10002,指定访问服务名称。
● DocumentRoot "d:/chy/cpl/site"和<Directory "d:/chy/cpl/site">,指定PHP网站的根目录路径等相关参数。
● DirectoryIndex index.php index.html,指定网站中的默认页面文档。
下面的配置用于支持PHP 7,可以将这些内容添加到httpd.conf文件的最后。
LoadModule php7_module d:/php7ts/php7apache2_4.dll
AddType application/x-httpd-php .php .html .htm
PHPIniDir "d:/php7ts/"
此外,httpd.conf配置文件中以#符号开始的是注释内容。
Apache配置完成后,需要安装和启动Apache服务,可以使用bin目录中的httpd.exe命令和-k参数执行一系列操作,如:
● install,将Apache安装为Windows系统服务。
● uninstall,卸载Apache服务。
● start,启动Apache服务。
● restart,重启Apache服务。
● stop,停止Apache服务。
以管理员方式启动cmd.exe,然后进入d:\apache24\bin目录,下面的命令会将Apache安装为Windows系统服务。
d:\apache24\bin>httpd -k install
然后,通过下面的代码启动Apache服务。
d:\apache24\bin>httpd -k start
开发和测试过程中,也可以同时运行多个PHP网站,例如,在IIS中运行PHP 7网站,在Apache中运行PHP 8网站,网站的目录可以设置为相同的路径,这样就可以观察代码在不同PHP版本下的运行效果。