PHP实时显示Python

时间:2016-04-21 14:36:55

标签: php python

我正在尝试使用一个简单的Python脚本实时输出到PHP,我发现自己很难完成它。

脚本没什么特别的,出于测试目的,就是这样:

#!/usr/bin/python
import time

time.sleep(1)
print "message 1"
time.sleep(1)
print "message 2"
time.sleep(1)
print "message 3"
time.sleep(1)
print "message 4"

我尝试过几种方式调用Python代码。当我尝试从以下地方运行它时似乎:​​

<?php
$output=shell_exec("/var/www/html/output.py");
print_r($output);
?>

似乎要等待4个secondes,然后输出整个东西。

我已经尝试过使用ob_flush和flush()PHP命令,但是我无法获得我想要的效果,它与shell_exec()

相同

非常感谢投入!

1 个答案:

答案 0 :(得分:0)

你应该使用passthru()函数来获得你想要的东西。

这已经在本回答中得到了解答:Niklas Lindblad:https://stackoverflow.com/a/19736525/488191

  

我建议使用passthru并直接处理输出缓冲区:

ob_start();
passthru('/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2');
$output = ob_get_clean();