1

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

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

问题是:它不起作用

提示:

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

有任何想法吗?

4

1 回答 1

5

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

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

反而。

于 2012-08-01T15:17:55.480 回答