我最近安装了一台运行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代码执行
可能看起来像一个没有可执行权限的脚本。
如果你知道它是哪个脚本,你可以通过以下方式授予它权限:
chmod +x /path/to/your/script.sh
作为词根或前面有sudo。
编辑:
从外观上看,您的脚本似乎正在尝试cd到您的/root文件夹。脚本很可能是由另一个没有cd to/root权限的用户运行的。只有根具有
这是AWSSDKforPHP在做这件事。
在/usr/share/pear/AWSSDKforPHP/sdk.class.php
中,您会发现:
$_ENV['HOME'] = `cd ~ && pwd`;
出于某种愚蠢的原因,它试图"cd"到/root
中。将该行更改为以下内容:
$_ENV['HOME'] = "/var/www"; #`cd ~ && pwd`;
它会消失的。