我有一個虛擬服務器的實例裏面的Ubuntu系統(Oracle虛擬盒)在我的電腦上運行上運行這個愚蠢的小測試PHP腳本:fopen創建文件,那麼爲什麼fwrite失敗?
<?
error_reporting(E_ALL);
ini_set('display_errors', 1); // show errors
echo "<p>test</p>";
$filename = "andy.txt";
$fh = fopen($filename, 'w') or die('fopen failed');
fwrite($fh, "qwerty") or die('fwrite failed');
fclose($fh);
?>
儘管所有相應的目錄和文件權限被設置,它在fwrite上失敗。 fopen工作並創建文件,因此寫入訪問被明確啓用,但fwrite死亡,並輸出'fwrite failed'消息(不顯示其他錯誤輸出)。
當我上傳到我的真實服務器時,相同的腳本工作得非常好,所以我完全難以理解它爲什麼不寫入文件;也許這是關於我的虛擬服務器引起的問題。
看起來像這樣一個可憐的東西,但它讓我瘋狂!相當長的時間谷歌沒有得出答案,所以任何人在這裏請提供一些見解?非常感謝。
刪除'or die('fwrite failed')'部分以查看其產生的錯誤 – Clay
您是否啓用了SELinux? – NaeiKinDus