我使用的是laravel 5.8,我创建了一个控制台命令来调用python脚本(python模块为PyVantagePro);
如果我在控制台中运行该命令,则该命令运行良好,但是将crontab设置为自动运行脚本时,出现错误“退出代码:127(未找到命令)”
答案 0 :(得分:1)
您的问题与PHP或Python均无关,但是“罪魁祸首”可能是$PATH
环境变量,无论对于cron run还是cron用户,其环境变量都不同(如果不同)。常见的解决方法是设置要执行的二进制文件的完整路径(因此,您可以调用foo
而不是/usr/bin/foo
或确保cron使用的$PATH
设置了预期值,指向要在其中搜索调用的二进制文件的所有位置。只需添加以下内容即可在每个crontab中全局完成此操作:
PATH=<value-for-PATH-variable>
在您的crontab文件顶部。要确保它与您从命令行运行工具时所具有的值匹配,只需执行
echo $PATH
在外壳中时,可以将那里的内容复制到crontab中,或者仅复制与pyvantagepro
工具当前失败的这些段(路径)(推荐方法)。