每个请求都拒绝PHP / Apache sh错误权限

时间:2012-02-02 14:50:33

标签: php linux apache

我有一台运行Apache和PHP 5.3.9的最近安装服务器,每次向服务器发出的请求都会导致错误日志文件出错:

sh: line 0: cd: /root: Permission denied

错误发生在任何PHP代码执行之前,所以它必须是设置中的某个地方,但它是一个新的框并运行库存配置。

什么会导致此错误?

编辑:

在Amazon Linux(EC2)上运行2.6.35.14-97.44.amzn1.x86_64

它不应该运行任何脚本,它在mod_php模式下运行PHP,而不是CGI,并且错误发生在之前并且PHP代码被执行

2 个答案:

答案 0 :(得分:1)

可能看起来像没有可执行权限的脚本。

如果你知道它是哪个脚本,你可以通过以下方式赋予它权利:

chmod +x /path/to/your/script.sh

作为root或sudo infront。

编辑:

查看agin,看起来您的脚本正在尝试cd到您的/ root文件夹。 很可能该脚本由另一个没有cd到/ root权限的用户运行。 只有root有

答案 1 :(得分:1)

这是执行此操作的AWSSDKforPHP。

/usr/share/pear/AWSSDKforPHP/sdk.class.php内你会发现:

$_ENV['HOME'] = `cd ~ && pwd`;

出于某种愚蠢的原因,它试图“cd”进/root。将该行更改为以下内容:

$_ENV['HOME'] = "/var/www"; #`cd ~ && pwd`;

它会消失。