解决apache+fastcgi+php配置好不能访问的问题

来源:互联网 发布:天涯明月刀cpu优化 编辑:程序博客网 时间:2024/06/09 18:40

在一台服务器上部署应用,发现已有的php版本较老,直接升级又怕影响现有应用,于是决定两个版本并存,并通过fastcgi方式调用php。

安装和设置过程简要如下:

# 安装fastcgi模块yum install mod_fcgid

设置apache通过fastcgi方式调用php:

<Location /php54>    Options +ExecCGI    Require all granted    AddHandler fcgid-script .php    FcgidWrapper "/bin/php-cgi" .php</Location>

设置好后,写一个测试文件hello.php放到对应目录下:

<?phpvar_dump(PHP_SAPI);

一访问,发现无法用,症状是浏览器一直在等待服务器响应。这说明配置已经生效,而问题应该出在apache与php之间的交互上。

检查日志/var/log/httpd/error_log,果然发现有很多像这样的错误行:

[fcgid:error] [pid 21678] (13)Permission denied: mod_fcgid: couldn't bind unix domain socket /run/mod_fcgid/21678.0

查看了一下目录/run/mod_fcgid,发现创建者是root,其它用户没有写权限。于是将该目录的所有者或权限更新一下,然后就能够成功访问了:

# 改为apache使用的用户,比如www:chown -R www:www /run/mod_fcgid# 或者加读写权限:chmod 777 /run/mod_fcgid
0 0
原创粉丝点击