
От активных модулей зависит работа PHP: поддержка баз данных, обработка изображений, кэширование, взаимодействие с API и многое другое. Проверка установленных расширений помогает понять, какие функции доступны в текущей среде и какие нужно добавить.
Зная, как просмотреть установленные модули, можно контролировать среду выполнения, устранять ошибки совместимости и оптимизировать настройки сервера под конкретные задачи.
Проверка установленных модулей через командную строку

Командная строка – самый быстрый способ получить список всех модулей PHP без создания дополнительных файлов. Этот метод подходит как для локальной разработки, так и для серверов с доступом по SSH.
php -m
После выполнения отобразится перечень активных модулей, разделённый по группам: встроенные и внешние. Если нужно вывести информацию в структурированном виде, можно использовать:
php -i | grep extension
Эта команда фильтрует результат и показывает только строки, содержащие данные о модулях.
Полезные приёмы:
- php -v – проверяет версию PHP и подтверждает доступ к CLI.
- php —ini – отображает путь к файлу php.ini, где можно включать или отключать расширения.
Если команда php не распознаётся, нужно убедиться, что путь к PHP добавлен в переменную окружения PATH или используется корректный бинарный файл, например /usr/bin/php на Linux.
Чтобы использовать phpinfo(), нужно создать файл с любым именем, например info.php, и добавить в него строку:
<?php phpinfo(); ?>
После сохранения файл следует открыть в браузере по адресу вида https://домен/info.php. На странице появится таблица с подробными данными, где каждый модуль отмечен отдельным блоком. В строке «Loaded Modules» можно увидеть, какие расширения активированы.
Для удобства поиска конкретного модуля используйте сочетание клавиш Ctrl + F и введите его имя, например curl или gd. Если модуль отсутствует, PHP его не загружает или он отключён в настройках php.ini.
После проверки рекомендуется удалить созданный файл, чтобы исключить доступ посторонних к конфигурационной информации сервера.
Просмотр подключённых расширений через php -m

Чтобы выполнить проверку, откройте терминал и введите:
php -m
Результат содержит две группы: [PHP Modules] – активные расширения, и [Zend Modules] – модули движка Zend. В первой части обычно отображаются модули, такие как mysqli, curl, json, mbstring и другие.
Для удобства анализа можно применить фильтрацию:
php -m | grep mbstring
Чтобы сохранить список расширений в файл для последующего сравнения или документирования, используйте:
php -m > modules.txt
Содержимое файла можно открыть в любом текстовом редакторе и быстро определить, какие модули активны в текущей версии PHP.
Определение расположения файла php.ini и его роль

Файл php.ini управляет загрузкой модулей и задаёт параметры конфигурации PHP. Через него активируются или отключаются расширения, задаются лимиты памяти, пути к библиотекам и параметры ошибок.
Чтобы узнать, где находится используемый системой файл php.ini, выполните команду:
php --ini
Также определить путь можно через функцию phpinfo() – в таблице будет указан параметр Loaded Configuration File. Это полезно на хостингах, где нет доступа к консоли.
Для включения модуля в php.ini добавляется строка:
extension=curl
После изменения файла требуется перезапустить веб-сервер или службу PHP-FPM, чтобы применить новые настройки.
На системах с несколькими версиями PHP важно убедиться, что редактируется правильный php.ini. Для этого можно выполнить which php и сопоставить путь с конфигурационным файлом, найденным через php —ini.
Проверка модулей PHP на хостинге через файл info.php

Если нет доступа к терминалу, проверить установленные модули можно через файл info.php. Этот способ работает на любом виртуальном или shared-хостинге, где разрешено выполнение PHP-скриптов.
Создайте текстовый файл с именем info.php и добавьте в него код:
<?php phpinfo(); ?>
Загрузите файл в корень сайта через FTP или файловый менеджер панели управления и откройте его в браузере. На странице появится таблица с данными о конфигурации PHP, включая список активных модулей.
Пример отображаемых сведений:
| Модуль | Версия | Статус |
|---|---|---|
| mysqli | 8.2.10 | Загружен |
| curl | 8.4.0 | Загружен |
| gd | 2.3.3 | Загружен |
После проверки файл info.php нужно удалить, чтобы не оставлять публичный доступ к конфигурационной информации сервера.
Пример простого скрипта:
<?php
$modules = get_loaded_extensions();
foreach ($modules as $ext) {
echo $ext . "<br>";
}
?>
Результатом будет список активных модулей, каждый из которых выведен на отдельной строке. Чтобы отсортировать их по алфавиту, можно добавить:
sort($modules);
Если нужно проверить, установлен ли конкретный модуль, используйте конструкцию:
if (in_array('curl', $modules)) {
echo 'Модуль curl активен';
}
Функция полезна при диагностике окружения, особенно при выполнении скриптов на разных серверах, где состав модулей может отличаться.
Как узнать, установлен ли конкретный модуль PHP

Чтобы проверить наличие конкретного модуля, можно использовать встроенную функцию extension_loaded(). Она возвращает true, если расширение активно, и false, если отсутствует.
Пример проверки:
<?php
if (extension_loaded('curl')) {
echo 'Модуль curl установлен';
} else {
echo 'Модуль curl не найден';
}
?>
Аналогичную проверку можно выполнить через консоль. Команда:
php -m | grep curl
При использовании phpinfo() нужный модуль можно найти через поиск по странице. В таблице с его названием будут указаны версия и параметры. Если блок отсутствует, расширение отключено в конфигурации.
На сервере без доступа к php.ini можно выполнить скрипт с get_loaded_extensions() и проверить наличие модуля через in_array(). Это позволяет убедиться, что требуемое расширение действительно работает в текущей среде.
Вопрос-ответ:
Как посмотреть установленные модули PHP на сервере без доступа к панели управления?
Если есть доступ по SSH, выполните команду php -m. Она выведет все активные расширения. Также можно использовать php —ini, чтобы определить конфигурационный файл, через который загружаются модули. При отсутствии SSH создайте файл info.php с функцией phpinfo() и откройте его через браузер.
Почему в списке модулей не отображается нужное расширение?
Причина может быть в том, что модуль не подключён в php.ini или PHP использует другой файл конфигурации. Проверьте строку extension=имя_модуля в php.ini и убедитесь, что она не закомментирована. После изменения файла перезапустите веб-сервер или PHP-FPM.
Можно ли вывести список модулей из самого PHP-кода?
Да, это делается функцией get_loaded_extensions(). Она возвращает массив активных модулей, который можно вывести с помощью цикла. Это удобно, когда нужно проверить окружение без доступа к консоли или панели управления.
Как проверить, установлен ли модуль curl?
В терминале используйте php -m | grep curl. Если модуль установлен, его название появится в выводе. Через PHP можно выполнить extension_loaded(‘curl’) — функция вернёт true при активном расширении.
Где искать файл php.ini, чтобы включить нужные модули?
Узнать расположение файла можно командой php —ini или через страницу phpinfo(). В поле Loaded Configuration File будет указан путь. В этом файле добавьте строку extension=имя_модуля, затем перезапустите сервер, чтобы изменения вступили в силу.
Как быстро узнать, какие модули PHP активированы на сервере?
Проще всего использовать команду php -m. Она выводит полный список расширений, подключённых при запуске PHP. Если доступа к консоли нет, можно создать файл info.php с кодом <?php phpinfo(); ?> и открыть его в браузере. На странице отобразятся все модули и параметры конфигурации.
Что делать, если нужный модуль отсутствует в списке?
Проверьте, подключён ли он в конфигурационном файле php.ini. В нём должна быть строка extension=имя_модуля без символа ; в начале. Если модуль установлен в систему, но не активен, уберите комментарий и перезапустите сервер. При отсутствии файла расширения убедитесь, что пакет установлен — например, через менеджер пакетов apt или yum в Linux.
