2012-02-02 31 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`; 

它會消失。