使用 cron 的 PHP 脚本出现 500 错误,但 CLI 没有出现

使用 cron 的 PHP 脚本出现 500 错误,但 CLI 没有出现

我有一个 PHP 脚本,我正尝试通过 cron 运行它。在 cron 中我有

php /home/dir/dir/foo.php

当命令运行时,cron日志显示:

状态:500 内部服务器错误

X-技术支持:PHP/7.1.16

内容类型:text/html;字符集=UTF-8

但是,如果我只是从命令行运行 php /home/dir/dir/foo.php,它就可以正常运行,不会出现任何错误。

我在同一个目录中有另一个 PHP 脚本,它可以通过 cron 正确运行。

其他信息:不起作用的脚本位于文档根目录之外,创建数据库连接并连接到 API。

我对 cron 没有太多经验,所以我可能设置错了一些东西,但我很困惑为什么相同的命令可以通过 CLI 运行,但在 cron 中却不行。

答案1

我刚刚找到了答案。我将 crontab 条目中的“php”更改为指向 PHP 7.1 路径,现在它可以正常工作了。

0,15,30,45 * * * * /opt/alt/php71/usr/bin/php /home/dir/dir/get_emails.php >/dev/null 2>&1

我原本以为 CLI 中的 php 应该与 cron 中的 php 是同一版本,但显然不是。

相关内容