之前也有接触过一点点Apache的东西,但那也是七八年前的事了,当时看着各种配置和枯燥的代码就没耐心继续学钻研下去,没想到若干年后又与之狭路相逢。
现在重头开始学,还是有很多不懂的地方,不过不着急,慢慢来。
关于这套工具的安装,网上已经有很多资源,我找的是这个:http://www.wikihow.com/Install-WAMP
按照步骤一步步做,先装Apache,再装mysql,再装php engine,最后装phpmyadmin。里面有若干细节处的配置,仔细跟着做的话不成问题。
结果到安装php engine的时候还是被卡住了。废话不多说进入正题。
我在这一步一共遇到了两个问题:
1. 403 Forbidden
看上去是权限问题,有几个解决方案。主要还是设置一下Apache里的httpd.conf:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
把上面的deny from all 改成 allow from all。但很明显安全系数会下降,而且关键是我这么改了没有起作用。
还有其它基础类似的地方,都可以试一下,我都试了,都不行。
最后发现问题可能出在我安错了php的版本。因为是菜鸟,根本不懂什么php不同版本之间的关系,之后搜了许多资料,大概明白了:
每一个版本的php都分为V9和V6,V9是与iis服务器配套使用的,如果是用的apache服务器,则必须用V6。
现在官网上php的最新版本是5.3.6,还没有出V6只有V9(有人说是因为没有了V9、V6的分别,但鉴于我一开始就下了5.3.6的V9结果一直forbidden,所以最后果断放弃了)。其实在官网上下载列表的旁边有一个使用版本的说明,我当时心急没仔细看结果走了大大的弯路……http://windows.php.net/download/#php-5.3-ts-VC9-x86
最后改用了php5.2.17-v6,终于没有了权限问题,但又出现了解释问题。因为运行apache服务之后,打开的php页面只显示代码!
2. php语言不被解释
网上搜了很多资料大概明白了问题出在php和apache的连接配置上,根本还是在apache的httpd.conf里面。
可以看一下http://www.php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/2010/0104/3749.html里面的视频。这里的安装与配置和之前给出的英文网站里有稍许不同,因为两个安装方法分别采用了不同的php在apache中的工作方式,参考资料如下:
php在apache中的三种工作方式:CGI模式、FastCGI模式、Apache 模块DLL
http://hi.baidu.com/webenger/blog/item/2c51590a55a3151a4bfb51af.html
但我从cgi模式改用了模块dll模式,还是解决不了我的问题。
这时候又看到了这些内容收到了启发:http://www.linuxsir.org/bbs/thread177302.html
可能是mime.types出了问题。
打开mime.types,里面果然没有application/x-httpd-php的类型和相应的后缀名。添加上去之后,仍旧显示源代码。只好又在httpd.conf里面的<IfModule mime_module>中,加了一句:AddType application/x-httpd-php .php .phtml。
结果,还是不行。
这时候又下载了wampserver,还是解决不了问题。
我在上面,没改一次apache conf就重启一次apache。最后实在没办法了,又重启了一下电脑,结果,竟然成功了。
于是,我自己也不知道,到底是改了哪里把这个问题修正好的。因为时间有限,这个问题过几天闲下来再研究一下吧。。。
3. 其它要注意的地方
使用apache服务,要把iis停用,否则二者冲突,也可能导致apache无法正常工作。