【发布时间】:2012-08-13 02:46:24
【问题描述】:
我刚刚安装了一个新的 Apache 2.4.2,在 windows 上构建了 Php fast cgi。
然后我修改了 httpd.conf 添加以下内容:
LoadModule fcgid_module modules/mod_fcgid.so
FcgidInitialEnv PHPRC "C:/SITE/PHP"
AddHandler fcgid-script .php
FcgidWrapper "C:/SITE/PHP/php-cgi.exe" .php
DocumentRoot "C:/SITE/localhost/www"
<Directory "C:/SITE/localhost/www">
Order allow,deny
Allow from all
</Directory>
但是,当我尝试打开我的网站时,它显示:
Forbidden You don't have permission to access / on this server.
任何想法可能是什么问题?
【问题讨论】:
-
index.php的权限是什么?
-
好吧,老实说,我不知道。上面的行不是应该允许所有文件吗?对于向服务器发出的任何请求,我都会得到相同的答复:例如
http://127.0.0.1/asdasdasd- 结果相同。 -
否...允许/拒绝是 apache 是否向客户端提供资源的指令 - 但 apache 仍需要访问权限才能读取文件。将 apache 视为您计算机上的用户...如果您不授予它访问文件的权限,那么它就无法为它们提供服务。
-
啊哈,我现在明白了。我想知道,我怎样才能给 apache 足够的权限呢?它是否受到某些配置或 Windows 本身的限制?有没有办法找出/解决这个问题?我会很感激一些建议。
-
嗯,马上想到的一点是您的
<Directory>部分至少缺少一个关键指令——您需要在其中添加一个Options ExecCGI指令。您还应该添加一个显式的AllowOverride all(或none)指令。Order和Allow也已弃用 - 如果您使用 2.4.x,则应使用 mod_authz_host 提供的新Require指令
标签: php apache permissions httpd.conf