脚本宝典收集整理的这篇文章主要介绍了如何让一个PHP脚本启动另一个并捕获其输出?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
>我有一个从命令行启动的PHP脚本a.PHP,并通过STDIN向它提供数据
>我有另一个PHP脚本b.PHP
>我想让a.PHP启动b.PHP并捕获其输出.
>此外,a.PHP必须将STDIN转发给b.PHP
@H_126_21@$boutput = `PHP b.PHP`;
要捕获stdin,请执行以下操作:
$ainput = file_get_contents('PHP://stdin');
最后,要将字符串的内容传递给外部程序,请使用proc_open,如jeremy的回答所示.
具体来说,这是你的a.PHP应包含的内容:
$ainput = file_get_contents('PHP://stdin'); $descriptorsPEc = array( 0 => array("pipe","r"),1 => array("pipe","w"),2 => array("pipe","w") ); $PRocess = proc_open('PHP b.PHP',$descriptorspec,$pipes); fwrITe($pipes[0],$ainput); fclose($pipes[0]); echo stream_get_contents($pipes[1]); # echo output of "b.PHP < stdin-From-a.PHP" fclose($pipes[1]); proc_close($process);
以上是脚本宝典为你收集整理的如何让一个PHP脚本启动另一个并捕获其输出?全部内容,希望文章能够帮你解决如何让一个PHP脚本启动另一个并捕获其输出?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。