我使用PHP相对较新,使用XML更是如此。
我的本地主机上有一个完美的脚本,但是当我尝试将它放在我的服务器上时,我收到了这样的消息:
警告:simplexml_load_file() [function.simplexml负荷文件]: http://api.wefeelfine.org:8080/ShowFeelings?display=xml&feeling=happy&returnfields=imageid,feeling,sentence,posttime,postdate,posturl,gender,country,state,city,lat,lon&limit=0&extraimages=20:1:
解析器错误:文档为空 /home2/alsweet/public_html/notalone.php 在第21行
不起作用的代码行是:
// get api feed
$xml = simplexml_load_file('http://api.wefeelfine.org:8080/ShowFeelings?display=xml&feeling=' . $feeling . '&returnfields=imageid,feeling,sentence,posttime,postdate,posturl,gender,country,state,city,lat,lon&limit=0&extraimages=20');
我犯了错误吗? 我应该和我的托管服务提供商说话吗?
答案 0 :(得分:1)
使用你的xml加载器中的url:
<?xml version="1.0"?>
<feelings>
</feelings>
所以它应该解析得很好。请咨询您的托管服务提供商,以确保支持simplexml_load_file。
答案 1 :(得分:0)
尝试隔离该行,看看它确实是问题来自哪里。在自己的文件中运行此代码,看看是否有效。
<?php
$xml = simplexml_load_file('http://api.wefeelfine.org:8080/ShowFeelings?display=xml&feeling=happy&returnfields=imageid,feeling,sentence,posttime,postdate,posturl,gender,country,state,city,lat,lon&limit=0&extraimages=20');
print_r($xml);
?>
答案 2 :(得分:0)
这实际上是我的托管问题,
事实证明,这是因为我试图呼叫端口8080上的另一台服务器,该端口未在防火墙中打开。所以他们打开它,它工作正常。
非常感谢你的帮助!