我将在PHP中使用exec()命令运行一个Python脚本并生成一些输出。这个Python脚本查询一个相当大的PostgreSQL数据库,因此执行需要一两秒钟的时间。下面是我的代码:
test.php
<?php
$output = exec('/usr/local/bin/python2.7 test.py', $output);
var_dump($output);
?>
test.py
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()计算时间。
有什么建议吗?