gpt4 book ai didi

php - 让 PHP 等待 python 脚本完成

转载 作者:行者123 更新时间:2023-12-03 21:40:12 24 4
gpt4 key购买 nike

我在 PHP 中使用 exec() 命令来运行将产生一些输出的 python 脚本。这个 python 脚本查询一个相当大的 PostgreSQL 数据库,所以执行它需要一两秒钟。这是我的代码:

测试文件

<?php
$output = exec('/usr/local/bin/python2.7 test.py', $output);
var_dump($output);
?>

测试文件
import nfldb


db = nfldb.connect()
q = nfldb.Query(db)

q.game(season_year=2012, season_type='Regular')
for pp in q.sort('passing_yds').limit(10).as_aggregate():
print pp.player, pp.passing_yds

通过从命令行运行 python 脚本并在 python 脚本中放置一个测试“print 10”以确保 php 脚本正常工作,所有代码都可以正常工作。

我很确定,因为执行脚本需要几秒钟的时间,所以 PHP 没有正确等待输出。我尝试了 set_time_limit() 函数,但它实际上并没有从 exec() 计算时间。

有什么建议?

最佳答案

使用 popen r模式。:

<?php
$handle = popen('/usr/local/bin/python2.7 test.py', 'r');
$output = fread($handle, 1024);
var_dump($output);
pclose($handle);
?>

关于php - 让 PHP 等待 python 脚本完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21274037/

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