phppython调用linux命令令问题,知道的解答谢谢

The page is temporarily unavailable
nginx error!
The page you are looking for is temporarily unavailable.
Please try again later.
Website Administrator
Something has triggered an error on your
This is the default error page for
nginx that is distributed with
It is located
/usr/share/nginx/html/50x.html
You should customize this error page for your own
site or edit the error_page directive in
the nginx configuration file
/etc/nginx/nginx.conf.新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 16, 距离下一级还需 184 积分
论坛徽章:0
本帖最后由 fogmeng 于
10:51 编辑
在php调用shell时
例如shell中写 iptables -nvL 则提示127,找不到命令。
但shell中写/sbin/iptables-nvL&&就没事,
这是什么情况阿。
单独运行shell时shell中写 iptables-nvl也没问题,可用php调用shell时就出现上述问题
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
家境小康, 积分 1392, 距离下一级还需 608 积分
论坛徽章:0
环境遍历。。。
论坛徽章:379
用绝对路径调用看看
白手起家, 积分 16, 距离下一级还需 184 积分
论坛徽章:0
& & 在shell中写/sbin/iptables -nvL php调用时就没事,但写iptables -nvL时,php调用shell就会返回127。。。
论坛徽章:379
& & 环境变量的问题
白手起家, 积分 16, 距离下一级还需 184 积分
论坛徽章:0
& & 单独运行shell能执行,
&&环境变量应该怎样该。。
论坛徽章:379
你还是用绝对路径运行吧
白手起家, 积分 16, 距离下一级还需 184 积分
论坛徽章:0
我想找出原因那。。。
小富即安, 积分 2094, 距离下一级还需 2906 积分
论坛徽章:0
谁来给整个&&环境变量啊,我又忘记了。。记性太差
白手起家, 积分 16, 距离下一级还需 184 积分
论坛徽章:0
环境变量改哪里阿
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处2279人阅读
Linux(43)
昨天实验室开发的网络存储系统遇到了一个的BUG。
【问题描述】
php通过exec函数调用Linux命令&service smb restart&(重启Samba服务),以前都是正常重启后exec函数立即返回状态码0,但昨天底层正常重启后exec函数却迟迟不返回,从而导致程序执行到这儿就卡住了。
【解决思路】
(1)一开始我在想是什么导致samba服务无法正常重启,经过进一步的实验发现,通过我们的网络存储系统,samba服务关闭操作是可以正常执行的,但开启和重启操作都无法正常执行。另外,从底层Linux系统控制台上直接执行开启和重启服务的命令都是可以正常的执行并返回。所以基于以上实验现象,我猜想问题可能跟php和samba服务相关的权限有关。随后我查看了samba的配置文件、目录权限,以及与samba相关的用户权限管理工具openldap,都未发现明显问题(不排除有遗漏的地方)。
(2)后来,我就想到之前用过的expect脚本,可以监控一条命令执行的时间并在超时后强行终止。将samba服务重启命令用expect脚本封装并设置timeout后,单独运行该脚本是可以在指定的timeout后强行返回,但我们的网络存储系统执行该脚本时还是无法正常返回。
(3)最后,我就想到从exec函数本身入手,经调研,最终改用proc_open和proc_close函数(打开和关闭一个进程通道)来达到php异步执行Linux命令的目的,具体的php代码如下:proc_close(proc_open(&service smb restart&, $output, $ret));
到此,昨天的BUG算是绕过去了,但具体为什么会出现这个问题我还是不太明白,若是有朋友遇到过类似的状况也请交流一下经验~
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:382239次
积分:4778
积分:4778
排名:第4808名
原创:104篇
转载:11篇
评论:80条
(2)(2)(1)(1)(1)(1)(2)(5)(2)(1)(3)(2)(4)(2)(4)(3)(4)(1)(10)(12)(2)(10)(29)(14)(1)问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
服务器centos,因为需要调用phantomjs,已经安装了phantomjs的二进制文件,并且,在putty上尝试了phantomjs --version能正常输出:1.9.8.
然后试了下:
exec("phantomjs --version", $o, $e);
echo $e;//返回127
很纳闷,再试了下:
exec("ls", $o, $e);
echo $e;//还是返回127
谷歌很久,有的人说要采用绝对路径,遂再试了下:
于是再在php中输入:
exec("/bin/ls", $o, $e);
echo $e;//还是返回127
查看php.ini,safe_mode=Off,disble_functions里也没有禁用exec()和system()等函数,按理说php应该有执行exec的权限啊,换成system(),shell_exec均是返回127,我快疯了,求大神解答,这个exec函数到底该杂用
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
检查下你当前运行PHP脚本的用户
我用root用户测试了下,不会有什么错
exec 或者system 运行的命令,首先应该是当前运行脚本用户有执行此程序的权限
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 App
SegmentFault
一起探索更多未知

我要回帖

更多关于 lua调用linux命令 的文章

 

随机推荐