首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php exec缺少输出

php exec缺少输出
EN

Stack Overflow用户
提问于 2012-04-15 05:57:19
回答 2查看 2.6K关注 0票数 3

我正在尝试通过PHP执行POS的python脚本。但它没有返回全部输出。

Python脚本:

代码语言:javascript
复制
import nltk
import sys

text = sys.argv[1]

tokenize_into_words = nltk.word_tokenize(text)

print text

result = nltk.pos_tag(tokenize_into_words)

print result

print "Done!"

PHP脚本

代码语言:javascript
复制
$cmd = 'python /Library/WebServer/Documents/varticle/vcmdpos.py ' . $string2;

$tmp = exec($cmd,$output);

print_r($output);

命令:

python /Library/WebServer/Documents/varticle/vcmdpos.py科学家

观测输出:

阵列( =>科学家)

预期输出:

数组( => => 1 => (“科学家”,“NNS”)“2=>”完成!)

当我手动运行命令时,运行大约需要5-10秒。这可能是由于进行POS标记或导入nltk所需的时间。

但是,当通过PHP运行时,它会在未返回之后立即返回nltk.pos_tag或print语句的输出。

我是不是遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-15 18:45:02

需要在命令中添加2>&1以获得完整的输出。这解决了我的问题。

票数 3
EN

Stack Overflow用户

发布于 2012-04-15 11:15:25

尝试使用exec --或者,如果您想拥有更多的控制,则使用proc_open --而不是使用exec()。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10159898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档