PHP: Na-load ba ang SimpleXML?

Depositphotos 11843590 s

Mayroong isang pares na plugin na naitayo ko na nangangailangan ng PHP5 + at SimpleXML. Ang SimpleXML ay isang mas madali at mas mahusay na pagganap na pamamaraan ng pag-parse ng mga tugon sa XML mula sa APIs. Gayunpaman, ang problema ay makakakuha ako ng ilang mga email sa isang araw o linggo na tinatanong ako kung bakit hindi mai-load ng gumagamit ang programa at nagresulta ito sa mga pagkakamali.

Tila, ang aking mga napansin sa mga plugin at sa mga pahina ng proyekto ay hindi sapat, kaya't ginawa ko ang tama at nagdagdag ng pag-andar sa parehong mga plugin upang mapatunayan na ang load ng SimpleXML ay na-load.

Ang PHP Function upang suriin ang extension ng SimpleXML ay na-load:

pagpapaandar isSimpleXMLLoaded () {$ array = array (); $ array = get_loaded_extensions (); $ resulta = mali; maaga ($ array bilang $ i => $ halaga) {kung (strtolower ($ halaga) == "simplexml") {$ resulta = totoo; }} ibalik ang $ resulta; }

Ngayon, sa loob ng mga pagpapaandar na gumagamit ng SimpleXML, masisiguro ko lamang na nai-load ito bago ko talaga subukan ang tawag sa SimpleXML. Kung

kung (! isSimpleXMLLoaded ()) {echo "I-host ang iyong site sa ibang lugar!"; bumalik; }

Alam kong mayroon akong ilang mga PHP gurus na binabantayan ang aking blog, ipaalam sa akin kung paano ko ginawa! Naglabas ako ng mga menor de edad na pag-update sa parehong mga Plugin upang magamit ang pamamaraang ito.

6 Comments

  1. 1

    Kumusta Doug,

    Napansin ko ang isang bug kung saan marahil ay hindi nagtataas ng isang error.

    kung ($ halaga = "SimpleXML") {$ resulta = totoo; }

    ay dapat na

    kung ($ halaga == "SimpleXML") {$ resulta = totoo; }

    Bagaman para sa kaligtasan alang-alang. Mas gusto ko.

    kung (strtolower ($ halaga) == "simplexml") {$ resulta = totoo; }

    Maaari mo ring gamitin ang 'extension_loaded' na kumukuha ng pangalan ng extension upang suriin (case sensitive).

    $ load = extension_loaded (“SimpleXML”);

    Nagbabalik ng TAMA o MALI.

    PS Huwag uminom ng kape sa aking sarili ngunit maaari akong maglagay ng isang 'bumili sa akin ng isang kahon ng mga donut' na pindutan 🙂

    • 2

      Kunin ang pindutang donut na iyon, Nick! Ikaw ay isang livesaver! Ano ang nakakatawa ay na (minus ang strtolower), talagang mayroon akong sample code na tumatakbo at gumagamit ng tamang pagsusuri. Malamang ay huli na dahil sa paglalagay ko nito, ginulo ko ito!

      Binago ko ang code at ang post sa blog. Tanong: Anumang kalamangan ng isa kaysa sa isa pa? Sa palagay ko ang extension_loaded ay isang mas malinis at mas mabilis na paraan ng pagharap sa ito!

      Salamat Nick!

  2. 4

    yum install php55-xml.x86_64 upang mai-install ang simpleXML para sa php 5.5.11

    Pagpapatakbo ng Transaksyon
    Pag-install: php55-xml-5.5.11-1.el6.x86_64 1/1
    Pag-verify: php55-xml-5.5.11-1.el6.x86_64 1/1

    at pagkatapos ay naka-install ito
    /usr/lib64/php/modules/simplexml.so

  3. 5

Ano sa tingin ninyo?

Ang site na ito ay gumagamit ng Akismet upang mabawasan ang spam. Alamin kung paano naproseso ang data ng iyong komento.