在Apache web服务器上发布PHP项目之前,需要进行相应的配置,服务器才能解析php文本,正常显示php动态页面内容。在进行php配置之前默认已经在Windows系统下安装好了Apache服务器,且服务器能够正常运行,即发布的静态html页面能够通过IP地址或域名进行访问。在Windows下安装配置Apache,可参考:Windows下安装Apache服务器。
1.PHP下载
进入php下载页面http://php.net/downloads.php,选择需要下载的版本,点击Windows downloads,进入下载页面,下载thread safe 版本(注:thread safe搭配Apache服务器,non thread safe搭配IIS服务器),下载完成是一个zip压缩文件。
2.PHP配置
解压缩文件夹,进入php根目录,复制一份php.ini-development到根目录,复制的目的是备份,并将副本名称改为php.ini。
用记事本打开php.ini,按Ctrl+F键,查找extension_dir,将extension_dir的值改为php根目录下ext的绝对路径,例如: extension_dir = "C:Program Filesphp-7.0.8-Win32-VC14-x86ext" ,注意要将extension_dir前面的分号去掉(图2.1)。
图2.1
用同样方式找到"extension"参数,类似 ;extension=php_pdo_mysql.dll ,根据自身项目需求修改该参数值,例如需要使php支持MySQL,则需要将 ;extension=php_mysqli.dll 和;extension=php_pdo_mysql.dll前面的分号去掉(图2.2)。
图2.2
配置时区,找到date.timezone参数,将其值改为PRC(表示为中国的标准时间),并去除参数前面的分号。
图2.3
3.配置环境变量
右击“计算机”》属性》更改设置》高级》环境变量,在系统环境变量中找到path,往里面添加php根目录的绝对路径和php根目录下ext文件夹的绝对路径,保存设置。注意是在环境变量值后面追加(图2.4),保存设置。
图3.1
4.配置Apache
php文本表示的为动态网页,需要对Apache服务器进行配置才能使其按照一定的规则解析.php文件,然后将解析之后的内容发送至客户端浏览器,显示我们希望看到的内容,否则浏览器中显示的为.php文件的php代码。
在Apache根目录下的conf文件夹中找到httpd.conf文件并有记事本打开,在文件里面任意位置添加以下三条属性(图4.1),注意属性值应根据自身系统php所在目录进行更改。使Apache能够加载php模块并解析php文件。
LoadModule php7_module "C:Program Filesphp-7.0.8-Win32-VC14-x86php7apache2_4.dll" PHPIniDir "C:Program Filesphp-7.0.8-Win32-VC14-x86" AddType application/x-httpd-php .php .html .htm
图4.1
同样,在httpd.conf文件中找到<IfModule dit_module>标签里面的DirectoryIndex,在其后面增加index.php(图4.2),使index.php能够作为默认文档。即输入IP地址即可自动优先显示index.php的解析内容。
图4.2
5.部署一个最简单的php项目
在系统中的任意位置目录下新建一个index.php文本文件,在里面输入以下内容,保存。该文件作为我们项目的首页,也是整个项目唯一一个页面O(∩_∩)O~~。
<?php phpinfo(); ?>
打开Apache根目录下conf文件夹中的httpd.conf文件,找到DocumentRoot 和Directory属性,将这两个的值改为我们的项目目录所在的路径,保存。例如,项目所在文件夹为C:myapp,文件夹中有文件index.php,则值应改为如下形式(图4.3),保存文件。
DocumentRoot "C:/myapp" <Directory "C:/myapp">
图4.3
重新启动Apache服务器,在浏览器中输入PC机的IP地址和端口号(本人主机IP地址为***.***.***.28,端口号为88),如果可以显示类似如下页面(图4.4),那么表示基于Windows操作系统Apache服务器配置php基本成功。若浏览器中显示的为php代码,则表示配置失败,即php文件没有成功得到解析,需要查找原因。
图4.4