代码:
<?php
  if (file_exists('test.xml'))
  {
  $xml = simplexml_load_file('test.xml');
  var_dump($xml);
  }
?>
XML内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>在本地测试是正常的,上传到服务器(阿里云)var_dump打印出来的就是false。
应该不是xml的问题,试了几个示例还是同样的情况。
但是simplexml_load_string就不会出现这种情况,上传到服务器打印出来也是正常的。请问这种问题是什么原因,应该从什么地方入手解决呢?
小白一个 - - 查了一些资料也没解决,感谢回答。

解决方案 »

  1.   

    $xml = file_get_contents('test.xml');
    var_dump($xml);你先看看这样会有什么?
      

  2.   


    感谢版主!是这样的string(165) " George John Reminder Don't forget the meeting! "
      

  3.   

    那你就先这样完成调试
    $xml = simplexml_load_string(file_get_contents('test.xml'));再去找问题的原因
      

  4.   

    检查simplexml_load_file() 函数是否被服务器禁用了
      

  5.   

    simplexml_load_string可以,表示你的xml没问题
    simplexml_load_file不行,那就要检查路径是否正确,如果正确的,那可能是阿里云禁用了这个方法了。
      

  6.   

    显示所有被禁用的函数$disfun=ini_get('disable_functions');
    if (empty($disfun)){
      echo'没有禁用</p>';}
    else{
    echo ini_get('disable_functions').'</p>';}
    }
      

  7.   

    最近遇到simplexml_load_file 不稳定的问题,基本上有40%-50%的概率会返回false,程序根本没法往下走下去
    最后解决办法是用simplexml_load_string,然后强制转化达到目的
      

  8.   

    simplexml_load_string() 很稳定