本文提供了一种在 Windows 下非常干净得安装 AMP 开发环境的方式,如果你不需要经常切换 AMP 的软件版本,或者你是个强迫症玩家,可以考虑采用这种方式。

文章末尾还附上了 phpMyAdmin 和 Xdebug 的安装方式。

起步

新建一个名为 amp 的文件夹,并新建三个子文件夹,名为 apache, mysql, php

获取 apache、mysql 和 php 的 zip 格式压缩包,并分别解压相关文件至 amp 各个文件夹中。

为这三者添加环境变量。

  • apache: D:\amp\apache\bin
  • mysql: D:\amp\mysql\bin
  • php: D:\amp\php

安装 Apache

使用文本编辑器打开 /conf/httpd.conf,编辑默认目录。

1
Define SRVROOT "d:/amp/apache"

使用管理员权限的 cmd 执行以下命令。注意: 如果执行以上命令无反应,有可能需要将名为 vcruntime140.dll 的文件拖入 C:/Windows/System32 文件夹下。

1
httpd -k install

安装 MySQL

使用管理员权限的 cmd 执行以下命令以初始化 data 目录。使用该命令,root 用户的默认密码为空。

1
mysqld --initialize-insecure --user=mysql

继续执行以下命令以安装 mysql。

1
mysqld --install

配置 MySQL

如果使用 5.7.17 及其以下版本,可以复制一份 mysql 根目录的 my_default.ini 并重命名为 my.ini

如果使用 5.7.18 及其以上版本,需要手动在 mysql 根目录新建一个 my.ini 文件,并在管理员权限的 cmd 中执行以下命令以设置 mysql 的配置文件路径。

1
mysqld --default-files="d:/amp/mysql/my.ini"

5.7.18 以上版本 (可能) 需要安装运行库:Microsoft Visual C++ 2013 Redistributable Package (MSVCR120.dll)。下载地址为

https://www.microsoft.com/en-hk/download/details.aspx?id=40784

设置字符编码。注意需要保持 [mysqld] 一项在最下方。

1
2
3
4
5
6
7
8
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8

设置完毕后需要重启 cmd 并重新登录方可查看编码的更新。查看 MySQL 整体编码命令:

1
SHOW VARIABLES LIKE 'character%';

修改 mysql 的 root 用户密码。登陆 mysql,运行以下指令。('') 之间的是新密码。

1
SET PASSWORD FOR 'root'@'localhost'=PASSWORD('');

Apache 加载 PHP

创建 php 的配置文件。在 php 目录下找到 php.ini-development,复制一份并重命名为 php.ini

加载 php 模块。打开 apache 的配置文件 httpd.conf,在模块部分根据自己的 php 版本插入以下内容。

1
2
LoadModule php5_module "d:/amp/php/php5apache2_4.dll"
LoadModule php7_module "d:/amp/php/php7apache2_4.dll"

为 php 模块分配任务。在上面的命令下发插入以上命令。

1
AddType application/x-httpd-php .php .html

引入 php 的配置文件。在 httpd.conf 中搜索并插入 php.ini 的路径。

1
PHPIniDir "d:/amp/php/"

修改 php 默认时区。在 php 的配置文件 php.ini 中搜索并修改 date.timezonePRC。注意,需要去掉语句前的注释符号 (分号)。

1
date.timezone = PRC

Apache 加载 vhosts 配置文件

打开 http.conf 文件,搜索并取消注释:

1
Include conf/extra/httpd-vhosts.conf

PHP 链接 MySQL

将 php 配置成 mysql 的客户端。在 php.ini 中搜索并设置 extension=php_mysql.dll,取消其注释。

告知 php 在哪个目录下能找到 php 的扩展文件。在 php.ini 中搜索并设置 php 扩展的绝对路径。例如:

1
extension_dir = "d:/amp/php/ext"

安装 phpMyAdmin

  • 解压文件至 /apache/htdosc 目录 (或将其解压至其他虚拟目录)
  • 更改文件名为 phpmyadmin
  • 复制 libraries/config.default 文件至 phpmyadmin 主目录,并更名为 config.inc
  • 搜索并取消 php.ini 中的 extension=php_mbstring.dll4.23
  • 设置 config.inc 和 config.sample.inc 中的 $cfg['blowfish_secret'] 为 32 位以上的字符
  • 访问 localhost/phpmyadmin/index.php

安装 Xdebug

1
2
3
4
5
6
7
8
[Xdebug]
zend_extension="D:/amp/php/ext/php_xdebug.dll"
xdebug.auto_trace=1
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.trace_output_dir="D:/amp/_xdebug/trace"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="D:/amp/_xdebug/profiler"