日期:2014-05-17  浏览次数:20396 次

DOMDocument 远程load 报错 failed to open stream: Permission denied 怎么办?
代码很简单。就是这个。。。


$doc = new DOMDocument();
$doc -> load('http://223.4.174.61:22093/quoteFile/quote.xml');

报错如下

 DOMDocument::load(http://223.4.174.61:22093/quoteFile/quote.xml): failed to open stream: Permission denied


本地测试没问题。,但是放服务器上就不行。。
在服务器试着用 fopen file_get_contents都提示 Permission denied,但打开别的远程连接没问题。

求各路神仙给看看

------解决方案--------------------
服务器禁用了打开远程文件

如果不是自主服务器,大部分都禁的
------解决方案--------------------
22093 端口未开放
------解决方案--------------------
你的服务器是linux吗?自己搜索下怎么开启端口
------解决方案--------------------
Linux防火墙iptables开放网络端口的方法
1. 编辑vi /etc/sysconfig/iptables文件,如:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
……
2. 重启iptalbes服务:/etc/init.d/iptables restart

不知道你的服务器是什么操作系统
------解决方案--------------------
总之是要在你那里找原因,因为我 $doc -> load('http://223.4.174.61:22093/quoteFile/quote.xml');
可以得到数据