简单的XML在客户端服务器上不起作用
问题描述:
我使用simpleXML构建了一个站点以从XML页面提取内容。简单的XML在客户端服务器上不起作用
我只是将网站切换到客户端服务器,从XML表中拉出的页面不再工作。
测试服务器是PHP 5.2.9版本
客户端服务器是PHP 5.2.5版
allow_url_fopen
是两个服务器。
任何想法?
class award{
var $xml;
var $awards;
function titles(){
$this->fullArticle();
$xml=simplexml_load_file("awards.xml");
foreach($xml->award as $currentAward){
$titles=$currentAward->title;
echo '<li><a href="';
base_url();
echo 'about/awards.php?award=';
echo $titles;
echo '">' . str_replace(array('<h1>','</h1>'), '', $currentAward->$titles->h1->asXML()) . '</a></li>';
}
}
function fullArticle(){
$awards=array();
$xml=simplexml_load_file("awards.xml");
foreach($xml->award as $currentAward){
array_push($awards, $currentAward->title);
}
return($awards);
}
function articleBlock($awardy){
$xml=simplexml_load_file("awards.xml");
foreach($xml->award as $currentAward){
if($currentAward->title = $awardy){
echo str_replace(array('<'.$awardy.'>','</'.$awardy.'>'), '', $currentAward->$awardy->asXML());
}
}
}
}
答
添加更多的错误处理和调试代码
<?php
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_BAIL, 1);
assert_options(ASSERT_QUIET_EVAL, 1);
error_reporting(E_ALL);
ini_set('display_errors', 1);
class award {
function titles() {
$xml=simplexml_load_file("awards.xml");
if (!$xml) {
throw new Exception("cannot read awards.xml");
}
assert(isset($xml->award));
foreach($xml->award as $currentAward) {
assert(isset($currentAward->title));
assert(isset($currentAward->$titles));
assert(isset($currentAward->$titles->h1));
$titles=(string)$currentAward->title;
echo '<li><a href="';
base_url();
echo 'about/awards.php?award=';
echo urlencode($titles);
echo '">' . str_replace(array('<h1>','</h1>'), '', $currentAward->$titles->h1->asXML()) . '</a></li>';
}
}
答
请检查您的IP地址许可,您的服务器上启用。如果没有,然后启用它。
代码? – 2009-06-30 16:27:16
我的代码是波纹管 – chris 2009-06-30 16:42:33