带有python脚本“退出代码:127(未找到命令)”的Laravel任务计划

时间:2019-06-01 23:45:29

标签: php python laravel ubuntu

我使用的是laravel 5.8,我创建了一个控制台命令来调用python脚本(python模块为PyVantagePro);

如果我在控制台中运行该命令,则该命令运行良好,但是将crontab设置为自动运行脚本时,出现错误“退出代码:127(未找到命令)”

1 个答案:

答案 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工具当前失败的这些段(路径)(推荐方法)。