我有一个 PHP 脚本,可以从 mi CLI 顺利运行,我需要此脚本每 5 分钟运行一次,以便它自动为我获取新数据。要从终端运行我的脚本,我调用php retsphp.php --mode=new
根据我在网上找到的所有内容,我使用了 crontab -e
*/5 * * * * /usr/bin/php -f /var/www/html/PHRETS/retsphp.php --mode=new > /var/log/retscron.log
我没有看到任何 retscron.log 创建,我唯一看到的是在系统日志中
2 月 13 日 08:25:01 rets-php CRON[7279]: (user1) CMD (/usr/bin/php -f /var/www/html/PHRETS/retsphp.php --mode=new > /var/log/retscron.log) 2 月 13 日 08:25:01 rets-php CRON[7278]: (CRON) 信息 (未安装 MTA,丢弃输出)
我找不到失败的原因
答案1
经过一番挖掘,我终于解决了我的问题。
a) 我最终安装了 Postfix,以便能够从失败的 cronjob 中获取调试信息,结果显示了以下错误
/bin/sh: 1:无法创建 /var/log/retscron.log:权限被拒绝
b)修复之后它不喜欢-f所以我删除了它
c) 最后一个问题是,我在代码中使用了一些第三方的东西,它通过 Vendor/autoload.php 加载,但找不到它
PHP 致命错误:未捕获错误:在 /var/www/html/PHRETS/retsphp.php:107 中未找到类“PHRETS\Configuration”
所以我必须编辑它以使其成为完整路径。完成所有这些更改后,它现在运行良好。所以希望这能为其他人节省一些时间来追踪类似的问题