在 Windows 下安装、配置 Apache 2.4 和 PHP 7

最近在调研 H5 性能测试,接触到 WebPageTest。由于搭建 WebPageTest 私有实例需要 Windows 环境的测试 Agent,于是琢磨着干脆服务端也部署在 Windows 上。WebPageTest 是 PHP 编写的,因此要搭建 Apache + PHP 环境,这里以 Apache 2.4 和 PHP 7 为例,简单讲一下 Windows 部署 Apache + PHP。

注:下文使用 Windows 10。

安装 Apache 2.4

安装 Visual C++ Redistributable for Visual Studio 2015

下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=48145

下载后安装即可。

下载 Apache

Apache 官网:https://httpd.apache.org/

由于官网不提供编译好的安装文件,因此在https://httpd.apache.org/docs/current/platform/windows.html#down页面列出了几个提供编译好安装文件的源,这里建议使用 Apache Lounge。

下载地址:https://www.apachelounge.com/download/

下载文件名为httpd-2.4.x-win64-VC14.zip的文件。

配置 Apache

在D盘新建文件夹,名为wamp

解压下载好的 Apache 文件得到Apache24文件夹,将其放到D:\wamp下,即D:\wamp\Apache24

修改 Apache 配置文件,路径为D:\wamp\Apache24\conf\httpd.conf,修改如下内容:

  • 37行左右,修改ServerRoot "c:/Apache24"ServerRoot "D:/wamp/Apache24"
  • 245行左右,修改DocumentRoot "c:/Apache24/htdocs"DocumentRoot "D:/wamp/www"
  • 246行左右,修改<Directory "c:/Apache24/htdocs"><Directory "D:/wamp/www">
  • 362行左右,修改ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"ScriptAlias /cgi-bin/ "D:/wamp/Apache24/cgi-bin/"
  • 378行左右,修改<Directory "c:/Apache24/cgi-bin"><Directory "D:/wamp/Apache24/cgi-bin">

主要修改内容是将默认配置的 Apache 路径从c:/Apache24改成实际路径,这里统一以D:/wamp/Apache24为准。

注意:Windows 正确的路径格式使用的是“\”,但这里需要使用“/”。

启动 Apache

  1. 将 Apache 路径D:\wamp\Apache24添加到系统 Path 中。
  2. 创建路径D:\wamp\www,并创建index.html文件,内容随意,如<p>Hello<p>
  3. 通过管理员身份打开CMD,输入httpd -k install安装 Windows 服务。
  4. 继续在CMD中输入httpd -k start启动 Apache。
  5. 打开浏览器,输入localhost,显示“Hello”(即第2步的index.html)说明 Apache 启动成功。

安装 PHP 7

下载 PHP

下载地址:http://windows.php.net/download/

下载 VC14 x64 Thread Safe 版本。

解压 PHP

将下载好的 PHP 文件解压到D:\wamp\php7下。

配置 PHP

将 PHP 路径D:\wamp\php7添加到系统 Path 中。

复制D:\wamp\php7\php.ini-development并重命名为php.ini,修改如下内容:

  • 738行左右,修改; extension_dir = "ext"extension_dir = "D:/wamp/php7/ext"
  • 892行左右,将需要的扩展; extension前的“;”去掉

这里列出了部分可能会用到的扩展:

1
2
3
4
5
6
7
8
9
10
11
extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_ftp.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_intl.dll
extension=php_imap.dll
extension=php_openssl.dll
extension=php_sqlite3.dll

由于后续 WebPageTest 的需要,这里还需要下载 APC:http://pecl.php.net/package/APCu

将下载得到的php_apcu.dll放到D:\wamp\php7\ext下,然后在D:\wamp\php7\php.ini中添加:

1
extension=php_apcu.dll

Apache 支持 PHP

添加 PHP 模块

在 Apache 配置文件D:\wamp\Apache24\conf\httpd.conf的180行左右(即一堆#LoadModule xxx后)添加:

1
2
PHPIniDir "D:/wamp/php7"
LoadModule php7_module "D:/wamp/php7/php7apache2_4.dll"

添加 PHP 文件后缀

在 Apache 配置文件D:\wamp\Apache24\conf\httpd.conf的393行左右,即:

1
2
3
4
<IfModule mime_module>
TypesConfig conf/mime.types
....
</IfModule>

之间,添加AddType application/x-httpd-php .php。即:

1
2
3
4
5
<IfModule mime_module>
TypesConfig conf/mime.types
....
AddType application/x-httpd-php .php
</IfModule>

添加主页 index.php

在 Apache 配置文件D:\wamp\Apache24\conf\httpd.conf的278行左右,即:

1
2
3
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

中,在index.html前添加index.php。即:

1
2
3
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>

测试效果

D:\wamp\www下创建“index.php”,代码为:

1
2
3
<?php
phpinfo();
?>

重启 Apache(管理员身份运行CMD,输入httpd -k restart),浏览器访问localhost看到下图即为配置成功:

如果你喜欢我的文章,欢迎打赏。