【问题标题】:Cron job doesn't "unlink" files - why?Cron 作业不会“取消链接”文件 - 为什么?
【发布时间】:2013-02-17 22:56:17
【问题描述】:

我有一个 php 脚本,可以从我的服务器上的特定文件夹中删除一个文件:

if (file_exists($_SERVER['DOCUMENT_ROOT']."/folder/file1"))
{
unlink($_SERVER['DOCUMENT_ROOT']."/folder/file1");
}

当我使用浏览器访问此脚本地址时,它工作正常。

我创建了一个 cron 作业以每小时运行一次此脚本,并从 cron 作业运行此脚本 - 文件未被删除。

我还创建了一个向我发送电子邮件的标志,我怀疑 cron 作业对“file_exists”测试得到错误响应,而不是继续执行“取消链接”操作。

知道为什么 cron 作业不会删除文件吗?

谢谢

有人吗??

【问题讨论】:

  • $_SERVER['DOCUMENT_ROOT'] 是否在 cron 作业中设置?
  • 我不确定我理解你的意思...我是否需要为 cron 作业设置它以识别文件的路径?
  • DOCUMENT_ROOT 是一个 Web 服务器相关变量。您是否检查过$_SERVER['DOCUMENT_ROOT']."/folder/file1" 是否具有预期值?

标签: cron crontab file-exists unlink


【解决方案1】:

解决了:

而不是 $_SERVER['DOCUMENT_ROOT']。"/folder/file1

必须这样写:/home/public_html/folder/file1

【讨论】: