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在网页中调用的时候就执行不了,而且没有任何输出。能帮我看看这是什么问题吗? 展开
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在网页中调用的时候就执行不了,而且没有任何输出。能帮我看看这是什么问题吗? 展开
1个回答
展开全部
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);
注意引号位置
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询