【问题标题】:Crontab Won't Save Images From PHP ScriptCrontab 不会从 PHP 脚本中保存图像
【发布时间】:2013-04-29 04:22:14
【问题描述】:

我有一个 PHP 脚本,它从 RSS 提要中抓取图像,调整它们的大小,然后保存它们。我通过 crontab 做了一个 cron 作业,它每小时执行一次,但图像没有保存。

我认为这是一个权限错误,文件夹的所有者是 www-data,我设置它的 crontab 用户也是 www-data,所以我不太确定发生了什么。

脚本在浏览器中运行良好。

我使用的 crontab 代码是:

56 * * * * /usr/bin/php5 /home/user/public/site.com/public/script.php

我也尝试了 curl,但没有成功,但我不能 100% 确定我做得对。

其他一切正常,例如它存储文本就好了。它还正确命名图像,只是不保存它们

【问题讨论】:

  • 您真的在脚本中的某个地方产生了错误吗?是否添加了记录fopen()等函数返回值的调试消息(或日志文件)?
  • 以 root 身份从命令行点击脚本,仍然失败?
  • 当我尝试添加日志时,cron 作业根本没有运行。我还尝试查看 /var/log/cron 并且该文件不存在。我也尝试以 root 身份运行。
  • 如果您从 cli 手动运行它会发生什么,即 >php /home/user/public/site.com/public/script.php
  • 好的,我从 CLI 运行并遇到问题,花了一些时间修复它们(路径问题)并通过 CLI 使其正常工作。但我仍然无法让它在 crontab 中工作。

标签: php cron save crontab image-resizing


【解决方案1】:

不要忘记以特定用户身份运行 crontab 作业。 cronjob 可能没有像你一样运行。

56 * * * *  <USER_NAME_HERE> /usr/bin/php5 /home/user/public/site.com/public/script.php

【讨论】:

  • Crontab 不允许这样做,据我所知,我看到这个:m h dom mon dow 命令,所以以我使用的用户身份运行:sudo crontab -u www-data -e
【解决方案2】:

解决了。

这一次结果是用户错误(令人震惊)——我没有包含正确的完整路径。谢谢大家的回复。

我想这里的教训是下次我提出问题时包含更多信息,我应该发布更多代码。

【讨论】:

    猜你喜欢
    • 2017-10-04
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 2011-03-21
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多