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,谢谢你的解决方案
我尝试通过 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,谢谢你的解决方案