happydagui:wamp和xampp配置的都是thread safe的版本,某些应用(例如)需要开启zend load,在php 5.3以上的版本只能使用non thread safe的版本
一、安装apache2.2.8
从 http://httpd.apache.org 网站下载,很容易找到,先安装好她。
二、安装mod_fcgid.so
从 http://www.apachelounge.com/download/ 网站下载 fcgid-2.2-w32.zip ,解包,把其中的 mod_fcgid.so 放到 apache2.2.8
安装目录的 modules 文件夹下。
而http://www.fastcgi.com/dist/是fastcgi的官方网站,可以找到源代码。
三、修改 apache2.2.8 的配置文件 httpd.conf
请参照我的进行修改
<Directory "E:/Apache2.2/htdocs">
#我的 apache2.2.8 是安装在 e:/apache2.2
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
#下面这句是我添加的,允许执行CGI脚本
Options ExecCGI
</Directory>
在配置文件的末尾加入:
# FastCGI with Thread Safety disabled
LoadModule fcgid_module modules/mod_fcgid.so
<IfModule mod_fcgid.c>
AddHandler fcgid-script .php
FCGIWrapper "d:/apps/php-5.3.17-nts-Win32-VC9-x86/php-cgi.exe" .php
</IfModule>
四、安装php
从 http://www.php.net 网站下载一个 php-5.3.17-Win32-VC9-x86.zip文件,并解压缩到 d:/apps/php-5.3.17-nts-Win32-VC9-x86。
五、安装Microsoft Visual C++ 2008 Redistributable
不安装这个,程序会报错。从网上找一个吧,到处都是。
重启 apache2.2.8 ,如果没有报错,说明安装成功了。
六、用 fastcgi 运行 php 的优点,如果 php 崩溃了, apache 还可以运行。有人会说,这有什么用?你可以用 php 生成静态网页,交互部分才用 php ,网站就可以运行得更好。
后记:这样配置后,apache 可以正常运行,但是用 php 访问 mysql 时出错。后来查询到开发 fastcgi 的作者的网站,他解决了这个问题,就是在 apache 的配置文件 httpd.conf 中加入:
DefaultInitEnv PHPRC "c:/php/"
DefaultInitEnv PATH "c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"
DefaultInitEnv SystemRoot "C:/Windows"
DefaultInitEnv SystemDrive "C:"
DefaultInitEnv TEMP "C:/WINDOWS/TEMP"
DefaultInitEnv TMP "C:/WINDOWS/TEMP"
DefaultInitEnv windir "C:/WINDOWS"
不要完全照搬,请根据你的 php6 所在的目录更改,再运行 php+mysql ,正常了。非常感谢 fastcgi 作者的无私奉献。
参考: <http://huzhangsheng.blog.163.com/blog/static/3478778420083903534560/>