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


156

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

Ответы:


238

Бег

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


60

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

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

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

dpkg -l | grep php5


33

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

 php -m 

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

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

/etc/php5/apache2/php.ini

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

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

<Extension_name> = <[On | Off]>

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); Вывести расширения и их детали.


5

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

php -r "var_dump(extension_loaded('json'));"

1

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

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

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


0

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

Ответ:

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

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

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

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

sudo apt-get install php7.4-curl
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.