Exec命令不起作用

时间:2012-08-01 15:15:13

标签: php codeigniter exec command-line-interface shell-exec

我正在使用exec运行后台脚本,如下所示:

$command = "/usr/local/bin/php public_html/r/index.php tools $action process $params > /dev/null &";
exec($command);

事情是:正在工作。

提示:

  • 当我从终端执行相同的命令(通过SSH)时,它正常工作。
  • exec命令已启用(我可以执行任何命令而无问题)。

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

后台作业往往具有与您的shell不同的“当前”目录 - 通常它是作业运行的帐户的主目录。除非你的public_html在/home/whoever,否则你实际上并没有运行你的脚本。尝试绝对路径:

$command = "/usr/local/bin/php /path/to/public_html/r/index.php etc..."
                               ^^^^^^^^^

代替。