gpt4 book ai didi

php - 执行shell,使用PHP实时获取并显示结果

转载 作者:行者123 更新时间:2023-11-28 22:35:37 27 4
gpt4 key购买 nike

我需要使用 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 always wait until script is done then displaying it.

在这种情况下,这不是 PHP 的错;这是因为如果进入管道,Python 会完全缓冲其标准输出。幸运的是,Python 有方便的选项 -u 来禁用 stdout 和 stderr 缓冲,所以使用

    $handle = popen('python -u folder\\a.py', 'r');

解决问题。另见 Disable output buffering .

关于php - 执行shell,使用PHP实时获取并显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38071395/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com