首页 > Web服务器端技术, 电子商务, 网络安全 > Windows下AMP平台配置FastCGI方法(以xampp为基础)

Windows下AMP平台配置FastCGI方法(以xampp为基础)

2009年2月13日

一、配置Apache部分。

配置httpd.conf文件
在根配置节加入:

LoadModule fcgid_module modules/mod_fcgid.so
DefaultInitEnv PHPRC "D:/xampp/php/"
DefaultInitEnv PATH "D:/xampp/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"
AddHandler fcgid-script .php

其中“D:/xampp/php”为你的PHP所在目录。

在网站配置节中加入

FCGIWrapper "D:/xampp/php/php-cgi.exe" .php

二、配置PHP部分。

复制xampp/apache/bin/php.ini到xampp/php目录替换

三、配置应用程序部分。

以ThinkPHP框架为例
原.htaccess文件的:

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

改为

RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]

四、常见错误处理

连接MYSQL时出现Can’t create TCP/IP socket (10106)

检查httpd.conf文件中

DefaultInitEnv PHPRC "D:/xampp/php/"
DefaultInitEnv PATH "D:/xampp/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"

保证里面的目录信息都是正确的就可以

.htaccess 中Rewrite规则有问题

Fastcgi模式下,不支持rewrite的目标网址的PATH_INFO的解析,例如

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

转向的目标地址是index.php/Module/Action,则fastcgi会当作实际的目录查找而并非解析index.php文件,所以要根据程序支持将其修改为类似
RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]


以下内容在2009-2-14 补充


如果发现PhpMyAdmin访问不了,可以打开xampp/apache/conf/extra/httpd-xampp.conf文件,在

<Directory "D:/xampp/phpMyAdmin">

一节中加入

<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>

相关内容

hanguofeng Web服务器端技术, 电子商务, 网络安全 , ,

  1. 目前还没有任何评论.
  1. 目前还没有任何 trackbacks 和 pingbacks.