PHP: Ist SimpleXML geladen?

Depositphotos 11843590 s

Es gibt ein paar Plugins, die ich erstellt habe und die PHP5 + und erfordern SimpleXML. SimpleXML ist eine viel einfachere und leistungsfähigere Methode zum Parsen von XML-Antworten aus APIs. Das Problem ist jedoch, dass ich einige E-Mails pro Tag oder Woche erhielt, in denen ich gefragt wurde, warum der Benutzer das Programm nicht laden konnte und dies zu Fehlern führte.

Anscheinend waren meine Hinweise auf den Plugins und auf den Projektseiten nicht ausreichend, also habe ich das Richtige getan und beiden Plugins Funktionen hinzugefügt, um zu überprüfen, ob die SimpleXML-Erweiterung geladen ist.

Die PHP-Funktion zum Überprüfen der SimpleXML-Erweiterung ist geladen:

Funktion isSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ result = false; foreach ($ array als $ i => $ value) {if (strtolower ($ value) == "simplexml") {$ result = true; }} return $ result; }}

In den Funktionen, die SimpleXML verwenden, kann ich jetzt einfach sicherstellen, dass es geladen ist, bevor ich den SimpleXML-Aufruf tatsächlich versuche. Wenn

if (! isSimpleXMLLoaded ()) {echo "Hosten Sie Ihre Site woanders!"; Rückkehr; }}

Ich weiß, dass ich einige PHP-Gurus habe, die mein Blog im Auge behalten. Lassen Sie mich wissen, wie ich es gemacht habe! Ich habe kleinere Updates für beide Plugins veröffentlicht, um diese Methode zu verwenden.

6 Kommentare

  1. 1

    Hallo Doug,

    Ich habe einen Fehler bemerkt, der wahrscheinlich keinen Fehler auslöst.

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

    sollte sein

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

    Obwohl aus Sicherheitsgründen. Ich bevorzuge.

    if (strtolower ($ value) == "simplexml") {$ result = true; }}

    Sie können auch 'extension_loaded' verwenden, bei dem der Name der Erweiterung überprüft wird (Groß- und Kleinschreibung beachten).

    $ load = extension_loaded ("SimpleXML");

    Gibt TRUE oder FALSE zurück.

    PS Trinken Sie selbst keinen Kaffee, aber ich kann einen "Kauf mir eine Schachtel Donuts" -Knopf drücken

    • 2

      Hol den Donut-Knopf hoch, Nick! Du bist ein Lebensretter! Was lustig ist, ist, dass (ohne strtolower) mein Beispielcode tatsächlich ausgeführt wurde und die richtige Auswertung verwendet wurde. Es muss spät gewesen sein, denn als ich es hineingesteckt habe, habe ich es vermasselt!

      Ich habe den Code und den Blog-Beitrag geändert. Frage: Gibt es einen Vorteil gegenüber dem anderen? Ich denke, die extension_loaded ist eine viel sauberere und schnellere Möglichkeit, damit umzugehen!

      Danke Nick!

  2. 4

    yum installiere php55-xml.x86_64, um simpleXML für php 5.5.11 zu installieren

    Laufende Transaktion
    Installation: php55-xml-5.5.11-1.el6.x86_64 1/1
    Überprüfen: php55-xml-5.5.11-1.el6.x86_64 1/1

    und dann installiert
    /usr/lib64/php/modules/simplexml.so

  3. 5

Was denken Sie?

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.