我正在尝试使用一个简单的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()
相同非常感谢投入!
答案 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();