如何使用PHP实时调用python脚本返回结果?

陈lex

我使用PHP成功调用了python脚本并获得了结果。但是我必须等待脚本结束运行而没有任何输出。对我的客户来说似乎不友好。

如何将脚本结果实时返回到PHP网站?

例如,对于下面的代码,我想让PHP Web实时显示输出消息,而不是最后一起显示它们。如何更改我的代码?谢谢你 。

PHP代码:

 <?php
$k = $_REQUEST['k'];
if (!empty($k))
{
$k = trim($k);
$a = array();
exec('python ./some.py '.$k, $a);
echo $a[0];
}
?>

Python代码:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys

def do_some(a):
    print 'test1'
    time.sleep(30)
    print 'test2'

if __name__ == '__main__':
    print 'Now the python scritp running'
    time.sleep(20)
    a = sys.argv[1]
    if a:
    print 'Now print something'
    T = do_some(a)
西尔万·勒鲁

根据说明,exec停止调用程序,直到被调用方结束。之后,您将输出返回到变量中。

如果要在数据生成后立即发送,则应使用popen它将派生一个新进程,但不会阻止调用者。因此,您可以执行其他任务,例如循环循环逐行读取子流程输出以将其发送到您的客户端。什么的是:

$handle = popen("python ./some.py ", 'r');
while(!feof($handle)) {
    $buffer = fgets($handle);
    echo "$buffer<br/>\n";
    ob_flush();
}
pclose($handle)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用PHP实时调用python脚本返回结果?

来自分类Dev

您如何在HTML页面加载时调用PHP脚本?

来自分类Dev

您如何在HTML页面加载时调用PHP脚本?

来自分类Dev

从API返回新结果时调用函数

来自分类Dev

Angular 2 如何在可观察更改/服务返回新结果时调用服务方法?

来自分类Dev

如何使用.htaccess启动时调用index.php?

来自分类Dev

实时调试PHP

来自分类Dev

如何使用Combine返回取回调用的结果?

来自分类Dev

从PHP控制器使用request.post()调用python脚本永远不会返回。为什么?

来自分类Dev

如何使用 AJAX 调用 php 脚本

来自分类Dev

如何使用ajax在提交时调用页面?

来自分类Dev

jQuery AJAX使用JSON返回对PHP脚本的调用

来自分类Dev

如何使用python脚本调用JavaScript函数?

来自分类Dev

从PHP调用Python脚本

来自分类Dev

如何使用python返回for循环计数的结果?

来自分类Dev

单击按钮时调用脚本

来自分类Dev

如何从Java调用python脚本并返回长文本?

来自分类Dev

BASH脚本在需要按键返回提示时调用新脚本

来自分类Dev

使用Python调用Bash脚本时为什么返回256

来自分类Dev

从后台返回时调用onCreate

来自分类Dev

如何通过Shell脚本在终端上显示实时结果?

来自分类Dev

Python - 如何在单击按钮时调用的函数内使用变量的值

来自分类Dev

如何使用Vue过滤“实时”结果?

来自分类Dev

如何使用for循环的实时结果更新GUI?

来自分类Dev

PHP的搜索脚本返回相同的结果

来自分类Dev

PHP脚本未返回任何结果

来自分类Dev

在bash脚本失败时调用脚本

来自分类Dev

同时调用多个http端点,合并结果并返回到dart中的单个futurebuilder

来自分类Dev

使用jQuery AJAX在表单提交时调用php页面

Related 相关文章

热门标签

归档