获取在后台运行的php文件的输出

获取在后台运行的php文件的输出,php,background,exec,Php,Background,Exec,我有两个php文件。让我们称它们为a.php和b.php 当用户访问a.php时,我使用exec()执行b.php,并且b.php生成一个输出 我的问题是:当过程在b.php中完成时,如何将此输出显示在a.php或另一个文件中 这是我的密码: exec("C:\wamp\bin\php\php5.5.12\php.exe C:\wamp\www\b.php 2>otst.txt"); 使用以下2个PHP函数之一: -执行外部程序并显示原始输出 -执行外部程序并显示输出 系统示例: <

我有两个php文件。让我们称它们为
a.php
b.php

当用户访问
a.php
时,我使用
exec()
执行
b.php
,并且
b.php
生成一个输出

我的问题是:当过程在
b.php
中完成时,如何将此输出显示在
a.php
或另一个文件中

这是我的密码:

exec("C:\wamp\bin\php\php5.5.12\php.exe C:\wamp\www\b.php 2>otst.txt");

使用以下2个PHP函数之一:

-执行外部程序并显示原始输出

-执行外部程序并显示输出

系统示例:

<?php
echo '<pre>';

// Outputs all the result of shellcommand "ls", and returns
// the last output line into $last_line. Stores the return value
// of the shell command in $retval.
$last_line = system('ls', $retval);

// Printing additional info
echo '
</pre>
<hr />Last line of the output: ' . $last_line . '
<hr />Return value: ' . $retval;
?>


(源代码)

如果您不需要任何花哨的东西,可以使用(
`
)操作符而不是
exec()


请注意,反勾号对应于调用,请参阅此相关问题以了解有关的讨论。

exec()通常会阻塞,直到exec进程完成。这意味着您的
a
脚本在
b
完成之前都会死在水里。但是默认情况下,exec只返回程序的最后一行输出。要捕获所有内容,您需要执行exec(external\u file,$output,$exit\u value)。OP应该准确地回答这个问题,特别是术语“display at”并不真正适合php文件。是的,我的错。我会更新这个问题。
$output = `php b.php`;