2010-11-07 184 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。这可能是任何文件。