Windows 环境下安装 Apache2+fastcgi+php(non thread safe)

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/>

你可能感兴趣的:(thread,windows,安装,blank,的)