1

我刚刚发布了一个客户网站,它的主要目的是分发来自其他来源的内容,因此它会定期从外部提要中提取文本、视频、图像和音频。

它还可以让客户端手动添加要分发的内容。

使用 PHP 所有这一切使得使用 copy() 从另一个服务器复制文件,move_uploaded_file() 复制手动上传的文件,它还使用 SimpleImage 图像处理类来制作多个副本,并裁剪等。

现在来解决问题:在所有这些中,一些临时文件没有被删除,它很快锁定服务器,因为当 tmp 已满时,它会导致 mysql 错误并停止页面加载。

我花了很多时间在谷歌上搜索,这让我想到了一件事:“脚本执行完毕后临时文件被删除”——这显然不是这里的情况。

我可以做些什么来确保删除脚本创建的任何临时文件?

我已经和我的服务器人员谈过,他建议运行一个每 24 小时从其中删除的 cron,我不知道这是否是一个好的解决方案,但它肯定不是解决方案,因为我认为文件应该被删除?什么可能是阻止文件被删除的原因?

4

1 回答 1

1

不管您想出什么其他方法,cron 的想法仍然是一个不错的想法,因为您要确保 /tmp 得到清理。您可以让 cron 作业删除超过 24 小时的任何内容,而不是每 24 小时删除一次,假设这会留下足够的空间。

在脚本完成时删除临时文件。tmpfile ()据我所知,这仅在最初用于创建临时文件时才会发生。因此,通过其他方式在 /tmp 中创建的其他文件(并且会有许多其他方式)不会因为脚本完成而消失。

于 2013-01-24T08:42:35.433 回答