2013-04-25 79 views
0

在我的debian上运行xampp。我想用php shell_exec执行一个python脚本。 这是我的PHP代码:如果我用这个从终端窗口中运行它从PHP执行的python脚本给出错误

/usr/bin/python: /opt/lampp/lib/libz.so.1: no version information available (required by /usr/bin/python) 

shell_exec("/opt/lampp/htdocs/news/hello.py 2>1 &"); 

当我从浏览器中运行它,我得到这个错误php /opt/lampp/htdocs/page/index.php它工作没有任何问题。 因此,任何想法如何使它从浏览器工作? 谢谢

+0

这是不一样的shell。另一个壳体缺少的是什么。也许只是一个环境变量或它的一个值?比较展台环境可能会使您更轻松地进行故障排除。对不起,我不知道python那么好,我会知道那个错误消息*的意思*。 – hakre 2013-04-25 12:01:29

+0

也许搜索互联网的错误消息是肝,似乎你不是第一个看到它:http://ubuntuforums.org/showthread.php?t=1905963 – hakre 2013-04-25 12:03:36

回答

0

我猜xampp自带库而不是使用系统库,这可能意味着它将LD_LIBRARY_PATH设置为本地库目录。

这也会导致其他程序启动从PHP使用这些库,它们可能不兼容。

为了达到这个目的,试试system("env");,它可以显示所有导出的环境变量。如果LD_LIBRARY_PATH设置,使用方法:

shell_exec("LD_LIBRARY_PATH= /opt/lampp/htdocs/news/hello.py 2>1 &"); 

跑跑python脚本之前会取消它。

+0

我得到这个 '追踪(最近呼叫最后): 文件 “/docvert/docvert-cli.py”,第12行,在 进口core.docvert 文件 “/docvert/core/docvert.py”,第9行,在 进口docvert_libreoffice 文件“/ docvert /核心/ docvert_libreoffice.py”,第18行,在 进口乌诺 文件 “/usr/lib/python2.7/dist-packages/uno.py”,线路52,在 _g_ctx = pyuno.getComponentContext( ) SystemError:引导期间出错uno(RuntimeException):无法打开文件:///root/ure/types.rdb' – gogu 2013-04-26 05:19:13

+0

这意味着python脚本正在运行,但脚本本身存在不同的问题,而不是直接与此相关。你应该为这个问题开一个新的问题。 – mata 2013-04-26 07:48:21