【问题标题】:running a script exec command from php从 php 运行脚本执行命令
【发布时间】:2011-02-24 11:27:56
【问题描述】:

我有一个应用程序,我需要通过 php 的 exec() 函数运行 PHP 脚本。

"php /var/www/server/data/scripts/ThreadHandler.php 145596 > /var/www/server/data/logs/threads/thread.145596.log 2>&1 &"

也试过

"php /var/www/server/data/scripts/ThreadHandler.php 145596 > /var/www/server/data/logs/threads/thread.145596.log 2>&1"

我正在使用 PHP 的 exec() 函数运行上面的命令,但它没有运行,我无法跟踪任何错误。请提出任何更改。

【问题讨论】:

  • @codaddict,他是can't track any error

标签: php exec


【解决方案1】:

试试

passthru('php -f /var/www/server/data/scripts/ThreadHandler.php 145596 > 
         /var/www/server/data/logs/threads/thread.145596.log 2>&1');

另外,尝试从 linux 命令行运行它

【讨论】:

  • 我已经从linux命令尝试过,这是“threads”文件夹的写入权限错误。谢谢:)
【解决方案2】:

尝试为 exec 定义 $output 和 $return_var 参数并打印它们的值:

$output = array();
$rv = null;
exec("your command", $output, $rv);
print_r($rv);
print_r($output);

【讨论】: