我想从php执行python,我有一个脚本,可以很好地用于默认的python解释器。我有centos,默认的python2.6.6安装在/usr/bin/python,python2.7.3安装在/usr/local/bin/python2.7。您可以看到默认的python版本是什么:[root@me ~]# python -V
Python 2.6.6
[root@me ~]# python2.7 -V
Python 2.7.3
现在我想从php调用一个简单的python脚本。它应该在Python2.7.3中执行,而不是在Python2.6.6中执行。但我只能用python的默认版本来完成。在
菲律宾比索(测试.php):
^{pr2}$
Python(测试.py):#!/usr/bin/env/python2.7
import sys
print(sys.version)
输出(一旦我运行测试.php在浏览器中):array(2) { [0]=> string(41) "2.6.6 (r266:84292, Jan 22 2014, 09:42:36)" [1]=>
string(38) "[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)]" }
所以当我使用:exec($command, $output);
一切正常,它显示了正确版本的python(2.6.6)
但是当我跑的时候测试.php有:exec($command1, $output);
我得到这些结果(没有结果):array(0) { }
因此没有结果,所以我想知道python是否看到了安装2.7.3
从命令行2.7.3可用-例如:[root@me ~]# python2.7
Python 2.7.3 (default, Jan 2 2015, 00:56:13)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "it works"
it works
我该怎么解决这个问题呢?在
编辑:The result of whereis -b python :python:
/usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6
/usr/local/bin/python2.7-config /usr/local/bin/python2.7 /usr/local/lib/python2.7
/usr/include/python2.6