我有一個網頁嘗試讀取文件,但獲取權限被拒絕錯誤。我寫了一個非常簡單的頁面來重現問題。Apache/PHP沒有讀取文件的權限
<?php
echo exec('whoami');
echo "<br>";
echo exec('cat /var/svn/aaa/format 2>&1');
?>
作爲一個測試,我已經試過在SVN目錄和下面的一切的荒謬777設置權限,所有權變更到Apache和嘗試添加Apache用戶到不同的組。我已經確認它是以apache用戶身份運行的(即上面的whoami呼叫是什麼)。如果我嘗試在命令行中運行上面的命令,阿帕奇然後正常工作,如
sudo -u apache cat /var/svn/aaa/format 2>&1
這是爲什麼沒有做什麼,我期待?我期望給予文件777會給'其他'完整的權限,我希望改變所有者到Apache也將解決問題。我希望做的sudo作爲apache用戶會失敗,如果它從php失敗。
順便說一句,只是爲了完整,這是我運行WebSVN的問題,但它似乎是一個Apache問題,而不是WebSVN問題。
is safe_mode enabled on your server? (檢查ini_get('safe_mode'))...可能會導致問題。 – Kurt
如果我回聲ini_get('safe_mode')我什麼也沒有,但看在/etc/php.ini我看到「safe_mode =關」 – MikeKulls