工作需要,得配一个 apache+php 的本地环境,选用的是 apache2.4 和 php5.6
apache 配置
- 打开 conf/httpd.conf 文件,找到如下内容并去掉第二行的#号:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
意思是让 httpd.conf 文件包含 httpd-vhosts.conf 这个配置文件 - 将 *ServerName :80 注释掉 。在 httpd-vhosts.conf 文件中会配置。
- 将 DocumentRoot "${SRVROOT}/htdocs" 注释掉。在 httpd-vhosts.conf 文件中会配置。
- 将 <Directory "${SRVROOT}/htdocs">......</Directory> 标签和其内部的选项都注释掉。即:
# <Directory "${SRVROOT}/htdocs">
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
# </Directory> - 打开 conf/extra/httpd-vhosts.conf 文件,注释掉以下内容:
# <VirtualHost default:80>
# DocumentRoot "${SRVROOT}/htdocs"
# ServerName www.example.com:80
# </VirtualHost>
然后在最下面添加以下配置:
<VirtualHost *:80>
ServerAdmin admin@test.cc
DocumentRoot "d:/www"
ServerName test.cc
DirectoryIndex index.html index.htm index.php
ErrorLog "logs/test.cc-error.log"
CustomLog "logs/test.cc-access.log" common
# apache2.4下必须加目录权限的设置:
<Directory "d:/www">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted # 需注意,这段是apache2.4中的关键,与2.2不同
</Directory>
</VirtualHost>
注: VirtualHost 是有顺序的,排在最前的是我们默认的网站域名。如果没有注释掉 httpd.conf 中的 DocumentRoot 和 ServerName,那么第一个虚拟主机的这两个配置都必须与 httpd.conf 中的一样,包括端口。所以建议注释掉 httpd.conf 中的标签。 - 配置完成保存后重启 apache 即可
php配置
- 把下载好的文件解压在 php 目录,
- 在apache配置文件(conf/httpd.conf)中最后加上以下代码:
# php5 support
LoadModule php5_module "d:/webserver/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "d:/webserver/php/"
注意: LoadModule 的路径文件必须存在,如果在 php 目录没有这个文件,说明下载的 php 文件不对,请确保下载的是 VC11 x86 Thread Safe 或 VC11 x64 Thread Safe 版本 - 修改 php 配置文件(php.ini),将根目录下的 php.ini-development 改为 php.ini 作为配置文件即可
- 开启相应的库,只需要去除前面的分号(注释)即可
extension = php_curl.dll
extension = php_gd2.dll
extension = php_mbstring.dll
extension = php_mysql.dll
extension = php_xmlrpc.dll - 设置相应的时区
date.timezone = Asia/Shanghai - 配置完成,重启apache使其生效,在根目录新建一个 index.php 文件,并输入以下内容
<?php
phpinfo();
?> - 在浏览器中输入 http://localhost 查看