Как я вижу расширения, загруженные PHP?

156

Это должно быть где-то в дампе phpinfo (), но я просто не знаю где. Это должно быть в разделе «Дополнительные модули»? Где-нибудь еще? Я пытаюсь выяснить, почему некоторые расширения не загружаются, но я даже не знаю, где искать.

Bialecki
источник

Ответы:

238

Бег

php -m
даст вам все модули, и
php -i
предоставит вам гораздо более подробную информацию о текущей конфигурации.

Абдулла Джибали
источник
60

Команда выполнения. Вы получите установленные расширения:

php -r "print_r(get_loaded_extensions());"

Или выполните эту команду, чтобы установить и удалить все модули с версией

dpkg -l | grep php5
Саурабх Чандра Патель
источник
37

использовать get_loaded_extensions()функцию PHP

troelskn
источник
7
Это работает в командной строке php -r 'print_r(get_loaded_extensions());'и выводит тот же список, что иphp -m
phpguru
1
cmd для экспорта модулей с номерами версий:php -r "phpinfo(INFO_MODULES);" | grep -B 3 -i version > modules.txt
Агниус Василяускас
33

Вы хотите запустить:

 php -m 

в командной строке,

или если у вас есть доступ к файлу конфигурации сервера, откройте

/etc/php5/apache2/php.ini

и посмотрите на все расширения,

Вы даже можете включить или отключить их, переключаясь между On и Off, как это

<Extension_name> = <[On | Off]>
william.eyidi
источник
17
  <?php 
      echo "<pre>";
      print_r(get_loaded_extensions());
      echo "<pre/>";
 ?>
Рахул Ядав
источник
список из php -m намного длиннее, чем get_loaded_extensions (), в котором нет списков curl, mbstring и многих других? это почему? Я установил curl, mbstring, но они не показываются из сценария php?
Мерян
Как отсортировать get_loaded_extensions () по алфавиту? для сравнения с другими работающими установками php, спасибо.
Мерян
6

get_loaded_extensions() вывести список расширений.

phpinfo(INFO_MODULES); Вывести расширения и их детали.

jayxhj
источник
5

Если вы хотите проверить, загружено ли определенное расширение, вы также можете использовать эту extension_loadedфункцию, см. Документацию здесь.

php -r "var_dump(extension_loaded('json'));"
PeterPan666
источник
1

Вы ищете конкретное расширение? В вашем браузере phpinfo();просто нажмите Ctrl+ Fв своем веб-браузере, введите первые 3-4 буквы нужного вам расширения, и оно должно показать вам, загружено оно или нет.

Обычно в phpinfo()нем не отображаются все загруженные расширения в одном месте, у него есть отдельный раздел для каждого загруженного расширения, где отображаются все его переменные, пути к файлам и т. Д., Поэтому, если для вашего расширения нет раздела, назовите его вероятно означает, что он не загружен.

В качестве альтернативы вы можете открыть свой файл php.ini и использовать метод Ctrl+, Fчтобы найти свое расширение и посмотреть, не было ли оно закомментировано (обычно точкой с запятой в начале строки).

Нажмите Upvote
источник
0

Вы спросили, где вы видите загруженные расширения в выводе phpinfo ().

Ответ:

Они перечислены внизу как отдельные разделы / таблицы и ТОЛЬКО если они загружены. Вот пример расширения загруженного Curl.

введите описание изображения здесь ...

... введите описание изображения здесь

Я установил его на Linux Debian с

sudo apt-get install php7.4-curl
Meryan
источник