Apache 仅出现 suEXEC 错误

Apache 仅出现 suEXEC 错误

当我按照以下方式启用 suEXEC 时教程在这里,我能够让 PHP 在 cgi 模式下通过 Apache 运行,但是当我开始尝试使用 suEXEC 时,我得到了 403,并且错误日志中出现以下错误“服务器配置拒绝客户端”。 suEXEC 日志是空的。我该如何让它工作?我的最终目标是使用 suexec 运行 fastcgi,这个错误让我每次都无法成功。

httpd.conf 的相关部分:

ScriptAlias /php5-cgi /usr/bin/php-cgi
Action php5-cgi /php5-cgi
AddHandler php5-cgi .php
<Directory /usr/bin>
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost *:80>
    ServerName skylords.com
    ServerAlias  www.skylords.com en.skylords.com lt.skylords.com nl.skylords.com
    DocumentRoot /srv/http/htdocs

    SuexecUserGroup skylords skylords

    AddHandler php5-cgi .php
    ScriptAlias /php5-cgi /var/http/htdocs/cgi-bin/php-cgi
    ErrorDocument 404 /srv/http/htdocs
    ErrorLog /srv/http/logs/apache_error.log
    <Directory "/srv/http/htdocs">
        AllowOverride All
        Order allow,deny
        Allow from all
        Options Indexes +FollowSymLinks +ExecCGI
    </Directory>
</VirtualHost>

文件权限:

-rwxr-xr-x  1 skylords skylords 7207288 Apr  1 06:00 php-cgi
drwxr-xr-x  2 skylords skylords  4096 Apr  1 06:13 cgi-bin
drwxr-xr-x 17 skylords skylords      4096 Apr  1 06:19 htdocs
drwxr-xr-x 11 skylords skylords 4096 Apr  1 06:13 http
drwxr-xr-x   4 root root  4096 Apr  1 05:57 srv

答案1

您的目录和 PHP fastcgi 包装器脚本的权限是什么cgi-bin样的?根据我的经验,suEXEC 403 错误通常是因为脚本的所有者/组与目录的所有者cgi-bin或其上级目录不匹配。

编辑:好的。不确定这里发生了什么……新信息让我有点困惑 :-) 您是否尝试过LogLevel Debug在 httpd.conf 中进行设置,并检查在浏览器中尝试加载 PHP 脚本时 error_log 中出现了什么内容?

答案2

ScriptAlias /php5-cgi /var/http/htdocs/cgi-bin/php-cgi应该是ScriptAlias /php5-cgi /srv/http/htdocs/cgi-bin/php-cgi。很抱歉浪费了你的时间。

相关内容