免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7327 | 回复: 5
打印 上一主题 下一主题

php 的system函数调用 LINUX 命令失败。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-15 17:09 |只看该作者 |倒序浏览
php 的system函数调用 LINUX 命令为什么总是失败呢?

我的php代码是这样写的:
<?php

system("service squid restart");

?>

是想重新启动squid 的, 但是没有成功,
在linux 的终端,键入service squid restart就完全可以。

请问该怎么处理这样的问题呢?

论坛徽章:
0
2 [报告]
发表于 2008-04-16 00:09 |只看该作者
确定php运行正常吗?

论坛徽章:
0
3 [报告]
发表于 2008-04-16 08:11 |只看该作者
<?php

system("service squid restart");
system("whoami")                        <- 加一条看看你使用的用户是什么,应该是权限问题,

?>
解决方法
sudo

论坛徽章:
0
4 [报告]
发表于 2008-04-16 09:53 |只看该作者
原帖由 7717060 于 2008-4-16 08:11 发表

解决方法
sudo



谢谢你的帮助,

我试过了,system("whoami")的结果是 vmail

我又用了sudo :  system("sudo service squid restart > /log.txt");
将结果squid重启的结果输出到文件中,结果:没有报错信息了,但是/log.txt该文件为内容为空(如果不用sudo 这里会记录报错信息),
与期待中的正确结果又有差别,那启动还是没有成功啊。

请指教还有什么地方不对吗?

论坛徽章:
0
5 [报告]
发表于 2008-04-16 13:37 |只看该作者

回复 #4 moonlit 的帖子

又研究了一下,sudo ,
发现sudo配置文件中没有对vmail 用户的操作, 这可能就是为什么上面的操作为什么失败的原因吧,
于是添加了对vmail的配置:
vmail    ALL=(ALL) ALL


在此执行system("sudo service squid restart > /log.txt");
,还是不行,/log.txt文件内容为空。

论坛徽章:
0
6 [报告]
发表于 2008-04-16 15:46 |只看该作者
你的 sudo 配置檔內有這種敘述嗎 ?

  1. requiretty
复制代码


有的話關閉之.

--
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP