在后台获取 php 文件 运行 的输出
Get output of a php file running in background
我有两个 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 函数之一:
passthru - 执行外部程序并显示原始输出
system- 执行一个外部程序并显示输出
系统示例:
<?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;
?>
如果您不需要任何花哨的东西,可以使用 backtick (`
) 运算符代替 exec()
:
$output = `php b.php`;
请注意,反引号对应调用 shell_exec, see this related question for a discusson on exec vs shell_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 函数之一:
passthru - 执行外部程序并显示原始输出
system- 执行一个外部程序并显示输出
系统示例:
<?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;
?>
如果您不需要任何花哨的东西,可以使用 backtick (`
) 运算符代替 exec()
:
$output = `php b.php`;
请注意,反引号对应调用 shell_exec, see this related question for a discusson on exec vs shell_exec。