Как узнать версию PHP на сервере: 6 способов
Две одинаковые белые коробки с круглыми отверстиями в крышках, в которые входят белый и изумрудный шарики

Как узнать версию PHP на сервере: 6 способов

Версию PHP на сервере показывают команда php -v, файл с phpinfo(), панель хостинга или раздел «Здоровье сайта» в CMS. Разбираем все способы.

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

Быстрее всего версию PHP показывает команда php -v по SSH. Если доступа к консоли нет, создайте файл с функцией phpinfo(), загляните в панель хостинга или в раздел диагностики вашей CMS.

Главное правило: проверяйте версию именно там, где работает сайт. Консоль и веб-сервер на одном сервере могут использовать разные PHP.

Версия PHP влияет на безопасность, скорость и совместимость сайта. Ниже рассказываем, как определить её шестью способами, как не получить неверный ответ и что делать, если версия устарела.

Зачем вообще знать версию PHP

Версия PHP определяет, какие функции доступны вашему коду, какие плагины и темы запустятся и насколько защищён сайт. Разработчик, который переносит проект, и администратор, который настраивает хостинг, начинают с одного вопроса: на чём это работает сейчас?

Есть три типичные ситуации, когда версию нужно узнать срочно. Первая: CMS или плагин требует PHP не ниже 8.1, а сайт выдаёт ошибку после обновления. Вторая: хостинг-провайдер предупредил, что старая ветка скоро отключается. Третья: вы проходите аудит безопасности, и проверяющий просит указать версию серверного ПО.

Отдельная причина — поддержка веток. Версии PHP 7.4 и 8.0 уже сняты с поддержки, исправления уязвимостей для них не выпускаются. Если сайт работает на такой версии, он остаётся без обновлений безопасности, даже когда всё выглядит стабильно.

Что даёт актуальная версия PHP

  1. 01

    Закрытые уязвимости: исправления безопасности выходят только для поддерживаемых веток.

  2. 02

    Скорость: переход с PHP 5.6 на 7.0 ускорил типичные приложения примерно вдвое, а следующие ветки продолжили оптимизацию.

  3. 03

    Совместимость: современные CMS, фреймворки и плагины требуют PHP 8.1 и выше.

  4. 04

    Удобство разработки: типизация, enum, readonly-свойства и атрибуты уменьшают число ошибок.

  5. 05

    Спокойствие при смене хостинга: новый провайдер не откажет в переносе из-за устаревшей ветки.

Одна оговорка перед способами

Прежде чем переходить к командам, запомните, что на сервере нет «одной» версии PHP. Хостинги и VPS часто держат сразу несколько веток, чтобы разные сайты работали на разных версиях. Поэтому сначала решите, какая версия вам нужна: консольная, веб-сервера или конкретного сайта.

Для сайта важна версия, которую использует веб-сервер. Её показывают phpinfo(), панель хостинга и диагностика CMS. Команда php -v в консоли показывает версию консольного PHP, и она может не совпадать с версией сайта.

схема · один сервер, три версии
01

PHP CLI

Консольный интерпретатор. Его версию показывает php -v в SSH.

8.3.x
02

PHP-FPM / Apache

Обслуживает сайт в браузере. Версию показывает phpinfo().

8.1.x
03

Настройка в панели

Версия, выбранная для домена в панели хостинга. Может переопределять умолчания сервера.

7.4.x

Если эти три значения расходятся, ориентируйтесь на версию веб-сервера: именно на ней работает ваш сайт.

Способ 1. Команда php -v в командной строке

Это самый быстрый способ для тех, у кого есть доступ к серверу по SSH. Подключитесь к серверу и выполните команду php -v. В ответ вы получите номер версии, сборку, дату и сведения об установленных расширениях вроде Zend OPcache.

Пример вывода: PHP 8.3.12 (cli). Первое число — мажорная ветка, второе — минорная, третье — номер патча. Для краткого ответа подойдёт команда php -r "echo PHP_VERSION;": она выведет только номер версии без лишних строк.

Если на сервере установлено несколько версий, обращайтесь к нужной по имени, например php8.1 -v или /usr/bin/php7.4 -v. Так вы проверите конкретный интерпретатор, а не тот, что выбран по умолчанию.

шпаргалка · команды и код
php -vПолная информация о версии PHP CLI и расширениях
php -r "echo PHP_VERSION;"Только номер версии, удобно для скриптов
php-fpm -vВерсия PHP-FPM, который обслуживает сайты
php8.1 -vПроверка конкретной установленной ветки
<?php phpinfo();Содержимое файла info.php для проверки через браузер

Способ 2. Когда SSH недоступен: функция phpinfo()

На виртуальном хостинге SSH есть не всегда. В этом случае помогает встроенная функция phpinfo(). Она выводит страницу с полной информацией о PHP, под которым запущен сайт: версией, путями конфигурации, подключёнными модулями и значениями директив php.ini.

Этот способ даёт самый точный ответ на вопрос «на чём работает мой сайт», потому что скрипт выполняется тем же веб-сервером и той же версией PHP, что и остальные страницы.

Как проверить версию через phpinfo()

  1. 01

    Создайте на компьютере текстовый файл info.php и вставьте в него одну строку: `<?php phpinfo();`

  2. 02

    Загрузите файл в корневую папку сайта по FTP, через файловый менеджер панели хостинга или через SFTP.

  3. 03

    Откройте в браузере адрес вашего сайта и добавьте /info.php, например: ваш-домен.ru/info.php.

  4. 04

    В верхней части страницы найдите строку PHP Version. Рядом указаны Server API (Apache, FPM/FastCGI) и путь к php.ini.

  5. 05

    Запишите версию и сразу удалите файл info.php с сервера.

Оставить файл phpinfo на сервере

Забытая страница phpinfo — частая находка при аудитах безопасности. Её индексируют поисковые системы, а злоумышленники находят по типовым именам.

Что выдаёт страница

  • точную версию PHP и список уязвимостей, актуальных для неё;
  • абсолютные пути к файлам на сервере;
  • список подключённых модулей и настройки безопасности;
  • переменные окружения, в которых иногда встречаются ключи и пароли.

Как правильно

  1. 01

    удалять файл сразу после проверки, не откладывая на «потом»;

  2. 02

    давать файлу нестандартное имя вместо info.php или phpinfo.php, если проверка займёт время;

  3. 03

    закрыть доступ по IP или паролю, если тестируете окружение на рабочем сервере;

  4. 04

    проверить, не попал ли адрес в индекс Яндекса или Google, через Яндекс Вебмастер и Google Search Console.

Способы 3 и 4. Панель хостинга и админка CMS

Если не хочется возиться с файлами, посмотрите версию PHP в панели управления хостингом. В ISPmanager, cPanel и Plesk есть раздел с настройками PHP: он показывает версию для домена и позволяет выбрать другую. На виртуальных хостингах российских провайдеров версия обычно указана в настройках сайта.

Ещё один вариант — диагностика внутри CMS. В WordPress откройте «Инструменты» → «Здоровье сайта» → «Информация» → «Сервер». В 1С-Битрикс воспользуйтесь разделом «Настройки» → «Проверка системы». В Joomla версия указана в «Система» → «Информация о системе». В Drupal откройте «Отчёты» → «Состояние системы».

Плюс этих способов в том, что они безопасны и не требуют загрузки файлов. Минус в том, что видна только версия, с которой работает именно этот сайт, а не весь сервер.

СпособЧто нужноЧто показываетРиски
php -v по SSHДоступ по SSHВерсию PHP CLIМожет отличаться от версии сайта
Файл с phpinfo()Доступ по FTP или файловому менеджеруВерсию PHP сайта и все настройкиНужно удалить файл после проверки
Панель хостингаВход в панельВерсию PHP, выбранную для доменаМинимальные
Админка CMSПрава администратора сайтаВерсию PHP, на которой работает сайтМинимальные
Поддержка хостингаОбращение в тикет или чатВерсию, которую подтвердит провайдерОжидание ответа

Как читать номер версии

Номер вида 8.3.12 состоит из трёх частей. Первое число — мажорная версия, где могут быть несовместимые изменения. Второе — минорная ветка, которая приносит новые возможности. Третье — патч с исправлениями ошибок и уязвимостей. Для безопасности важно, чтобы был установлен свежий патч внутри поддерживаемой ветки.

К номеру иногда добавляется суффикс сборки, например 8.1.2-1ubuntu2.14. Так дистрибутивы Linux показывают, что исправления безопасности перенесены в пакет без смены основного номера. Поэтому «старый» на вид номер на сервере с Ubuntu или Debian не всегда означает уязвимость. Подробности смотрите в журнале изменений пакета.

Сроки поддержки ветки всегда проверяйте на официальном сайте PHP. Общая схема такая: после релиза идёт два года активной поддержки, затем ещё два года только исправления безопасности.

таймлайн · жизненный цикл ветки PHP
01

Релиз

Выходит новая ветка, например 8.3.

02

2 года активной поддержки

Исправляются ошибки и уязвимости.

03

2 года безопасности

Выходят только патчи безопасности.

04

Конец поддержки

Исправлений нет, пора обновляться.

Что делать, если версия устарела

Если вы выяснили, что сайт работает на PHP 7.4, 8.0 или более старой версии, не переключайте её сразу на боевом сайте. Сначала сделайте полную резервную копию файлов и базы данных. Затем создайте тестовую копию сайта, переключите её на новую версию и проверьте основные сценарии: главную страницу, формы, корзину, личный кабинет и админку.

Включите отображение ошибок на тестовом сайте и изучите журнал. Типичные проблемы после обновления — устаревшие плагины, темы с удалёнными функциями и самописный код, который опирается на старое поведение языка. Обновите или замените проблемные расширения до переключения основного сайта.

После смены версии проверьте скорость и доступность сайта в Яндекс Метрике и Google Analytics, а также статус индексации в Яндекс Вебмастере и Google Search Console. Если после обновления выросло число ошибок 5xx, откатитесь на предыдущую версию и разберите причину на тестовой копии.

Перед любым обновлением PHP делайте резервную копию файлов и базы данных. Откат к старой версии в панели хостинга занимает минуту, а восстановление сайта без копии может занять дни.

Итоги: как узнать версию PHP

Для проверки версии достаточно одной минуты: php -v по SSH, phpinfo() в браузере, настройки панели хостинга или диагностика CMS.
  1. 01

    php -v показывает версию PHP CLI, а не обязательно версию сайта.

  2. 02

    phpinfo() даёт точный ответ для сайта, но файл нужно сразу удалить.

  3. 03

    Панель хостинга и раздел диагностики CMS подходят, когда нет доступа к серверу.

  4. 04

    Версии 7.4 и 8.0 сняты с поддержки, их стоит заменить на поддерживаемую ветку.

  5. 05

    Обновляйте PHP сначала на тестовой копии и после резервного копирования.

Регулярная проверка версии PHP — простая гигиена сайта. Раз в квартал сверяйте свою версию со сроками поддержки на официальном сайте PHP и планируйте обновление заранее, а не после предупреждения хостера. Если сомневаетесь в совместимости проекта, закажите технический аудит.

Часто задаваемые вопросы

Не уверены, на какой версии PHP работает ваш сайт?

Проверим версию PHP, совместимость плагинов и безопасность сервера, подскажем, как обновиться без простоев.

Бесплатный аудитРезультат за 24 часаБез навязчивых звонков

Проверяем сайты на Яндексе и Google

Политика конфиденциальности

При оставлении заявки на ресурсе «https://gurucontext.ru» пользователи предоставляют следующие сведения:

  • Имя
  • Контактный телефон или Telegram
  • Адрес сайта пользователя (не обязательно)

Также администрация сайта получает данные об IP-адресе посетителей, типе браузера, времени нахождения на сайте и прочие подобные сведения через сервисы статистики.

Использование информации

Вся полученная информация используется администрацией «https://gurucontext.ru» исключительно в целях связи с клиентом.

Защита персональных данных

Компания «https://gurucontext.ru» обязуется не разглашать сведения, полученные от пользователей, и хранит их в защищённом виде.

Предоставление данных третьим лицам

Полученные сведения не передаются третьим лицам, за исключением случаев исполнения обязательств перед клиентом (с его разрешения) и обоснованных требований закона.

Контакты

Телефон: +7 (499) 955-47-00.
E-mail: info@gurucontext.ru.