【问题标题】:php curl leave file in directory - How to clean upphp curl 将文件留在目录中 - 如何清理
【发布时间】:2009-06-17 13:14:42
【问题描述】:

我有一个使用 curl 的 php 脚本,一切都很好。它通过 cron 作业运行。我稍后再回来,每次运行时都会保存一个带有输出的新文件。

如何防止创建这些文件?

【问题讨论】:

  • 与@jjclarkson。默认情况下,cURL 不写入任何文件(可能是 cookie 容器除外)。我们需要查看您的代码,这是它自己在做的事情。

标签: php curl


【解决方案1】:

创建该文件的是 cron 守护进程。默认情况下,它将标准输出保存到文件中。 更改脚本以将其输出指向 /dev/null:

/etc/crontab:

59 *    * * *   USER    curl localhost/script.php > /dev/null 2>&1

这样就可以了。

/Zyber

【讨论】:

  • 是的,这很可能是真的,但是这个答案假设你没有使用 CLI PHP,所以你在 cron 中的行可能看起来有点不同。无论哪种方式,终止 > /dev/null 2>&1 都可以解决问题。
  • 但是,问题的作者说他使用curl来调用脚本。但是,如果您使用其他任何内容,只需将 curl localhost/script.php 更改为您使用的任何内容。
【解决方案2】:

如果您使用 wget 在 cron 中调用脚本,您可能需要通过以下方式将输出设置为 dev/null:

59 * * * * wget -O - -q http://yourdomain.com/path/to/script.php

-O 指定写入输出的位置,以下- 指定 dev/null。 -q 告诉 wget 以安静模式运行,这意味着它不会将消息写入标准输出。

如果 cron 正在创建文件,您还可以通过将上面的行更改为以下内容来禁止来自 cron 的任何输出:

59 * * * * wget -O - -q http://yourdomain.com/path/to/script.php > /dev/null 2>&1

【讨论】:

    【解决方案3】:

    问题是因为这是在“共享”主机帐户上,他们声称无法将 cron 结果发送到 /dev/null。谁知道,谁在乎。为了解决这个问题,我创建了一个每天删除输出文件的脚本。感谢大家的帮助。

    【讨论】:

      猜你喜欢
      • 2011-05-05
      • 2013-05-23
      • 2020-06-04
      • 2010-12-17
      • 1970-01-01
      • 2013-02-04
      • 2010-12-10
      • 2021-11-13
      • 2014-01-25
      相关资源
      最近更新 更多