准备工作
首先自然是下载软件,然后该解压的解压(注意要非中文目录,这里的软件目录以均以C:\Program Files为例),该安装的安装(MySQL的安装会有许多选项,英文好的看着按自己需要勾勾填填就行了,实在不行的参考这里,虽然版本比较旧,不过配置选项大致还是差不多的)。
下面是几个软件的简单介绍和下载地址:
Apache
Apache是世界使用排名第一的Web服务器软件,我们这里用它来搭建一个本地的Web服务器,它会侦听http请求,将本地的Web数据发送给浏览器,简单的来说就是搭建Apache之后,我们就可以通过浏览器来访问本地的网站。
下载地址:httpd-2.4.4-win32.zip(更多版本)
PHP
既然有了Web服务器,为何还要PHP这东西呢?因为Web服务器只是用来响应浏览器请求,并不具备解析PHP文件的功能,因此还需要PHP来进行解析。
下载地址:php-5.4.12-Win32-VC9-x86.zip(更多版本)
MySQL
MySQL是一个关系型数据库管理系统,跟PHP就是绝配,因为它们都快速,功能强大,更重要的是它们都免费(O(∩_∩)O~)。
下载地址:mysql-installer-community-5.6.10.1.msi(更多版本)
phpMyAdmin
phpMyAdmin严格来说不算一个软件,也不是WAMP环境的其中一个,但它在PHP开发过程中却几乎是必不可少的。phpMyAdmin是一个用PHP编写的MySQL可视化管理工具,因此它不需要安装或配置,直接将它解压到你的默认网站目录即可(补充说明)。
下载地址:phpMyAdmin-3.5.7-all-languages.zip(更多版本)
配置PHP
你可能会觉得奇怪,为什么我把PHP的配置放在前面来讲,而把Apache放到后面?因为我们需要将两者结合起来,而结合的过程便是在Apache的配置文件中进行修改的,若先配置Apache,那么配置完PHP之后又必须继续回头配置Apache。
PHP的配置文件是根目录下的php.ini,但你会发现,在目录下会有两个文件,一个是development,一个是production,顾名思义,前者是开发测试使用,后者是上线产品使用的,安全系数较高。我在本地自然是只做开发测试的,于是选择php.ini-development文件,将其改成php.ini并打开,下面PHP的配置步骤都是在其中进行的。
配置一下扩展库路径:
找到; extension_dir = "ext"(约730行),将前面的分号去掉,并将其值改为PHP的扩展库文件目录,如:extension_dir = "C:/Program Files/PHP/ext",这里的目录是由你的PHP所在路径确定的,记得后面加上ext。
配置PHP+MySQL
这里的配置同样在php.ini中进行:
PHP默认是没有支持MySQL的,因此我们要将MySQL的扩展库开启,将这两行前面的分号去掉即可:
;extension=php_mysql.dll
;extension=php_mysqli.dll
其它扩展库同样也可以根据需要去掉前面的分号将其引入,我这里开启了php_curl和php_mbstring。
配置Apache+PHP
Apache的配置文件则是conf目录下的httpd.conf文件,将其打开:
首先找到ServerName(约213行),将其设置为localhost:80,并将前面的井号删除,虽然这一步如果不修改的话也可以正常运行,但启动Apache服务时会有一条烦人的提示(AH00558: httpd.exe: Could not reliably determine the server's fully qualified do main name, using fe80::fc76:abca:e24b:d490. Set the 'ServerName' directive globally to suppress this message),洁癖者还是改一下吧。
然后设置一下Apache的目录,将文件中的c:/Apache24全部替换成Apache所在目录,如:C:/Program Files/Apache
修改默认网站目录地址(约237行),找到
将其路径替换为你想要设置的默认网站目录,默认网站目录是指你以后进行开发调试时网站文件所存放的目录,当Apache接收到浏览器请求时,便会从该目录里将对应的文件进行读取,执行并发送到浏览器,这里以F:/Websites为例(同样必须是非中文目录):
DocumentRoot"F:/Websites"
<Directory"F:/Websites">
DocumentRoot"C:/Program Files/Apache/htdocs"
<Directory"C:/Program Files/Apache/htdocs">
在(约171行)
下加入如下两行以支持PHP:
这里的路径对应你的PHP目录。
LoadModule php5_module "C:/Program Files/PHP/php5apache2_4.dll"
PHPIniDir"C:/Program Files/PHP"
#LoadModule xml2enc_module modules/mod_xml2enc.so
添加默认主页,当Apache接收到不带有文件名的http请求时,会自动搜寻目录下的默认主页,这样就不需要浏览者每次访问网站都必须加上文件名了(如访问http://www.clanfei.com/时,便会自动显示出http://www.clanfei.com/index.php的内容),找到:
(约274行)将其改为
这里的排序前面的权限较后面的高,也就是说当目录下同时存在index.html和index.php时,将index.html作为默认主页显示,而非index.php。
DirectoryIndex index.html index.php
DirectoryIndex index.html
添加对php文件类型的支持,找到:
(约402行),在下面添加:
AddType application/x-httpd-php .php
AddType application/x-gzip .gz .tgz
运行与测试
以上便是WAMP环境的配置过程了,接下来启动服务并测试配置成果:
首先按Win+R打开运行窗口,输入CMD,然后输入(引号内由Apache路径决定):
"C:\Program Files\Apache\bin\httpd.exe"-k install
安装服务,安装完服务后以后就不必重新安装了,接着输入:
"C:\Program Files\Apache\bin\httpd.exe"-k start
启动服务以后开机便会自动启动服务,除非使用stop参数停止了服务,才需要重新运行上面的命令。
在-k后面的参数可以为install(安装),uninstall(卸载),start(启动),stop(停止),restart(重启)等。
当然,在Apache的bin目录下,有一个ApacheMonitor.exe文件可以可视化地完成这些功能,可以为它创建一个快捷方式或直接将其设为开机启动项,就可以更方便地管理Apache服务了。
测试的方法很简单,在默认网站目录下(根据上面配置的路径,我这里为F:/Websites),新建一个文本文件并改名为index.php,输入一下代码:
<?php
phpinfo();
如果打开的是一个关于的PHP环境信息的网页的话,说明Apache+PHP配置成功了,按住Ctrl+F,搜索一下mysql,如果存在以该名字为标题(注意不是mysqlnd)的表格的话,说明MySQL也配置成功了。
补充说明
如果你的80端口被占用(如果你安装过IIS等其它网站服务器程序),则需要重新更改一下Apache所监听的端口号,找到Listen 80(约58行),将80改为你想设置的端口号,如8080等,那么你在调试本地PHP程序的时候就应该在浏览器地址栏里输入http://localhost:8080,因为http协议的默认端口号是80,你需要告诉浏览器新的端口号,浏览器才会正确地通过新端口来向Apache请求数据。
MySQL默认的管理工具只是一个黑乎乎的命令行窗口,使用起来多有不便,我们可以下载一个phpMyAdmin作为可视化的MySQL管理工具,解压到默认网站目录下并把文件夹名称改为phpMyAdmin,便可以在浏览器中输入http://localhost/phpMyAdmin访问了。
若需要开启rewrite/伪静态功能,可参考我的文章Apache开启rewrite实现伪静态
附言
有很多人嫌WAMP环境配置麻烦,直接下载WampServer来作为PHP开发环境,但毕竟WampServer集成的软件不是最新版本,而且更重要的是作为一个Geek,怎能不具有一点专研的精神呢?而且下学期我们就要学PHP了,也顺便把配置过程重新温习一遍写出来与大家分享,如果有什么疏漏之处,请多多指教!