Как посмотреть установленные модули php

Как посмотреть установленные модули php

Чтобы эффективно работать с 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-модулей можно использовать встроенную функцию 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 и доступных модулей в различных окружениях

Проверка версии 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

Откройте phpMyAdmin и перейдите в раздел «Сведения о сервере» в правом верхнем углу интерфейса. В появившемся меню выберите вкладку «Информация о PHP» (phpinfo).

Для быстрого поиска используйте сочетание клавиш Ctrl+F и введите название интересующего расширения. Обратите внимание на разделы Loaded Configuration File и Scan this dir for additional .ini files – они указывают, откуда загружаются настройки модулей.

Этот способ позволяет убедиться в загрузке модулей без доступа к консоли или конфигурационным файлам.

Как обновить или добавить модули PHP через менеджер пакетов

Как обновить или добавить модули PHP через менеджер пакетов

Для управления модулями PHP в системах на базе Debian или Ubuntu используется apt, в CentOS, RHEL и Fedora – dnf или yum. Ниже приведены конкретные команды для установки и обновления модулей.

  • Обновить список пакетов:
    • sudo apt update – для Debian/Ubuntu
    • sudo dnf check-update – для Fedora/CentOS 8+
    • sudo yum check-update – для CentOS 7
  • Найти доступные модули PHP:
    • apt search php-
    • dnf search php
    • yum search php
  • Установить модуль:
    • sudo apt install php-mbstring
    • sudo dnf install php-mbstring
    • sudo yum install php-mbstring
  • Обновить уже установленные модули:
    • sudo apt upgrade php-*
    • sudo dnf upgrade php-*
    • sudo yum update php-*
  • После установки перезапустить веб-сервер:
    • sudo systemctl restart apache2 – для Apache
    • sudo 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, включая все установленные расширения.

Ссылка на основную публикацию