Как посмотреть версию php на сайте

Как посмотреть версию php на сайте

Версия PHP, используемая на веб-сервере, напрямую влияет на безопасность, производительность и совместимость сайта с различными скриптами. Например, с конца 2023 года поддержка версий ниже 8.1 официально прекращена, что делает их уязвимыми к новым угрозам. Знание используемой версии позволяет своевременно обновляться и избегать критических уязвимостей.

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

Для сайтов на популярных CMS, например WordPress, версию PHP можно определить через административную панель: в разделе «Инструменты → Здоровье сайта» отображаются параметры окружения, включая текущую версию PHP. Это особенно полезно при отсутствии FTP-доступа.

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

Проверка версии PHP через phpinfo()

Проверка версии PHP через phpinfo()

Функция phpinfo() предоставляет полную информацию о текущей конфигурации PHP. Чтобы получить версию, выполните следующие шаги:

  1. Создайте новый файл с расширением .php, например info.php.
  2. Добавьте в файл следующий код: <?php phpinfo(); ?>
  3. Загрузите файл в корневую директорию сайта через FTP или панель управления хостингом.
  4. Откройте файл в браузере, указав его URL, например: https://example.com/info.php
  5. На загруженной странице найдите строку PHP Version – номер версии будет указан сразу рядом.
  • Удалите файл info.php сразу после проверки – он раскрывает конфиденциальные данные.
  • Если файл не открывается, возможно, PHP отключён или сервер не поддерживает его выполнение.
  • Используйте phpinfo() только в контролируемой среде – на продуктивных серверах лучше применять альтернативные методы.

Определение версии PHP с помощью командной строки на сервере

Определение версии PHP с помощью командной строки на сервере

Если на сервере установлено несколько версий PHP, уточните путь к нужному исполняемому файлу, например: /usr/bin/php8.1 -v. Уточнить расположение PHP можно с помощью which php или whereis php.

В случае использования php-fpm важно проверить также версию, с которой работает веб-сервер. Для этого просмотрите файл конфигурации пула, обычно расположенный в /etc/php/<версия>/fpm/pool.d/www.conf, и найдите директиву listen. Затем проверьте, какая версия обрабатывает запросы, используя ps aux | grep php-fpm.

Если сервер работает с несколькими виртуальными хостами и используется update-alternatives, узнайте текущую версию по умолчанию командой update-alternatives --display php.

Использование встроенной функции phpversion() в скрипте

Использование встроенной функции phpversion() в скрипте

Для получения точной версии PHP на сервере достаточно использовать встроенную функцию phpversion(). Она возвращает строку с номером версии, установленной в среде выполнения, например 8.1.17.

Создайте файл с расширением .php, например check_version.php, и добавьте в него следующий код:

<?php
echo 'Текущая версия PHP: ' . phpversion();
?>

Загрузите файл в корень сайта и откройте его в браузере. Отображённое значение будет соответствовать активной версии PHP, используемой сервером для обработки запросов к этому конкретному файлу.

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

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

Просмотр версии PHP через панель управления хостингом

Просмотр версии PHP через панель управления хостингом

Большинство хостинг-провайдеров предоставляют доступ к информации о версии PHP через панель управления. Действия зависят от типа панели. Ниже приведены инструкции для популярных решений:

  • cPanel:
    1. Войдите в cPanel под своим логином.
    2. Перейдите в раздел «Select PHP Version» или «MultiPHP Manager».
    3. В списке доменов найдите нужный и посмотрите версию в соответствующей колонке.
  • ISPmanager:
    1. Откройте панель управления ISPmanager.
    2. Перейдите в «Настройки веб-сервера» → «WWW-домены».
    3. Нажмите на нужный домен и выберите вкладку «PHP». Версия указана в выпадающем списке.
  • DirectAdmin:
    1. Авторизуйтесь в DirectAdmin.
    2. Перейдите в «Domain Setup» и выберите нужный домен.
    3. Откройте «PHP Version Selector», где будет указана текущая версия.

Если панель отличается, ищите разделы с названиями «PHP Settings», «Настройки сервера» или аналогичные. При отсутствии доступа обратитесь в техподдержку хостинга с запросом версии PHP для конкретного домена.

Определение версии PHP на WordPress-сайте

Определение версии PHP на WordPress-сайте

Чтобы узнать версию PHP на WordPress-сайте, авторизуйтесь в админ-панели и перейдите в «Инструменты» → «Сайт-здоровье» → вкладка «Информация». Разверните раздел «Сервер» – строка «Версия PHP» содержит актуальные данные.

Если доступ к панели отсутствует, подключитесь по FTP или через файловый менеджер хостинга и создайте в корне сайта файл с именем phpinfo.php. Вставьте в него код: <?php phpinfo(); ?>. Откройте файл в браузере по адресу https://домен-сайта/phpinfo.php и найдите строку «PHP Version».

При использовании WP-CLI выполните команду wp --info в консоли. В блоке «PHP binary» будет указана текущая версия PHP.

Удалите файл phpinfo.php после проверки, чтобы исключить утечку информации о конфигурации сервера.

Добавьте в корневой .htaccess следующую директиву:

<IfModule mod_headers.c>
Header set X-Powered-By "PHP_VERSION: <?php echo phpversion(); ?>"
</IfModule>

Однако стандартный синтаксис PHP здесь не выполняется, так как .htaccess не обрабатывает PHP-код напрямую. Поэтому используется альтернативный подход: создаётся отдельный PHP-скрипт, возвращающий заголовок, и к нему выполняется curl-запрос.

Создайте файл, например phpinfo_header.php, со следующим содержимым:

<?php
header("X-PHP-Version: " . phpversion());
?>

Разместите этот файл на сервере и отправьте к нему HTTP-запрос с помощью curl -I https://example.com/phpinfo_header.php. В ответе будет заголовок X-PHP-Version, содержащий актуальную версию PHP.

Если модуль mod_headers отключён, настройка через .htaccess не сработает. Также важно убедиться, что сервер не фильтрует пользовательские заголовки, иначе они не попадут в ответ клиенту.

Для защиты информации от нежелательного раскрытия желательно временно ограничить доступ к скрипту по IP или установить HTTP-авторизацию.

Выяснение версии PHP через SSH-доступ

Выяснение версии PHP через SSH-доступ

Для получения информации о версии PHP на сервере с использованием SSH-доступа необходимо выполнить несколько простых шагов. Во-первых, подключитесь к серверу через SSH с использованием клиента, например, PuTTY или терминала на Linux или macOS. Используйте команду:

ssh user@server_address

После успешного подключения к серверу введите следующую команду для проверки установленной версии PHP:

php -v

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

PHP 7.4.3 (cli) (built: Mar 12 2020 16:47:52) ( NTS )

Если на сервере установлено несколько версий PHP, можно уточнить путь к конкретной версии с помощью команды:

php7.4 -v

Если команда не распознается, это может означать, что указанная версия PHP не установлена. В таком случае уточните доступные версии с помощью:

update-alternatives --display php

Если доступ к php-cli ограничен, можно использовать команду через HTTP-сервер. Для этого создайте файл с расширением .php, содержащий команду phpinfo();, и откройте его в браузере. Но такой метод не всегда безопасен и рекомендуется только для краткосрочного использования. После получения информации о версии PHP не забудьте удалить файл для обеспечения безопасности.

Для управления версиями PHP через SSH можно использовать утилиты вроде update-alternatives или настроить специальные конфигурации для переключения между версиями PHP в зависимости от потребностей проекта.

Проверка версии PHP с использованием инструментов браузера и сетевых ответов

Проверка версии PHP с использованием инструментов браузера и сетевых ответов

Для проверки версии PHP на сайте можно использовать инструменты разработчика в браузере, которые позволяют анализировать HTTP-ответы, получаемые от сервера. Это полезно, если на сайте нет явных указаний на версию PHP, и необходимо выяснить эту информацию для обеспечения совместимости или устранения проблем.

Чтобы узнать версию PHP через сетевые запросы, откройте инструменты разработчика (обычно доступные по клавише F12 или через правый клик «Инспектировать элемент») и перейдите на вкладку «Сеть» (Network). Затем обновите страницу и проанализируйте запросы, которые отправляются на сервер. В ответах сервера можно обнаружить заголовки, содержащие информацию о серверных настройках, включая версию PHP.

Если сервер настроен так, что он отправляет информацию о версии PHP в HTTP-headers, вы можете найти такие заголовки как X-Powered-By, в которых будет указана версия PHP. Однако стоит учитывать, что многие серверы скрывают такие данные по соображениям безопасности.

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

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

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

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

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

Что делать, если я не могу узнать версию PHP на сайте с помощью скрипта?

Если скрипт `phpinfo()` не работает или доступ к нему ограничен, существует несколько других вариантов. Один из них — проверить файлы сайта на наличие признаков версии PHP в заголовках ответов сервера. Для этого можно использовать инструменты разработчика в браузере или сервисы для анализа заголовков HTTP. Также стоит проверить документацию хостинга или связаться с технической поддержкой, чтобы узнать точную версию PHP на сервере.

Почему важно знать версию PHP на сайте?

Знание версии PHP важно для обеспечения совместимости с определенными фреймворками, библиотеками и плагинами. Новые версии PHP часто содержат улучшения производительности и безопасности. Если на сайте используется устаревшая версия, это может привести к уязвимостям или проблемам с работой некоторых скриптов. Также важно для того, чтобы своевременно обновить PHP до более безопасной версии и избежать возможных ошибок при обновлениях на сайте.

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