我试图通过cron运行一个php脚本,我正在撞墙。
当我以root身份通过命令行运行php脚本时,一切正常。 当我作为用户通过命令行运行php脚本时,一切正常。
我得到的错误是: PHP致命错误:调用未定义的函数imagecreatefromstring()
为了测试我创建了一个包含...的
的php文件 <?php
var_dump(gd_info());
?>
当通过cron执行该文件时,它再次表示我有致命错误。 “调用未定义的函数gd_info()”
所以在这一点上,我已经缩小到GD而不是在cron环境中加载,但此时,我不知道如何解决这个问题。
答案 0 :(得分:1)
我的猜测是你有多个PHP副本。你和root使用一个用GD构建的,cron使用另一个由于PATH
环境变量不一致。
作为工作用户(您或root),运行
which php
这将为您提供像/usr/bin/php
这样的完整路径。在cron条目中使用该路径,例如
0 0 * * * /usr/bin/php /path/to/your/script.php