PHP exec 无法通过 crontab(cronjobs)工作,但通过控制台工作正常

PHP exec not working via crontab (cronjobs) but works fine via console

我尝试通过 cron 重启我的 LTE 调制解调器。我有一个带有 exec() 函数的 PHP 文件 (restart.php):

exec('usb_modeswitch -R -v 12d1 -p 1436');

如果我在控制台中输入(作为 root),它工作正常:

php restart.php

但不适用于 crontab(对于 root):

*/10 * * * * php /var/www/html/modem/restart.php

我对 restart.php 文件有 777 权限,路径没问题。

怎么了?我该如何解决?有任何想法吗?

求求你帮忙

尝试在 php 的 crontab 和 php 脚本中使用完整路径。 您可以通过以下命令找到 php 二进制文件的位置:

whereis php

我添加了 usb_modeswitch 的完整路径,它解决了我的问题:

exec('/usr/sbin/usb_modeswitch -R -v 12d1 -p 1436');

Rob Ruchte,谢谢你的解决方案