原文链接:How to manually install Apache, PHP and MySQL on Windows?
另一篇相似文章:Manually Install Apache, PHP, MySQL Server and Composer on Windows,内容较少,但是日期较新,也有少量不同的内容可供参考。
部分设置方法原文中并没有,是在解决其它问题时补充到此文中的。
Apache
软件安装
可以去Apache Lounge下载,一方面要考虑Windows是32位还是64位,另一方面还要考虑所用模块的版本,如果只有32位的,就只好下载32位的Apache了。下载后的文件解压到某个目录即可,如C:\Apache24\bin
。
软件运行
Win+R
弹出运行窗口,输入cmd
运行命令行程序,将当前目录改为Apache的目录C:\Apache24\bin
,然后运行httpd.exe
,一般来说不会输出错误信息。
常见问题
如果错误对话框提示缺少MSVCR110.dll
,就需要下载Visual C++ Redistributable for Visual Studio 2012,当然了,这里也需要按照Windows当前版本来选择安装32位还是64位的程序。
如果提示无法绑定到80端口的错误,就说明该端口目前已被其它程序占用,要么关闭占用了80端口的程序,要么修改Apache文件夹中,conf目录下的httpd.conf
文件(后文提到Apache的配置文件均指此文件),将第46行Listen
字段及第173行ServerName
字段的端口号更改一下,比如改为88,然后Apache应该就可以正常启动了。
自己在安装的过程中就遇到了80端口被占用的情况,后来看到80端口被system(pid=4)占用的解决方法这篇文章,按照里面的方法停止了“SQL Server Reporting Services (MSSQLSERVER)”这个服务,80端口就被释放了,终于不用每次输入网址的时候都要在localhost
后面加上:88
了。
如果有Could not reliably determine the server's fully qualified domain name
之类的错误提示,可以先忽略。
接下来,在浏览器中访问地址http://localhost
,如果页面中显示It works!
,则说明Apache已正常启动。按下Ctrl+C
,退出Apache即可。
对于前面忽略过的fully qualified domain name
这个错误提示,修改配置文件中第173行ServerName
字段的主机名即可,可以改为指定的主机名,或者localhost
。
如果只允许从本地访问,Apache 2.4版本对相关命令做了更改,用一句Require local
就可以了。
最后,如果希望系统启动后自动运行Apache服务(即使无用户登陆),那么需要在以管理员权限运行的命令控制台中输入httpd.exe -k install
,这样就能让其以服务的形式随操作系统启动了。
限制权限
如果希望能够仅从本机访问Apache,在配置文件中查找<Directory "c:/Apache24/htdocs">
字段块,在该字段块的最后应该有一行Require all granted
,表示对于该服务器的访问无限制,将这一行改为Require local
,就只能从本机访问Apache了。
还有一个安全性更高的方法,就是将Apache仅绑定在环回接口(loopback interface)上,修改第46行的Listen
字段如下:
Listen 127.0.0.1:80
Listen [::1]:80
第一行不言自明,第二行是第一行的IPV6版本,中括号用于将地址和端口号分隔开。
保存配置文件,如果Apache服务已经在运行中,就重启服务,这样上面的设置就能生效了。
PHP
软件安装
建议安装前先阅读一遍official PHP documentation。
在官方网站下载最新版的PHP-PHP for Windows download page,选择thread-safe版本,并且要与本机操作系统版本相匹配。
在硬盘根目录新建一个PHP
文件夹,并将下载的PHP解压到该目录中,解压后该目录中应该有一个ext
文件夹,说明安装正常。
根据自己的需求,将根目录中的php.ini-production
或者php.ini-development
文件重命名为php.ini
。
编辑php.ini
(下文均以配置文件代表此文件),将extension_dir = "ext"
字段改为extension_dir = "d:\Code\Projects\WAMP\php\ext"
,注意斜杠的方向。
编辑Apache的配置文件httpd.conf
,在LoadModule
字段块的最后,加上下面一段代码:
LoadModule php5_module C:/PHP/php5apache2_4.dll
<IfModule php5_module>
DirectoryIndex index.html index.php
AddHandler application/x-httpd-php .php
PHPIniDir "C:/PHP"
</IfModule>
然后用上面提到的命令行的方式运行Apache,如果未提示错误,则说明上面的PHP配置生效了。
如果想测试PHP是否已正常安装,可新建一个info.php
文件,里面只写一行内容<?php phpinfo();
,然后在浏览器中访问http://localhost/info.php
,如果能显示一个很长的关于系统及PHP信息的页面,则说明安装正常。
接下来中止命令行窗口中的Apache进程,启动Apache服务即可,因为后续的内容不再需要和Apache交互了。
Composer(可选)
Composer是PHP的包管理器,需要先开启了PHP的OpenSSL插件才能使用Composer,编辑PHP配置文件,查找php_openssl.dll
字符串,将其所在行取消注释。
在Download Composer页面中下载Composer,按照提示安装,记得选择PHP目录及主程序。
安装完成后,新建命令行窗口(因为需要读取Composer安装程序在环境变量PATH
新增的值),通过composer
即可调用该程序了。
PHP MySQL 插件
如果需要在PHP中访问MySQL数据库,需要在PHP配置文件中将php_mysqli
和php_pdo_mysql
这两个字段所在的行取消注释,然后就可以通过mysqli或者PDO来访问MySQL的数据库了。
MySQL
在官网的下载页面MySQL Installer download page下载MySQL的在线安装程序,该程序会自动安装与当前操作系统版本相匹配的MySQL。
如果是用于开发,则建议选择Developer defalut
,会安装原生的GUI客户端MySQL Workbench,这样就不用安装其它基于Web的工具了,比如PHPMyAdmin。
安装完成后,需要做一些基本的设置,如果不需要从其它机器上访问本机的数据库,那么建议禁用Open firewall port for network access
这个选项。
然后就是设置root用户的密码,如果只是用于开发,并且防火墙禁用了外部连接,那么其实没必要设置强密码,选一个自己容易记住的密码就行。
最后,还可以禁用MySQL Notifier的开机自启动。
好了,一个功能完善的WAMP服务就配置完成了,并且即使没有用户登陆至系统的情况下也可以使用,怎么样,很不错吧?
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。