【发布时间】:2016-11-29 07:24:53
【问题描述】:
我正在尝试使用 PHP 执行 python 脚本,但是当通过 php 执行时 python 似乎不起作用。
我尝试了这段代码来测试
$cmdResult = shell_exec("ls & /usr/local/bin/python2.7 --version & echo done");
返回:
done
LICENSE
example.py
当我在控制台(shell)上执行它时:
[root@local folder]# /usr/local/bin/python2.7 --version
Python 2.7.6
谁知道问题出在哪里?
附加信息:
[root@local folder]# ls -all /usr/local/bin/py*
-rwxr-xr-x 1 root apache 84 Jul 21 21:53 /usr/local/bin/pydoc
lrwxrwxrwx 1 root root 24 Jul 21 21:43 /usr/local/bin/python -> /usr/local/bin/python2.7
-rwxrwxrwx 1 root apache 4669791 Jul 21 21:53 /usr/local/bin/python2.7
-rwxr-xr-x 1 root apache 1674 Jul 21 21:53 /usr/local/bin/python2.7-config
【问题讨论】:
-
使用
passthru()而不是shell_exec() -
也没有返回 Python 版本。 passthru()
-
使用
&&而不是& -
使用 && 代替 & 也没有返回 python 版本。结果:example.py LICENSE done(仅更改了结果的顺序)
-
你把
&都换了吗?