2

原文链接: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_mysqliphp_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服务就配置完成了,并且即使没有用户登陆至系统的情况下也可以使用,怎么样,很不错吧?


samsara0511
932 声望729 粉丝