试了几次用.htaccess来做的,都没成功,这次使用apache自己的配置文件来做,成功!
1.打开httpd.conf 注释掉以下类似配置
#LoadModule php5_module “D:/php53/php5apache2_2.dll”
#PHPIniDir “D:/php53/”
#Include conf/extra/httpd-php-sapi52.conf
2.增加配置(尾部或中部即可)
#加载fcgid扩展模块(额外说明,fcgid根据实际apache版本对应,apache2版本测试2.3.6正常)
LoadModule fcgid_module modules/mod_fcgid.so
#添加映射
AddHandler fcgid-script .fcgi .php
# 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
#php-cgi每个进程的最大请求数
FcgidMaxRequestsPerProcess 1000
#php-cgi最大的进程数
FcgidMaxProcesses 3
#最大执行时间
FcgidIOTimeout 120
FcgidIdleTimeout 120
AddType application/x-httpd-php .php
#——这里是默认虚拟主机配置
#php.ini的存放目录
FcgidInitialEnv PHPRC “D:/php5.4.4/”
#php-cgi的路径
FcgidWrapper “D:/php5.4.4/php-cgi.exe” .php
3.修改添加执行权限(如若不然,可能会提示HTTP错误,禁止访问403)没问题就不需要添加,此节点可以添加在httpd.conf中也可以添加到vhost.conf的VirualHost节点内部;
ExecCGI 为附加值
Options FollowSymLinks ExecCGI
AllowOverride None
Order deny,allow
Deny from all
4. 虚拟主机文件配置 vhost.conf(每个虚拟主机独立的配置段中只需要更改其配置版本路径即可,以下配置为PHP5.3.1虚拟主机配置),支持此文件,需要在httpd.conf中添加Include
DocumentRoot “D:/WEB/apihost/wwwroot/”
ServerName “apihost”
ServerAlias www.apihost.com api.apihost.com
FcgidInitialEnv PHPRC “D:/php5.3.1/”
FcgidWrapper “D:/php5.3.1/php-cgi.exe” .php
ErrorLog “D:/WEB/apihost/log/error.log”
CustomLog “D:/WEB/apihost/log/access.log” common
重启Apache完工!