PHP:是否已加載SimpleXML?

Depositphotos 11843590年代

我構建了幾個需要PHP5 +和 SimpleXML的。 SimpleXML是一種解析來自以下位置的XML響應的更簡單,性能更好的方法: APIs。 但是,問題在於,我每天或每週都會收到幾封電子郵件,問我為什麼用戶無法加載程序並導致錯誤。

顯然,我對插件和項目頁面的注意還不夠,因此我做了正確的事,並向兩個插件添加了功能以驗證是否已加載SimpleXML擴展。

用於檢查是否已加載SimpleXML擴展的PHP函數:

函數isSimpleXMLLoaded(){$ array = array(); $ array = get_loaded_extensions(); $ result = false; foreach($ array as $ i => $ value){if(strtolower($ value)==“ simplexml”){$ result = true; 返回$結果; }

現在,在使用 SimpleXML 的函數中,我可以簡單地確保在我實際嘗試 SimpleXML 調用之前已加載它。 如果

如果(!isSimpleXMLLoaded()){echo“將您的網站託管在其他地方!”; 返回; }

我知道我有一些PHP專家來關注我的博客,讓我知道我的工作方式! 我已經發布了兩個插件的小更新以利用這種方法。

6 個評論

  1. 1

    你好道格,

    我確實注意到一個可能不會引發錯誤的錯誤。

    if($ value =“ SimpleXML”){$ result = true; }

    應該

    if($ value ==“ SimpleXML”){$ result = true; }

    雖然出於安全考慮。 我更喜歡。

    如果(strtolower($ value)==“ simplexml”){$ result = true; }

    您也可以使用'extension_loaded',它使用擴展名進行檢查(區分大小寫)。

    $ loaded = extension_loaded(“ SimpleXML”);

    返回TRUE或FALSE。

    PS我自己不要喝咖啡,但我可以放一個“給我買一盒甜甜圈”按鈕button

  2. 4

    yum install php55-xml.x86_64為php 5.5.11安裝simpleXML

    運行交易
    安裝:php55-xml-5.5.11-1.el6.x86_64 1/1
    驗證:php55-xml-5.5.11-1.el6.x86_64 1/1

    然後安裝
    /usr/lib64/php/modules/simplexml.so

  3. 5

你覺得呢?

本網站使用Akismet來減少垃圾郵件。 了解您的評論如何處理.