php脚本403禁止错误

时间:2009-08-19 13:57:26

标签: php permissions webserver ownership

我有一个脚本给我错误403 Forbidden error,它只是另一个脚本的副本,但不同之处在于它们都使用另一个mysql类来访问数据库。

我的整个项目已经完成,这是最后一个文件,因此我不想再为单个文件完成整个工作。

服务器日志显示客户端被服务器配置拒绝:

我应该寻找什么?

我尝试了以下内容:

  • 权限为644
  • 只有简单回声的新文件也提供了403
  • 更改了文件夹名称

但是,index.php效果很好。

3 个答案:

答案 0 :(得分:13)

检查文件的权限以及 所有权 。通常,403表示Web服务器无权读取文件,因此无法继续请求。可以正确设置权限,但该文件可能由服务器上的另一个帐户拥有 - 该帐户不是与运行服务器的帐户属于同一组的帐户。

例如,我相信* Apache默认运行在httpd用户帐户下,该帐户是httpd组的一部分。但是,您登录的FTP用户(例如ftpuser)可能不属于httpd组。因此,在复制您使用其他用户帐户创建的文件时,Apache将无法通过644获得执行权限。

*自从我使用了apache以来已经有一段时间了,但在nginx下它是类似的。

答案 1 :(得分:5)

如果您在.htaccess文件中拒绝了所有内容,则会出现此问题。更改可以解决问题。

答案 2 :(得分:0)

我有同样的问题。我的根文件夹中的.htaccess文件具有以下代码:

<Files ~ "\.(php|php5|py|jsp|cgi|sh)$">
    Require all denied
</Files>

但是有一个文件夹/example,我需要在其中调用php文件,因此我在该特定文件夹中创建了一个.htaccess文件,内容如下:

<Files ~ "\.(php)$">
    Require all granted
</Files>

注意:我正在运行Apache 2.4