【发布时间】:2016-10-30 11:55:22
【问题描述】:
我需要使用 Python 执行一些较长的过程,该过程将使用 PHP(我的主要语言)调用并实时显示结果。
假设这是我的 Python 脚本 (a.py)。
import time
for x in range(10):
print "S;adasdasd;",x
time.sleep(0.5)
我尝试了很多来自互联网的示例,但总是得到相同的结果。 PHP 总是等到脚本完成后再显示它。
这是我尝试过的众多代码之一。
header( 'Content-type: text/html; charset=utf-8' );
$handle = popen('python folder\\a.py', 'r');
while (!feof($handle)) {
echo fgets($handle);
flush();
ob_flush();
}
pclose($handle);
我错过了什么吗?
【问题讨论】:
-
尝试在 PHP 中添加一个字符集作为标题。见这里:stackoverflow.com/a/12740522/128161
-
试过但结果相同,我已经更新了问题
-
用
fread($handle, 1024);代替fgets怎么样? -
nope.still 给我同样的结果,我需要配置我的 PHP 还是什么?
-
我不确定是否诚实。这可能与
popen而不是使用fopen有关。您是否可以稍微更改代码以使用fopen并将 URL 设置为网站并逐行输出内容。如果这样可行,那么问题将出在popen而不是您的服务器配置中,因此可能有助于缩小问题范围。
标签: php python shell real-time