首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP exec python不工作

PHP exec python不工作
EN

Stack Overflow用户
提问于 2011-02-27 13:32:10
回答 4查看 6.9K关注 0票数 3

嘿,你们好。我正在从dreamhost的from服务器上运行python。我正在使用他们安装的python,并使用了一个可以在这里找到的lastfm模块:http://code.google.com/p/python-lastfm/

为了让它正确导入,我这样做

代码语言:javascript
复制
import sys
sys.path.append("/home/myusername/build/Python-2.5/Lib/site-packages/")
import lastfm

因为lastfm模块安装在那里。

当我使用putty ssh到我的服务器时,我可以简单地运行python test.py,它可以完美地工作。但是当我从php脚本运行它时

代码语言:javascript
复制
exec("python test.py");

假设它不工作,脚本也不能运行。当我这样做时,它运行得非常好。

代码语言:javascript
复制
import lastfm

然后再做其他的事情,但是当我真的尝试用模块做一些事情时,比如:

代码语言:javascript
复制
import lastfm
api=lastfm.Api(api_key)

它不能运行。再一次,我可以在shell中使用相同的python安装来运行该脚本,它可以很好地执行。因此,当我从php脚本运行它时,一定发生了一些错误。我认为它会运行完全相同的python和所有的东西。我查看了其他帖子,他们说这可能是文件权限的问题,但我将每个文件都设置为777,它仍然不起作用。了解问题可能是什么。提前感谢大家。

EN

回答 4

Stack Overflow用户

发布于 2011-02-27 13:47:03

尝试使用python可执行文件的完整路径。例如:

exec("/usr/bin/python test.py")

您可以从命令行使用which命令查找完整路径:

$哪个python /usr/bin/python

票数 1
EN

Stack Overflow用户

发布于 2011-02-27 14:17:58

无论python引发什么错误,都会发送到孩子的stderr。尝试告诉php从stderr读取数据,或者(在python中)这样做:

代码语言:javascript
复制
import sys
sys.stderr = sys.stdout
票数 1
EN

Stack Overflow用户

发布于 2011-10-31 06:40:03

对于Windows用户:

代码语言:javascript
复制
$output = null;
exec('C:\\Python27\\python.exe C:\\sud.py', $output);
echo var_export($output, TRUE);

我搜索了一整天的代码^^

这就是为什么-希望它能帮助别人。

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

https://stackoverflow.com/questions/5131641

复制
相关文章

相似问题

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