【问题标题】:Server's tmp directory filling up?服务器的 tmp 目录已满?
【发布时间】:2012-05-14 08:45:34
【问题描述】:

今天我的网站出现了一些问题:php 文件上传没有正确处理,并且没有执行乘客 wsgi python 脚本。我联系了我的虚拟主机,他们说服务器的 tmp 目录已经达到“磁盘空间不足”并且他们解决了这个问题。

几分钟后,同样的事情开始发生,他们同样回答说问题现在已经解决。

从那以后我没有遇到任何问题,但我很担心这将是一个持续的事情。他们发给我:

很遗憾,我们无法保证该问题会再次发生 因为新用户可能会滥用 /tmp 但我们通常会解决这些问题 在我们检测到问题后的 10 或 15 分钟内 监控系统。

我使用的是共享主机,所以这并不完全出乎意料,但它仍然相当令人不安。在这种情况下我能做些什么吗?有什么方法我至少可以知道它何时会发生 - 也许检查 tmp 中的已用空间以及 PHP 允许的总空间?

这不是我遇到的第一个问题,而且我现在只使用了大约 2 周,所以我正在考虑 45 退款保证并寻找另一个主机。然而,我还没有找到一个好的 php/python 主机,它要么支持我使用的 M2Crypto 和其他 Python 模块,要么允许我自己安装它们。我应该坚持使用它们还是跳船并寻找另一个网络主机?

【问题讨论】:

    标签: php apache web tmp


    【解决方案1】:

    简单的一个:如果您的主机允许这样做,让您的 PHP 脚本使用 upload_tmp_dir 自定义 tmp 目录进行上传。

    这样,它只取决于您的托管空间!

    【讨论】:

    • 这如何回答这个问题?
    • @ChristophWinkler,我觉得这很有用。它不能解决python脚本的问题,但它会帮助php上传。
    • 好的,知道了。您应该提到,这仅在 /tmp 目录位于服务器上的另一个 HDD/分区上时才有用。
    • @ChristophWinkler :它只会回答从 his 一侧填充的 tmp。我同意别人的填满不能解决问题。
    【解决方案2】:

    PHP 有disk_free_space 函数,您可以使用它来监控/tmp。但是,这应该不是必需的。房东有责任一劳永逸地解决这个问题。

    我自己曾在一家共享网络托管公司担任系统管理员,我知道解决这些类型的问题至关重要。完整的临时目录将有效地关闭服务器上的几乎所有网站,因此找到解决方案应该符合他们的最大利益,否则客户将离开。你应该问他们有什么计划来解决这个问题。如果您得到一个愚蠢的、一无所知的答案,请要求将问题上报给技术人员,以便您可以与负责人交谈(或发送电子邮件)。不要让他们把这个问题放在一边,而是要求一个长期的解决方案,否则它会再次发生

    如果您无法找到满足您需求的共享主机,请尝试使用专用虚拟主机 (VPS)。这样做的缺点是您必须是自己的系统管理员,但至少您能获得所需的软件。

    【讨论】:

    • 我被 vps 吓倒了。我几乎没有 linux 经验(可能是最后一个使用 SO... 的 Windows 用户),而且自己安装所有东西的想法似乎相当令人生畏。我在很多事情上都使用 cpanel,并且不想为此付费。但是,如果我决定尝试这条路线,我该如何模拟使用 virtualbox 和 linux 的 vps 体验?或者,有免费的在线 vps 吗?
    • 我完全理解您的担忧。从完全托管的共享托管到无托管的专用托管是一大步。您可以在自己的计算机(例如 VirtualPC 或 Virtualbox)上的虚拟机中运行 Linux,以了解需要做什么。但是,网络部分可能很难配置,因此尝试以这种方式进行网络托管有些困难。最好的情况是,如果您有一台备用 PC 可以专门用于该项目(从您作为客户的角度来看,VPS 与专用机器完全相同)。您也应该尝试只使用命令行。
    • 事实上,我有一个真正的垃圾,没有人使用。我认为 256mb ram,20gb 硬盘类型的东西。我曾一度尝试安装 debian,但花了几个小时。是否值得尝试使用类似树莓派的东西?
    • 树莓派总是值得购买,不是吗? ;-) 但是 256 MB 应该足够试用(使用“专家”安装,不要安装任何图形环境!),而且 20 GB 硬盘比我目前笔记本电脑上的硬盘多!
    • 真的吗? 20gb 比你用的多吗?它是什么,某种怪物 SSD?
    【解决方案3】:

    您可以尝试将upload_tmp_dir 等设置为您个人区域内的位置,而不是全局/tmp。但是,这需要访问 php.ini 文件。您可能没有的访问权限。此外,如果您无法访问 webroot 之上的任何内容,则不应这样做(并且您应该立即离开主机 - 将东西放在 webroot 之上是必不可少的)。

    简而言之,如果这个问题仍然存在,我会离开主机。除了将您的业务带到其他地方之外,您无能为力。

    我避免在这种情况下共享主机。如今,您可以以相当便宜的价格获得稳定、资源充足的 VPS(尽管这当然会带来一系列问题,尤其是在您托管少量网站的情况下)。

    【讨论】:

      猜你喜欢
      • 2015-03-08
      • 1970-01-01
      • 2012-09-01
      • 2017-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      相关资源
      最近更新 更多