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

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

如果我以根用户身份输入控制台,则效果很好:

php restart.php

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

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

我具有restart.php文件的777权限,并且路径正常。

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

请帮忙

#1楼 票数:0

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

whereis php

#2楼 票数:0 已采纳

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

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

Rob Ruchte,谢谢您的解决方案

  ask by assghard translate from so

未解决问题?本站智能推荐:

1回复

phpexeccrontab无法正常工作

我尝试在本地CentOS 5.3服务器上尝试从Apache Web服务器执行以下php代码行时 然后我更改了下面的代码 这是我当前对/ usr / bin / crontab -rwsr-sr-x的许可1根root 311288 2007年3月15日/ usr / bin / cront
1回复

不能从exec()工作zip

我有从cron运行的PHP脚本。 有这样的命令 在那个剧本中。 该命令由exec()运行; {some_directory}和{targer_some_directory}是现有的完整路径。 这些目录的权限= 0777.当我从shell运行此脚本时,它可以工作。 当它从cron
2回复

在安全模式下使用php管理cronjobs

一个小小的快速问题: 如果“安全模式”为“开”,是否可以使用PHP创建cronjob? 我使用此线程来使用php创建和更新cronjobs: 使用PHP创建,编辑和删除crontab作业? 一些共享主机具有启用了php安全模式的默认设置。 如果我使用“ exec()”函数使用脚本,则应
1回复

PHP:使用sudo列出root的crontab

使用PHP,我希望能够列出root的crontab。 我可以从命令行以Apache用户身份运行以下命令,并获得所需的结果: 但是,在我的PHP中,我有以下命令不起作用,并返回一个空集: 环境吗? 还是权限? 我也尝试过shell_exec() system()和passthru(
3回复

如何使用cron启动exec()PHP命令,但其中两个没有运行?

我只是想不通。 我有一个从Facebook API获取数据的脚本,并且该脚本一直运行。 (使用set_time_limit(0);) 但是,有时Facebook API会给出错误并停止脚本。 因此,我希望每5分钟执行一次cron任务,以便检查脚本是否仍在运行,如果没有运行,请再次启动它
1回复

phpexec工作不同于cli和cron

我创建了一个文件test.php并编写了一些代码 当我从cli运行时 php test.php 我得到的结果是正确的,例如 根60826 0,0 0,0 12568 1612- IJ 21:14 0:00,00 cron:正在运行的作业(cron) 但是,如果将其添加到c
1回复

从crontab运行时,PHPexec不返回LFTP输出

我有一个包含exec命令的PHP文件(/path/to/file.php): 当我在终端中运行命令“ php /path/to/file.php”时,$ result的值为“已传输X个字节” 当我使用完全相同的命令为同一用户创建cron任务时,$ result始终为空字符串。 尽管该命
1回复

将exec用于长时间运行的脚本

我想从和API的一些数据,并保存在数据库中的用户,这个动作需要根据时间随机时间,有时甚至需要4个小时,我使用执行脚本exec和&在后台在PHP, 我的问题是执行程序对于长期运行的工作是安全的,我对fork和linux进程等并不了解,所以我不知道CPU内核内部发生了什么, 我发现这