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

在一台服务器上部署应用,发现已有的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放到对应目录下:

<?php

var_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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值