PHP调用pytnon程序问题,急求解答

WBOY
풀어 주다: 2016-06-23 14:16:20
원래의
1003명이 탐색했습니다.

本帖最后由 chuandali 于 2013-07-18 20:00:58 编辑

PHP Linux Python

    各位大侠,问题是这样的:我的界面需要与系统交互,想通过
exec("python /home/huliang/nessus_schedul/application_update.py 202.115.36.218 app",$out,$states);
로그인 후 복사
语句执行系统调用,
python /home/huliang/nessus_schedul/application_update.py 202.115.36.218 app
로그인 후 복사
로그인 후 복사
中“202.115.36.218”以及“app”是所需要的参数,语句
python /home/huliang/nessus_schedul/application_update.py 202.115.36.218 app
로그인 후 복사
로그인 후 복사
在linux下可以执行,但是作为exec()函数的第一个参数就不能正确执行了,球大侠指点,给出解决方案,不胜感激啊。。。


回复讨论(解决方案)

执行php是通过浏览器还是命令行?

通过浏览器的话,以web server的用户在shell下执行这个命令,看看会提示什么问题

首先确定下php执行的环境用户可以执行你上述的命令。

通过命令行

[root@frontend ru]# php show_software_update.php 
로그인 후 복사
可以正确执行。但通过浏览器不能正确执行,是怎么回事啊?怎么解决?大侠?。。

  1楼的“以web server的用户在shell下执行这个命令”这句话是什么意思啊?我是菜鸟不太懂。。。

  1楼的“以web server的用户在shell下执行这个命令”这句话是什么意思啊?我是菜鸟不太懂。。。

你的服务器用的是apache还是nginx?这些server运行的时候也是有用户的,而你用浏览器访问的时候,php执行的环境用户就是这些server的用户,而你用exec执行时,执行shell命令权限也是这些sever的用户的权限,你可以在命令行下切换成这些用户登录,然后确认这些用户可以正常执行,你#2楼其实root用户在执行,root可以执行,不代表这些server的用户也可以执行

如楼上所说,可能是所在组对文件没有执行权限。

尝试下exec("/usr/bin/python xxxx.py ",$out,$status);

   谢谢楼上帮我解决问题,虽然没有直接解决但是帮我找到了问题根源,是权限问题,现在给大家发个解决方案的网址:http://www.4wei.cn/archives/1001469,以供参考

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿