
Работа с веб-приложениями на сервере напрямую зависит от используемой версии PHP. От неё зависят поддержка необходимых функций, совместимость с фреймворками и безопасность. В Linux определить текущую версию можно несколькими способами, и выбор метода зависит от того, установлен ли PHP через пакетный менеджер, используется ли несколько версий параллельно или сервер работает под управлением Apache либо Nginx.
Для проверки версии, обслуживающей сайт, применяют команды phpinfo() внутри тестового файла или анализируют настройки php-fpm. Также полезно уточнить версию пакета через системный менеджер: в Debian-подобных системах это apt show php, в Red Hat-подобных – yum info php или dnf info php. Такой подход помогает убедиться, что на сервере действительно установлена та редакция, которая нужна для работы приложений.
Проверка версии PHP через терминал с помощью команды php -v
$ php -v
PHP 8.1.12 (cli) (built: Oct 25 2022 12:34:56) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.12, Copyright (c) Zend Technologies
- Первая строка показывает номер версии PHP и режим запуска (CLI).
- Дата сборки помогает определить актуальность установленного пакета.
- Zend Engine указывает на версию ядра, что может быть критично при работе с расширениями.
Если команда php -v возвращает ошибку «command not found», значит PHP не установлен или не добавлен в переменную PATH. В этом случае следует:
- Убедиться, что пакет php установлен через менеджер пакетов:
apt install phpилиyum install php. - Проверить путь к бинарному файлу:
which php. - Добавить путь в переменную окружения
PATH, если интерпретатор установлен, но не вызывается напрямую.
Для скриптов, которые запускаются автоматически, рекомендуется явно указывать путь к используемой версии PHP, например: /usr/bin/php -v.
Чтобы определить, какую версию PHP обрабатывает Apache, создайте диагностический скрипт в корневой директории сайта: После этого откройте Для контроля безопасности не оставляйте файл Сравнить данные, выдаваемые Apache и CLI-версией PHP, можно с помощью: Функция phpinfo() формирует полную сводку о конфигурации PHP: версия интерпретатора, активные модули, пути к файлам конфигурации, параметры компиляции и переменные окружения. Для использования создайте файл, например info.php, с содержимым: Разместите его в каталоге веб-сервера и откройте через браузер. В верхнем блоке отобразится текущая версия PHP, а ниже – список подключённых расширений, значения php.ini, используемые библиотеки и ограничения (например, memory_limit или max_execution_time). После проверки рекомендуется удалить файл, чтобы исключить утечку технических данных. Для Nginx версия PHP определяется через php-fpm, так как веб-сервер напрямую не обрабатывает PHP-скрипты. Основной способ – создать диагностический файл, который будет выполняться через php-fpm. В корне сайта или в отдельной тестовой директории создайте файл Убедитесь, что в конфигурации Nginx настроена передача После сохранения файла откройте в браузере Для предотвращения утечки информации рекомендуется сразу удалить В Linux версии PHP в установленных пакетах можно определить через пакетный менеджер. Для систем на базе Debian/Ubuntu используется команда: В Red Hat/CentOS/Fedora используется: Команда отображает версии пакетов PHP, например, php-8.1.2-1.el8.x86_64 соответствует PHP 8.1.2. Для систем с dnf или yum можно дополнительно проверить версию основного пакета: Если нужно узнать версию конкретного модуля, например, php-mysql, используйте: Проверка через пакетный менеджер гарантирует точное определение установленной версии, включая дополнительные модули и расширения, что важно для совместимости с веб-приложениями и настройкой окружения. Если на сервере используется несколько версий PHP для разных виртуальных хостов, проверку удобнее выполнять через PHP-скрипт с функцией Для серверов с менеджером версий, например В окружениях с Apache или Nginx важно проверять, какая версия PHP подключена через модуль или FastCGI. Для Apache выполните Если виртуальные хосты используют разные обработчики, например PHP-FPM для одного и mod_php для другого, каждая проверка должна выполняться отдельно, иначе можно получить неверные данные о версии. Чтобы определить версию PHP в Linux через командную строку, откройте терминал и введите команду Да, можно. Если на сервере установлен Apache или Nginx с PHP, создайте файл, например Если в системе установлено несколько версий PHP, можно проверить их с помощью команды Да, пакетные менеджеры предоставляют информацию о версии PHP. Например, для Debian/Ubuntu используйте команду 
echo "<?php phpinfo(); ?>" > /var/www/html/info.phphttp://адрес_сервера/info.php в браузере. На странице будет указана строка PHP Version, отражающая актуальную сборку, задействованную Apache через модуль libphp или PHP-FPM.info.php доступным после проверки:rm /var/www/html/info.phpphp -v
Метод
Команда/URL
Что показывает
Через Apache
http://адрес_сервера/info.php
Версия PHP, реально используемая веб-сервером
Через CLI
php -v
Версия интерпретатора, вызываемого из командной строки
<?php phpinfo(); ?>Проверка версии PHP в Nginx с использованием php-fpm

info.php со следующим содержимым:<?php phpinfo(); ?>.php файлов в сокет или порт php-fpm, например:fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;http://домен/info.php. На загруженной странице будет указана используемая версия PHP в строке «PHP Version».info.php после проверки.Определение версии PHP в установленных пакетах системы

dpkg -l | grep phprpm -qa | grep phpdnf list installed php\* или yum list installed php\*dpkg -s php-mysql | grep Version на Debian/Ubuntu или rpm -qi php-mysql на Red Hat-подобных системах.Проверка версии PHP в разных окружениях и виртуальных хостах

phpinfo(). Создайте файл info.php с содержимым <?php phpinfo(); ?> в корне нужного хоста и откройте его в браузере. В разделе «PHP Version» будет указана версия именно для этого виртуального хоста.update-alternatives, актуальную CLI-версию PHP можно уточнить командой update-alternatives --display php. Это позволяет увидеть, какие версии установлены и какая используется по умолчанию.apache2ctl -M | grep php, чтобы убедиться, какой модуль загружен. Для Nginx проверьте путь к php-fpm.sock в конфигурации сайта и сравните с установленными версиями php-fpm через systemctl status php*-fpm.Вопрос-ответ:
Как узнать установленную версию PHP через терминал?
php -v. После этого вы увидите номер версии PHP, информацию о сборке и дату её выпуска. Этот способ работает независимо от установленного дистрибутива Linux и позволяет быстро проверить текущую версию без лишних действий.Можно ли проверить версию PHP для конкретного веб-сервера, а не командной строки?
info.php, с содержимым <?php phpinfo(); ?> в корне веб-сайта. После открытия этого файла через браузер вы увидите подробную информацию о версии PHP, загруженных модулях, конфигурации и других параметрах.Как проверить версию PHP, если установлено несколько версий?
update-alternatives --display php или указав путь к конкретной версии, например /usr/bin/php7.4 -v. Также в Apache или Nginx можно посмотреть, какая версия используется для конкретного виртуального хоста, проверив настройки в php-fpm или модулях PHP для веб-сервера.Можно ли узнать версию PHP через пакетный менеджер?
apt show php или apt list --installed | grep php, чтобы увидеть установленные пакеты и их версии. В Fedora, CentOS или RHEL можно использовать dnf info php или rpm -qi php. Эти команды показывают точную версию пакета и позволяют понять, какие версии компонентов PHP установлены.
