简单的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()); 
      } 

      } 


    } 
} 
+0

代码? – 2009-06-30 16:27:16

+0

我的代码是波纹管 – chris 2009-06-30 16:42:33

添加更多的错误处理和调试代码

<?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地址许可,您的服务器上启用。如果没有,然后启用它。