Как проверить версию PHP на сервере CentOS

Как узнать версию php centos

Как узнать версию php centos

Версия PHP напрямую влияет на безопасность и совместимость веб-приложений. Устаревшие сборки содержат уязвимости и не поддерживают современные функции. Проверка установленной версии на сервере CentOS позволяет определить, требуется ли обновление или настройка окружения.

На серверах с несколькими версиями PHP полезно проверить, какой бинарный файл используется по умолчанию. Для этого применяют команду which php или просматривают настройки alternatives в CentOS. Такой подход исключает ошибки при отладке и конфигурации приложений.

Проверка версии PHP через команду php -v

Проверка версии PHP через команду php -v

PHP 8.1.12 (cli) (built: Oct 31 2023 10:42:17) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.1.12, Copyright (c) Zend Technologies

Первая строка содержит номер версии – в примере это 8.1.12. Если команда не найдена, установите пакет php-cli с помощью sudo dnf install php-cli. После установки снова выполните php -v для проверки.

При использовании нескольких версий PHP может быть активна не та, что нужна. Для проверки полного пути к бинарному файлу примените which php. Если путь указывает на неверную версию, настройте альтернативы через sudo alternatives --config php и выберите нужный вариант.

Команду выполняют в терминале под пользователем с доступом к PHP CLI. Если PHP не установлен или путь не прописан, система вернет сообщение об отсутствии команды. В этом случае проверяют пакет php-cli через yum list installed php-cli или устанавливают его.

Для получения только номера версии без лишних строк применяют php -r "echo PHP_VERSION;", что полезно для автоматизации скриптов или мониторинга.

Определение версии PHP через yum list installed

Команда yum list installed позволяет быстро определить установленный пакет PHP и его точную версию.

  1. Откройте терминал с правами root или используйте sudo.
  2. Выполните команду:
    yum list installed | grep php
  3. В списке найдите строку вида:
    php.x86_64      7.4.33-1.el7      @remi-php74

Первая часть указывает пакет (php.x86_64), вторая – версию (7.4.33), третья – репозиторий. Если установлено несколько пакетов (php-cli, php-common), версии должны совпадать. Несоответствия сигнализируют о проблемах с обновлением.

    yum list installed php | awk '{print $2}'
  • Если результат пуст, PHP не установлен через yum.

Регулярная проверка гарантирует актуальность версии и упрощает управление зависимостями.

Просмотр версии PHP через команду rpm -qa

Просмотр версии PHP через команду rpm -qa

Для получения информации о версии установленного PHP используйте пакетный менеджер rpm. Выполните команду:

rpm -qa | grep php

php-7.4.33-1.el8.x86_64
php-cli-7.4.33-1.el8.x86_64
php-common-7.4.33-1.el8.x86_64

Первая часть строки указывает имя пакета, цифры после него – версию. Чтобы отобразить только главный пакет PHP без модулей, используйте:

rpm -qa | grep ^php-[0-9]

Для сортировки результата удобно применить команду:

rpm -qa | grep php | sort

Проверка версии PHP-FPM через systemctl status

Проверка версии PHP-FPM через systemctl status

Для отображения активного процесса PHP-FPM выполните команду:

systemctl status php-fpm

Если на сервере установлено несколько версий, уточните нужную службу: systemctl status php-fpm80 или systemctl status php-fpm81. Используйте команду systemctl list-units --type=service | grep php-fpm для просмотра всех доступных юнитов PHP-FPM.

Создание phpinfo() файла и просмотр в браузере

Создание phpinfo() файла и просмотр в браузере

Для точного определения версии PHP на сервере CentOS создайте файл с именем info.php в корневой директории веб-сервера, обычно /var/www/html/. Внутри файла добавьте следующий код:

<?php
phpinfo();
?>

Сохраните файл и убедитесь, что права доступа позволяют веб-серверу читать файл (обычно chmod 644 info.php). После этого откройте браузер и перейдите по адресу:

http://ваш_домен/info.php или http://IP_сервера/info.php

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

Параметр Описание
PHP Version Текущая версия PHP, установленная на сервере
Loaded Configuration File Путь к файлу php.ini, используемому веб-сервером
Server API Интерфейс между веб-сервером и PHP (например, Apache 2.0 Handler или FPM/FastCGI)
Extensions Список подключенных модулей PHP и их версии
Directive Values Текущие значения основных директив PHP, таких как memory_limit или post_max_size

После проверки рекомендуется удалить info.php с сервера для предотвращения раскрытия конфиденциальной информации о конфигурации.

Сравнение версии PHP с системными пакетами

Сравнение версии PHP с системными пакетами

Для точного контроля версии PHP важно сверять её с установленными пакетами системы. В CentOS версии PHP привязаны к конкретным репозиториям, поэтому несоответствие может привести к конфликтам при обновлениях.

Проверка версии PHP через консоль:

  • php -v – отображает текущую версию интерпретатора.
  • rpm -qa | grep php – список всех установленных PHP-пакетов с их версиями.

Сравнение версий позволяет выявить:

  • Несоответствие между версией CLI и модулями Apache/Nginx.
  • Устаревшие расширения, несовместимые с текущей версией интерпретатора.
  • Дубликаты пакетов из разных репозиториев (например, Remi и EPEL).

Для обновления пакетов до согласованной версии используйте:

  1. Добавьте необходимый репозиторий, например yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm.
  2. Активируйте нужную версию PHP: dnf module enable php:8.2.
  3. Обновите все пакеты PHP: yum update php\*.

После обновления повторно выполните php -v и rpm -qa | grep php, чтобы убедиться, что версия интерпретатора совпадает с системными пакетами и все расширения корректно загружены.

Вопрос-ответ:

Как узнать, какая версия PHP установлена на сервере CentOS через командную строку?

Для проверки версии PHP через терминал нужно выполнить команду php -v. После этого отобразится строка с номером версии и дополнительной информацией о сборке и загруженных модулях. Например, вывод может выглядеть как «PHP 8.2.3 (cli)». Эта команда работает при условии, что PHP установлен и доступен в переменной окружения PATH.

Можно ли проверить версию PHP через веб-интерфейс на CentOS?

Да, для этого создается небольшой PHP-файл на сервере, обычно с названием info.php, содержащий строку <?php phpinfo(); ?>. После открытия файла в браузере на сервере откроется страница с подробной информацией о PHP, включая версию, установленные расширения и конфигурацию. Этот способ особенно удобен для веб-серверов, где нет прямого доступа к терминалу.

Что делать, если команда php -v не показывает версию PHP?

Если при вводе php -v появляется ошибка или команда не найдена, вероятно, PHP не установлен или его бинарный файл не находится в стандартных путях. В этом случае нужно проверить, установлен ли PHP с помощью yum list installed | grep php и, при необходимости, установить пакет через sudo yum install php. После установки команда php -v должна вернуть версию.

Можно ли узнать версию PHP для конкретного веб-сайта на сервере CentOS?

Да, можно. Если веб-сайт использует отдельный виртуальный хост с собственными настройками, стоит создать в корневой директории сайта файл info.php с командой phpinfo();. При открытии этого файла через браузер отобразится версия PHP, которая используется именно для этого сайта, а также другие настройки окружения. Это важно, если на сервере установлено несколько версий PHP.

Какая команда покажет версию PHP вместе с информацией о загруженных модулях?

Для подробной информации о PHP и подключенных расширениях можно использовать команду php -m, которая выводит список всех модулей. Если нужна версия вместе с модулями, можно объединить команды: php -v && php -m. Это позволяет увидеть одновременно номер версии PHP и перечень активных расширений на сервере.

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