LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1284|回复: 3

linux上fopen的问题

[复制链接]
发表于 2007-10-7 11:16:14 | 显示全部楼层 |阅读模式
<?
$fp = fopen("http://www.163.com/", "r");// line 19

$j=1;

$s="";
while($s1=fgets($fp,4096))// line 25

{
$s.=$s1;
}
fclose($fp);// line 29

?>

error_log:

[Fri Oct 05 22:51:14 2007] [error] [client 221.235.58.176] PHP Warning:  fopen(http://www.163.com/) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: Permission denied in /var/www/html/k.php on line 19
[Fri Oct 05 22:51:14 2007] [error] [client 221.235.58.176] PHP Warning:  fgets(): supplied argument is not a valid stream resource in /var/www/html/k.php on line 25
[Fri Oct 05 22:51:14 2007] [error] [client 221.235.58.176] PHP Warning:  fclose(): supplied argument is not a valid stream resource in /var/www/html/k.php on line 29


在WIN下正常,为什么一到LINUX下就不行了?是不是因为防火墙的原因?该怎么设?

我又试过了passthru("wget www.baidu.com");
返回failed: Permission denied.
passthru("ping www.baidu.com");
返回socket: Permission denied

有谁知道为什么吗?
这个东西搞了几天了还没有搞定
发表于 2007-10-7 11:19:53 | 显示全部楼层
比较两个php.ini,是不是在linux下面配置成不允许用fopen的方式来处理socket
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-7 12:35:56 | 显示全部楼层
php.ini比较过了,应该没有问题
fsockopen也不行

打开服务器上的文件好好的,只要带HTTP就不行了,就出现Permission denied

是不是LINUX系统里面哪个地方设置的权限不够?还是防火墙有问题?
但我看了一下防火墙里面什么都没有设啊:
[root@100 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-7 13:04:37 | 显示全部楼层
是SELINUX的问题,关了就没事了
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表