2012-02-02 27 views
1

我有它运行的Apache和PHP 5.3.9最近安装服务器拒绝,在错误日志文件到服务器的测试结果作出了错误的每个请求:PHP/Apache的SH误差允许在每次请求

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

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

什么会导致此错误?

编辑:

运行在Amazon Linux操作系统(EC2)2.6.35.14-97.44.amzn1.x86_64

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

+0

你在运行什么系统?什么版本?给我们更多的信息:) – Vyktor 2012-02-02 14:51:57

+0

在亚马逊实例的同样的问题。我没有运行任何脚本。 – reinder 2012-03-26 06:52:31

回答

1

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

如果你知道它是脚本,您可以通过给它的权利:

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

作为root或使用sudo盈。

编辑:

展望阿恩,它看起来像你的脚本试图cd到你的/根文件夹。 最有可能的脚本是由另一个没有权限cd到/ root的用户运行的。 只有根有

+0

错误发生在我的任何脚本运行之前,甚至发生在没有任何PHP代码的页面上。 – JWood 2012-02-02 18:32:20

1

这是AWSSDKforPHP这样做。

里面/usr/share/pear/AWSSDKforPHP/sdk.class.php,你会发现:

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

对于一些愚蠢的理由,它试图 “CD” 为/root。将该行更改为以下内容:

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

它会消失。