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

Откройте терминал и выполните команду php -m. Она выведет список всех активных расширений, включая встроенные и загружаемые модули.
Если необходимо отфильтровать только загружаемые модули, используйте команду php -m | grep -vE "^\s*$|^\[|^Core|^date|^libxml". Это исключит базовые и системные модули.
Для получения информации о конкретном модуле введите php -i | grep имя_модуля. Это покажет параметры конфигурации и путь к модулю, если он загружается как расширение.
Если на сервере установлено несколько версий PHP, уточните используемую командой which php и проверьте путь. Для конкретной версии используйте, например, php8.1 -m.
Для модулей, установленных через пакетный менеджер (например, apt), выполните dpkg -l | grep php на Debian/Ubuntu или rpm -qa | grep php на CentOS.
Использование функции phpinfo() для получения списка модулей
Создайте файл с расширением .php, например info.php, и вставьте в него строку:
<?php phpinfo(); ?>
Разместите файл в корневой директории веб-сервера и откройте его в браузере. В результатах найдите разделы, озаглавленные именами расширений, например mbstring, curl, mysqli. Их наличие означает, что модули активны.
Чтобы быстро определить, загружен ли конкретный модуль, используйте поиск по странице (Ctrl+F) и введите его название. Например, поиск по слову gd покажет, установлен ли модуль обработки графики.
После использования удалите файл info.php, чтобы предотвратить утечку информации о конфигурации сервера.
Как найти путь к конфигурационному файлу php.ini
Альтернативный способ – использовать встроенную функцию PHP phpinfo(). Создайте файл с расширением .php, добавьте в него строку <?php phpinfo(); ?> и откройте его в браузере. Найдите строку Loaded Configuration File – там указан абсолютный путь к используемому конфигурационному файлу.
Если на сервере установлено несколько версий PHP, путь к php.ini может отличаться в зависимости от используемой версии и режима (CLI, Apache, FPM). Уточняйте активную версию командой php -v или через phpinfo(), затем проверьте соответствующий путь через php --ini или в настройках веб-сервера.
Анализ модулей с помощью скрипта PHP и функции get_loaded_extensions()

Для получения точного списка загруженных PHP-модулей можно использовать встроенную функцию get_loaded_extensions(). Она возвращает массив с именами всех подключённых расширений, включая как системные, так и загруженные вручную через php.ini.
Пример скрипта:
<?php
$extensions = get_loaded_extensions();
sort($extensions);
foreach ($extensions as $ext) {
echo $ext . "<br>";
}
?>
Функция не требует параметров и возвращает только активные модули. Для сортировки списка удобно использовать sort(), чтобы упростить визуальный анализ.
Если необходимо получить информацию о расширениях, загруженных через Zend Engine, передайте true в качестве параметра:
<?php
$zend_extensions = get_loaded_extensions(true);
foreach ($zend_extensions as $ext) {
echo $ext . "<br>";
}
?>
Функция работает одинаково в CLI и через веб-сервер. При разных конфигурациях могут отличаться загруженные модули, особенно при наличии отдельных php.ini для CLI и Apache или Nginx.
Проверка версии PHP и доступных модулей в различных окружениях

Для точной диагностики окружения необходимо учитывать тип доступа: командная строка, веб-интерфейс или панель управления хостинга.
- Командная строка (CLI):
- Узнать версию:
php -v - Просмотреть модули:
php -m
- Узнать версию:
- Веб-сервер (Apache, Nginx):
- Создать файл, например
info.php, с содержимым:<?php phpinfo(); ?> - Открыть его через браузер для получения списка модулей и текущей версии
- Удалить файл после использования для исключения утечек информации
- Создать файл, например
- Хостинг с панелью управления (например, cPanel, Plesk):
- Открыть раздел с настройками PHP
- Обычно доступен выбор версии и включение/отключение модулей через графический интерфейс
Если используются виртуальные окружения (Docker, Vagrant), проверка выполняется внутри контейнера или виртуальной машины теми же командами CLI. Для Docker: docker exec -it <container_name> php -m.
Использование phpMyAdmin для просмотра списка модулей PHP

Откройте phpMyAdmin и перейдите в раздел «Сведения о сервере» в правом верхнем углу интерфейса. В появившемся меню выберите вкладку «Информация о PHP» (phpinfo).
Для быстрого поиска используйте сочетание клавиш Ctrl+F и введите название интересующего расширения. Обратите внимание на разделы Loaded Configuration File и Scan this dir for additional .ini files – они указывают, откуда загружаются настройки модулей.
Этот способ позволяет убедиться в загрузке модулей без доступа к консоли или конфигурационным файлам.
Как обновить или добавить модули PHP через менеджер пакетов

Для управления модулями PHP в системах на базе Debian или Ubuntu используется apt, в CentOS, RHEL и Fedora – dnf или yum. Ниже приведены конкретные команды для установки и обновления модулей.
- Обновить список пакетов:
sudo apt update– для Debian/Ubuntusudo dnf check-update– для Fedora/CentOS 8+sudo yum check-update– для CentOS 7
- Найти доступные модули PHP:
apt search php-dnf search phpyum search php
- Установить модуль:
sudo apt install php-mbstringsudo dnf install php-mbstringsudo yum install php-mbstring
- Обновить уже установленные модули:
sudo apt upgrade php-*sudo dnf upgrade php-*sudo yum update php-*
- После установки перезапустить веб-сервер:
sudo systemctl restart apache2– для Apachesudo systemctl restart php-fpm– для PHP-FPM
Для работы с конкретной версией PHP используйте точное имя пакета, например php8.2-mysql. Убедитесь, что репозиторий содержит нужные версии, иначе добавьте PPA (в Ubuntu) или EPEL (в CentOS).
Вопрос-ответ:
Как посмотреть все установленные модули PHP на сервере?
Чтобы узнать список всех установленных модулей PHP, можно использовать команду `php -m` в командной строке. Эта команда отобразит полный список расширений, активированных в текущей версии PHP. Также можно использовать команду `php -i`, которая предоставит более подробную информацию о конфигурации PHP, включая установленные модули, если прокрутить вывод до секции «Loaded Configuration File» и «Additional .ini files parsed». Другой способ — создать скрипт PHP с функцией `phpinfo()`, который выведет подробную информацию о текущей настройке PHP, включая все установленные расширения.
