2010-11-07 77 views
8

每次我試圖修改一個文件,我得到這個錯誤,我不知道這意味着什麼:PHP file_put_contents()錯誤

A PHP Error was encountered 

Severity: Warning 

Message: file_put_contents() [function.file-put-contents]: Only 0 of 19463 bytes written, possibly out of free disk space 

Filename: Template/String.php 

Line Number: 369 

我試圖尋找解決方案,到目前爲止,沒有人是有道理的在我看來,好吧。

有什麼想法?請在這裏一點幫助。非常感謝你。

+1

那麼'可能沒有空閒磁盤空間'不適用?你已經檢查過,你100%確定? – 2010-11-07 14:12:16

+0

您是否檢查過文件夾權限? – stillstanding 2010-11-07 14:20:37

回答

2

這可能意味着PHP能夠獲得有效的文件描述符,但在實際嘗試寫入數據時卻遇到了牆壁(如配額,粘滯位等)。

也可以想象,你正在寫(可能在不知不覺中)到一個網絡文件系統,這個網絡文件系統存在與其同級的問題。

有關您的平臺的更多信息將有所幫助(我看過SELinux在配置不當時會做一些奇怪的事情),但我認爲您瞭解要檢查的內容的要點。

2

這只是您想要保存內容的權限,例如,只讀或者就像錯誤本身一樣,沒有磁盤空間。

7

這是一個古老的問題,但它出現時谷歌搜索錯誤消息。這是錯誤消息的另一個可能的原因。

ext2/3/4文件系統可以爲root保留磁盤空間。通常它是驅動器的5%。 df顯示驅動器未完全使用。 Root可以寫入驅動器。非root用戶只能創建文件,但不能向其寫入任何數據。有關更多詳細信息,請參閱dumpe2fs和tune2fs。

2

您可能需要在服務器上增加該用戶的配額。您可以通過刪除一個文件並查看它是否允許您重新上傳該文件來確認這一點,但沒有進一步說明。

如果您有Webmin,請轉至系統>磁盤配額。 (有關詳細說明,請參閱this wiki。)

如果您沒有Webmin或類似的界面,則需要查看如何手動編輯用戶配額設置,具體取決於您使用的是哪個Linux發行版。

如果您無法訪問服務器,則需要聯繫執行此操作的人員,並詢問您的磁盤配額是否可以增加。

1

對我而言,我在登錄頁面上也遇到了同樣的錯誤。在探索過程中,我發現storage/logs/laravel.log文件已經增長到24G的大小。清理它解決了這個問題。要找出目錄的大小,請使用linux命令du -sh *du -sh <filename>。使用truncate命令清理日誌文件是最好的選擇。因爲使用vim和刪除可能很困難,因爲文件的大小很大。對於截斷使用命令truncate -s 0 <filename>

0

我去到根目錄

cd/

和搜索的結果曾與

du -sh * 

從那裏我能跟蹤的最大空間使用的文件夾頭痛的文件,/ var/log中的pluto.log。這可能是任何文件。