Как проверить, установлен ли SimpleXML на моем PHP или нет?

кто-нибудь знает? Эта штука установлена по умолчанию. Но есть простой способ проверить, установлено ли расширение или нет?

Я проверяю, что simplexml_load_string доступен мне, но как сделать simplexml не указан на php.ini

6 ответов


есть и другой путь. Вы можете создать страницу php

    <?php
     echo phpinfo();
    ?>

вы можете увидеть простой XML включен или отключен здесь.


это работает для меня...

extension_loaded('simplexml')

пример:

if (extension_loaded('simplexml')) {

    echo "all good, extension is installed";

} else{ echo "snip snap! no cigar";}    

используйте эту команду в командной строке:

php-i / grep-i simplexml

результат должен быть примерно таким:

SimpleXML

поддержка Simplexml = > включено


Если у вас есть доступ к командной строке на вашем окне; либо используйте систему управления пакетами вашей ОС, либо запустите php -m который должен перечислять все установленные модули, о которых знает PHP. Любой модуль, который был установлен, но не зарегистрирован как расширение в PHP.ini или где-либо еще не появится.

редактировать

следует отметить, что выполнение этой команды только скажет вам, какие расширения включены для двоичного кода CLI/config PHP. Это вообще, но не может всегда быть, соответствовать тому, что Apache / fpm binary / config включил


одно решение, которое я использую:

if(class_exists('XMLReader')){

}elseif(function_exists('simplexml_load_file')){
//simplexml available
}else{

}

echo '<pre>';
print_r( get_loaded_extensions());
echo '</pre>';

Это покажет вам список расширений. Затем просто использовать in_array() если вы хотите, чтобы ваше приложение, чтобы грамотно рассказать пользователям, что их установка не будет работать ваш код.

EDIT в любом случае это относится к 5.2.6 на win32.