我正在尝试在 Apache 2.4、Debian jessie、x64 上配置 php 和 mod_spdy。我已经按照本指南并按照其他指南配置了 Apache并安装了这些软件包:
libapache2-mod-fcgid
php-cgi
php5-fpm
我现在遇到了 php 应用程序的问题:当我尝试打开它们时,我得到了 403 Forbidden。这是我的 /etc/apache2/conf-enabled/fcgid.conf
<Location />
AddHandler fcgid-script .php
Options +ExecCGI
FcgidWrapper /usr/bin/php-cgi .php
</Location>
我在 /var/log/apache2/error.log 中得到的错误
AH01630: client denied by server configuration: /usr/lib/cgi-bin/php5
我试过添加
Order allow,deny
Allow from all
到 PHP 应用程序 VirtualHost 中,但结果是一样的。为什么我得到403?
403 错误消息具有误导性,但正确。查看 /etc/apache2/conf-enabled/serve-cgi-bin.conf 我有:
遵循代码流,仅当启用了 mod_cgi 和/或 mod_cgid 时,才会执行 /usr/lib/cgi-bin 上的“要求所有授权”。在我的情况下,它们都被禁用(因为它们在 Debian 中默认被禁用)。
解决了这个问题。
403 通常是因为缺少 ScriptAlias 行。例如,如果 Location 是“/”并且服务器的 root 是 /var/my-www/,则将其放在指令之前: