php使用system函数执行python脚本没现象

<?phpsystem("python/var/www/pythonmoudle/testphp.py,$return_val");echo"$return_val";?... <?php
system("python /var/www/pythonmoudle/testphp.py,$return_val");
echo "$return_val";
?>

python脚本如下
import sys
import os

def php_get_python():
print"hello python!"

if __name__=='__main__':
php_get_python()
if os.geteuid():
args=[sys.executable]+sys.argv
os.execlp('sudo','sudo',*args)
print('Runing at root privilege.Your euid is',os.geteuid())
我需要让这个python 脚本执行具有root权限所以将uid换成了0,python脚本可以执行,但是使用php在网页中调用的时候就执行不了,而且没有任何输出。能帮我看看这是什么问题吗?
展开
 我来答
chaoningwang
2015-04-03 · TA获得超过682个赞
知道小有建树答主
回答量:806
采纳率:83%
帮助的人:888万
展开全部
system只返回状态码,所以和你直接执行.py的效果肯定不一样啊。
追问
返回的状态码应该有0,1,但是echo "$return_val";也没有现象,还有就是如果将python中

if os.geteuid():
。。。。。。。
print('Runing at root privilege.Your euid is',os.geteuid())
这段代码去掉在网页上能显示“hello python”
追答
你测试一下啊,先把if os.geteuid那段替换成一个简单的print “1111111111”,看看是不是能正常输出

重新看了下你的代码。。。这句
system("python /var/www/pythonmoudle/testphp.py,$return_val");

应该是这样
system("python /var/www/pythonmoudle/testphp.py“,$return_val);
注意引号位置
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式