我有一台运行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代码被执行
答案 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`;
它会消失。