2013-10-24 91 views
1

由於我更新了我的MAC操作系統(到最新的OSX Mavericks),我注意到我的頁面上沒有內容(這是一個帶有許多代碼的php項目)。simplexml_load_file結果爲空頁面

但問題是,每當我嘗試通過Simplexml加載XML文件時都會出現問題。

下面的代碼:

$file = __DIR__ . '/myfile.xml'; 
$xml = simplexml_load_file($file); 

但沒有任何錯誤,它只是一個空白頁(無HTML源代碼在瀏覽器中看到)。而且我沒有關閉錯誤報告。路徑也是正確的(is_file()返回true)。

就像我說的,在操作系統更新之前它運行良好。

+0

「我沒有關閉錯誤報告」 - 但是您是否已將它轉換爲**?如果這是全新安裝的PHP,那麼您的php.ini可能會被覆蓋。 – IMSoP

+0

[參考 - 在PHP中這個錯誤的含義是什麼?](http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php)(尤其是[this部(http://stackoverflow.com/a/12772851/157957))。 – IMSoP

+0

我認爲錯誤報告仍然存在,因爲如果我通過在不存在誰之間添加額外文件夾而導致路徑錯誤,它將引發關於wron路徑的異常......我還添加了'ini_set('display_errors', 1); error_reporting(〜0);'但沒有改變任何東西 – lenny

回答

1

我的Mac在更新到小牛後執行同樣的操作。每當我調用simplexml_load_file時,httpd服務實際上都會崩潰,所以不會生成php錯誤。檢查/庫/日誌/ DiagnosticReports /錯誤日誌。我還沒有找到修復程序。

更新到XAMPP Mac OS X 1.8.3 PHP 5.5爲我解決了這個問題。 http://www.apachefriends.org/en/xampp-macosx.html

2

更新到小牛後,我遇到了同樣的問題。 當我嘗試致電simplexml_load_file頁面崩潰時。我用$content = file_get_contents($xml); $config = new SimpleXMLElement($content);而不是simplexml_load_file它幫助了我。

+0

如果我可以提出一個建議 - 而不是調用'file_get_contents'然後'new SimpleXMLElement'(它將使用大約兩倍的內存量),而不是使用'$ data_is_url'參數。所以:'$ config = new SimpleXMLElement($ xml,0,true)' – garbetjie