Apache 2.2 PHP-FPM,浏览器中禁止接收403的PHP文件

Apache 2.2 PHP-FPM,浏览器中禁止接收403的PHP文件,apache,php,centos6,http-status-code-403,mod-fastcgi,Apache,Php,Centos6,Http Status Code 403,Mod Fastcgi,我正在尝试将php从fcgid切换到fpm。我已经用谷歌搜索到了一个很好的结局,虽然有些问题看起来是一样的,但我仍然无法解决它 我正在运行CentOS 6.5、Apache 2.2和PHP5.4。我安装了mod_fastcgi和php-fpm。PHP在shell中工作,但我通过浏览器收到403个错误。显然,Apache没有正确地传递请求。安装后,我做了以下更改: 将/etc/httpd/conf.d/fcgid.conf重命名为fcgid.conf.disabled 将以下内容添加到/etc/h

我正在尝试将php从fcgid切换到fpm。我已经用谷歌搜索到了一个很好的结局,虽然有些问题看起来是一样的,但我仍然无法解决它

我正在运行CentOS 6.5、Apache 2.2和PHP5.4。我安装了mod_fastcgi和php-fpm。PHP在shell中工作,但我通过浏览器收到403个错误。显然,Apache没有正确地传递请求。安装后,我做了以下更改:

将/etc/httpd/conf.d/fcgid.conf重命名为fcgid.conf.disabled

将以下内容添加到/etc/httpd/conf.d/fastcgi.conf

<IfModule mod_fastcgi.c>
    DirectoryIndex index.html index.shtml index.cgi index.php
    AddHandler php5-fcgi .php
    Action php5-fcgi /php5-fcgi
    Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
    FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass$

    <Directory "/usr/lib/cgi-bin">
        Order allow,deny
        <Files "php5.fastcgi">
            Order deny,allow
        </Files>
    </Directory>
</IfModule>
<IfModule mod_fastcgi.c>
DirectoryIndex index.php index.html index.shtml index.cgi
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization

# For monitoring status with e.g. Munin
<LocationMatch "/(ping|status)">
    SetHandler php5-fcgi-virt
    Action php5-fcgi-virt /php5-fcgi virtual
</LocationMatch>

DirectoryIndex.html index.shtml index.cgi index.php
AddHandler php5 fcgi.php
行动php5 fcgi/php5 fcgi
别名/php5 fcgi/usr/lib/cgi-bin/php5 fcgi
FastCgiExternalServer/usr/lib/cgi-bin/php5-fcgi-host 127.0.0.1:9000-pass$
命令允许,拒绝
命令拒绝,允许
我还创建了/usr/lib/cgi-bin目录,并将其保存到apache.apache(不确定是否有必要)

我没有在任何虚拟主机声明中添加任何内容。所有其他文件都可以解析,而不是PHP


非常感谢您的帮助。谢谢。

我能够解决这个问题

/etc/php-fpm.d/www.conf

listen = /tmp/php5-fpm.sock
重新启动php fpm,然后将chown'd/tmp/php5-fpm.sock转换为apache.apache

/etc/httpd/conf.d/fastcgi.conf

<IfModule mod_fastcgi.c>
    DirectoryIndex index.html index.shtml index.cgi index.php
    AddHandler php5-fcgi .php
    Action php5-fcgi /php5-fcgi
    Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
    FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass$

    <Directory "/usr/lib/cgi-bin">
        Order allow,deny
        <Files "php5.fastcgi">
            Order deny,allow
        </Files>
    </Directory>
</IfModule>
<IfModule mod_fastcgi.c>
DirectoryIndex index.php index.html index.shtml index.cgi
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization

# For monitoring status with e.g. Munin
<LocationMatch "/(ping|status)">
    SetHandler php5-fcgi-virt
    Action php5-fcgi-virt /php5-fcgi virtual
</LocationMatch>

DirectoryIndex.php index.html index.shtml index.cgi
AddHandler php5 fcgi.php
行动php5 fcgi/php5 fcgi
别名/php5 fcgi/usr/lib/cgi-bin/php5 fcgi
FastCgiExternalServer/usr/lib/cgi-bin/php5 fcgi-socket/tmp/php5-fpm.sock-传递头授权
#用于监控状态,例如Munin
SetHandler php5 fcgi病毒
动作php5 fcgi virt/php5 fcgi虚拟


最后,将我的浏览器指向/info.php和服务器API:FPM/FastCGI

这与apache中的目录级权限有关。在授予web服务器访问web服务器的文件系统时,可能需要设置目录权限

这是您可能需要添加到httpd.conf文件中的指令

<Directory "/var/www/html">
 AllowOverride None
</Directory>

不允许超限
然后重新启动apache服务,这将解决您的问题