2011-11-27 63 views
0

我的代碼只是返回此:儘管在php.ini中啓用了allow_url_fopen和simpleXML,但爲什麼SimpleXMLElement未定義?

Fatal error: Call to undefined function SimpleXMLElement() in /path/to/xmltest.php on line 6

和代碼本身:

<?php 
$language_url = "http://www.fakesite.com/api/FAKEAPIKEY/languages.xml"; 

// Passing the XML 
$data = file_get_contents($language_url); 
$books = SimpleXMLElement($data); 

//------------------- 
// Passing a filename 
//$books = SimpleXMLElement($language_url, null, true); 
?> 

當然,$language_url是有效的,但我改變了它的隱私問題。它駐留在我嘗試運行此腳本的另一個站點上。

回答

3

SimpleXMLElement是simplexml的一類,
你應該初始化它像往常對象: -

$books = new SimpleXMLElement($data); 

或者程序功能

$books = simplexml_load_string($data); // load from string 
$books = simplexml_load_file($url); // load from file 
+0

做第一個建議給了另一個錯誤,說simpleexmlelement至少需要一個參數。我會嘗試其他建議。 –

+0

你真的必須閱讀手冊,我已經更新';'到'(...);' – ajreal

+0

隨着更新(這是我的評論後,而不是之前)事情再次正常工作。謝謝您的幫助。 –

1

是對的SimpleXML庫加載?看看你的php.ini中有一行說;extension=simplexml.so並刪除分號。重新啓動你的HTTP服務,它應該工作。

+0

我補充說,首先,這個改變似乎反映在phpinfo不知道如何重啓我的主機上的http服務。我會研究它。 –

+1

是的,你必須重新啓動服務才能使這些更改生效。你有服務器上的root shell訪問權嗎?如果是這樣,請嘗試鍵入/etc/init.d/httpd restart或者交替地/etc/init.d/apache2 restart – nageeb

相關問題