ping: icmp open socket: Permission denied

为当前最终发行版之前的所有版本提供支持
回复
robbie003
帖子: 22
注册时间: 2008-01-31 13:25
送出感谢: 0
接收感谢: 0

ping: icmp open socket: Permission denied

#1

帖子 robbie003 » 2011-02-01 16:07

我要在PHP 用exec() 运行ping 命令,测试代码如下:
aaa.php

代码: 全选

$cmd="ping -c 2 localhost>data 2>&1";
echo shell_exec($cmd);
显示错误:

代码: 全选

ping: icmp open socket: Permission denied
/bin/ping

代码: 全选

[root@localhost html]# ls -l /bin/ping
-rwsr-sr-x  1 root root 33272 Jan 20  2009 /bin/ping
aaa.php

代码: 全选

[root@localhost html]# ls -l aaa.php 
-rwxr-xr-x  1 apache apache 84 Feb  1 14:05 aaa.php
我用过system(), exec() 都不行, 用mkdir命令没问题,可以new目录,但是就是ping不行,在terminal中ping可以,非root也可以,就是用php不行,郁闷 :em18 ,help~~~~please!
liheyuan
帖子: 8
注册时间: 2010-01-06 11:09
送出感谢: 0
接收感谢: 0

Re: ping: icmp open socket: Permission denied

#2

帖子 liheyuan » 2011-02-01 22:25

你的PHP.ini中有没有设置默认禁止的函数?
另外,用全路径试试,例如

代码: 全选

$cmd="/bin/ping -c 2 localhost>data 2>&1";
echo shell_exec($cmd);
Linux KVM中文站: www.kvm123.com
robbie003
帖子: 22
注册时间: 2008-01-31 13:25
送出感谢: 0
接收感谢: 0

Re: ping: icmp open socket: Permission denied

#3

帖子 robbie003 » 2011-02-02 12:40

exec() 执行'ls', 'mkdir',以及'mysql'一些命令等都行, 应该没有设置默认禁止的函数,你指exec()函数?如何禁止了该函数别的命令都不行了吧?

我用全路径试过了,不行一样, 同样错误: ping: icmp open socket: Permission denied

我想可能遗漏了什么问题,比如还涉及到什么权限设置,不止ping的权限,谁能帮我看看
回复

回到 “老旧版本支持”