Exec命令不起作用

Dr.*_*eon 1 php codeigniter exec shell-exec command-line-interface

我正在使用exec来运行这样的后台脚本:

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

问题是:它工作.

提示:

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

有任何想法吗?

Mar*_*c B 5

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

$command = "/usr/local/bin/php /path/to/public_html/r/index.php etc..."
                               ^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

代替.