服务器环境:ubuntu 14.04 LTS + apache 2.4.7
在 .htaccess 文件中添加
AddHandler fcgid-script .php
Options +ExecCGI
FcgidWrapper /var/www/cgi-bin/php-fastcgi
这个文件 /var/www/cgi-bin/php-fastcgi 的内容
PHPRC=/etc/php56/
export PHPRC # php.ini directory.
export PHP_FCGI_MAX_REQUESTS=5000 # Num requests before restarting process.
export PHP_FCGI_CHILDREN=8
exec /usr/local/php56/bin/php-cgi # Call the regular PHP handler.
/usr/local/php56/bin/php-cgi -v 的结果
phpinfo 的结果
版本也没切换到理想的 php5.6 而且运行的模式好像也不是 fcgi
这是什么问题呢?
1
m939594960 OP 大神们快来帮忙看看啊
|
2
stywell 2017-06-05 17:04:24 +08:00 1
1.apache 集成 php 一般采用 apche 模块方式, 也就是在 httpd.conf 里面有一个 php 的 apche 模块! 所以首先确认已经去掉 php 模块, 并且安装正确编译的 fast-cgi 模块及其主配置!
2.虚拟主机配置段内的 AllowOverride 是设置 .htaccess 文件中的那些内容可以覆盖主配置的! 所以请安装官方文档配置该字段 3.检查.htaccess 内配置的正确性 4.以上, 不确定能解决问题, 但你可以试试... 我也是半截瓮... |
3
m939594960 OP @stywell #2 2~3 点都进行确认过了,应该是没问题的。第一点这块我想让原来的老程序走 php 的 apache 模块,新的程序(某个虚拟主机)走 fast-cgi 这种模式是可行的么?还是我当初一开始的思路就有问题
|
4
stywell 2017-06-05 18:11:59 +08:00
@m939594960
我觉得你还是, 用同一种方式比较好, 别 模块方式 和 fastCGI 方式 混用了, 更难处理! 刚才没详细看你的配置, 你的配置字段有些不对(如:FcgidWrapper)! 请参阅官方文章! 注意配置字段生效的上下文! http://httpd.apache.org/docs/2.4/zh-cn/mod/core.html#allowoverride http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html 还有, 不建议把 fast-cgi 这么重要的配置放在.htaccess 里, 太不安全! 你可以放在虚拟主机的配置段! 然后备份 apache 的 conf 的! |
5
m939594960 OP @stywell #4 放在.htaccess 只是为了方便调试,最后会调整到配置文件中,我看了下 FcgidWrapper 没发现有问题啊,我这段就是在这个手册上复制的
<Location /phpapp/> </Location> 我放在这里面也不行啊~ |