Маленький файл с большим… объемом данных

После установки очередного плагина Самсон Ярдов увидел в админке предупреждение: для полноценной работы требуется расширение imagick. Он не стал делать вид, что понял, и спросил штатного айтишника прямо: «Что такое imagick, с чем его едят и где в настройках его включить?»

«Смотрите phpinfo.php», — ответил айтишник, не отрываясь от монитора.

Самсон кивнул и задал следующую серию вопросов: «Что такое phpinfo.php, с чем его едят и где в настройках его включить?»

Рекурсия, достойная учебника по программированию. Но ответ оказался проще, чем сам вопрос: включать там нечего. Достаточно загрузить файл phpinfo.php на сайт и открыть его в браузере. Один файл, одна ссылка, и перед вами вся техническая конфигурация сервера.

Если коротко: phpinfo.php — это самая быстрая диагностика окружения, в котором работает ваш сайт. Он нужен, когда плагин требует расширение, которого, возможно, нет; когда нужно узнать версию интерпретатора, которая реально обслуживает сайт; когда упираетесь в лимиты памяти и загрузки файлов; когда после обновления PHP хочется убедиться, что обновилось именно то, что нужно. Ниже — что внутри файла, как им пользоваться без последствий для безопасности, какие задачи он решает за минуту и чем хороша наша расширенная версия.

Файл phpinfo.php показывает всё, что PHP знает о своём окружении

Технически phpinfo.php — это текстовый файл из одной строки:

phpinfo();

Функция phpinfo() встроена в сам PHP. Когда браузер открывает такой файл, интерпретатор выводит страницу с полной информацией о конфигурации: версия интерпретатора, список загруженных модулей и расширений, директивы из php.ini, параметры среды выполнения, переменные окружения, настройки веб-сервера и сведения о системе. Это не панель управления, где можно щёлкнуть переключателем. Это справка, которая показывает, как всё устроено на самом деле, и отличная основа для диагностики.

Важное отличие от консоли. Команда php -v показывает версию для командной строки, а сайт может работать на другой версии PHP, у которой другой набор расширений и другой файл конфигурации. phpinfo.php, открытый в браузере, показывает именно то окружение, в котором выполняется код вашего сайта. Эта разница особенно важна во время массовых обновлений безопасности: мы разбирали её в статье Как обновиться быстрее, чем хакерский ИИ допишет свой эксплойт.

Как открыть phpinfo.php в три шага

  1. Создайте файл. Откройте текстовый редактор, вставьте строку <?php phpinfo(); и сохраните файл под именем phpinfo.php
  2. Загрузите его в корень сайта. Через FTP-клиент или файловый менеджер хостинга. На сервере с Hestia CP это обычно папка /home/ПОЛЬЗОВАТЕЛЬ/web/ВАШ_САЙТ.РУ/public_html/. Если FileZilla ещё не освоена, инструкция есть в статье Как обновить robots.txt через FileZilla
  3. Откройте файл в браузере по адресу https://ваш-сайт.ру/phpinfo.php

Перед вами длинная страница с таблицами. Искать в ней нужное удобнее через поиск по странице (Ctrl+F): например, вбить imagick, memory_limit или Loaded Configuration File.

Удалять phpinfo.php после проверки нужно сразу

Это самое важное правило статьи, поэтому вынесено в отдельный раздел.

Страница phpinfo.php раскрывает внутреннее устройство сервера: пути к файлам, версии программного обеспечения, активные модули, а иногда и переменные окружения, в которых бывают пароли и ключи доступа. Для владельца сайта это удобная диагностика. Для постороннего - готовая шпаргалка для атаки. Автоматические сканеры регулярно проверяют популярные адреса вроде /phpinfo.php, и забытый файл рано или поздно находят.

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

Типовые задачи, где без phpinfo.php не обойтись

Вот список ситуаций, в которых этот файл экономит часы поисков:

Задача Что искать на странице
Плагин требует расширение (imagick, gd, intl, mbstring, zip): проверка установленных расширений Поиск по названию расширения: нет раздела, значит расширение не установлено
Узнать, на какой версии PHP работает сайт Строка PHP Version в самом верху страницы
Понять, запущен ли PHP как FPM или модуль Apache Строка Server API
Выяснить, какой php.ini реально используется Строки Loaded Configuration File и Scan this dir for additional .ini files
Не хватает памяти или не загружаются большие файлы Директивы memory_limit, upload_max_filesize, post_max_size, max_execution_time
Не сохраняются меню и настройки темы с большим числом полей Директива max_input_vars
Подготовка к установке Redis Разделы redis и Zend OPcache
Диагностика белого экрана и скрытых ошибок Директивы display_errors, error_log, log_errors
Проверка защитных мер после выхода CVE Директивы вроде session.upload_progress.enabled
Сравнение конфигурации старого и нового сервера при миграции Сохранённые копии страниц для сравнения
Убедиться, что после обновления сменилась именно та версия PHP Version и Loaded Configuration File
Узнать сведения о серверном окружении: имя хоста, DOCUMENT_ROOT, версию веб-сервера Раздел Apache Environment или $_SERVER

В расширенной версии, о которой речь пойдёт ниже, ответы на часть этих вопросов вынесены на первый экран, и искать их по таблице не придётся.

Теперь вернёмся к истории с imagick. Ищем на странице слово imagick. Раздела нет - значит, расширение не установлено. На сервере с Hestia и Ubuntu его ставят двумя командами (версию PHP замените на ту, что выбрана для вашего сайта):

sudo apt install -y php8.3-imagick
sudo systemctl restart php8.3-fpm

После перезапуска обновляем страницу: появился раздел imagick - расширение подключено, плагин получил то, что просил. И не нужно гадать, нужно ли «включать» что-то в настройках: достаточно было посмотреть. А в расширенной версии статус Imagick виден сразу, зелёной или красной отметкой на первой вкладке.

Через час Самсон снова открыл админку. Предупреждение про imagick исчезло, плагин работал, а файл phpinfo.php к этому моменту уже был удалён с сервера. «Вот это я называю хорошей диагностикой, - сказал он айтишнику. - Не гадать, а смотреть». И записал в блокнот:

  • Прежде чем что-то настраивать, нужно узнать, что именно установлено сейчас
  • Версию PHP смотрим там, где она работает на сайте, а не в консоли
  • Файл с данными о сервере живёт на сервере ровно столько, сколько идёт проверка
  • Если расширения нет, оно не включается галочкой в админке: его устанавливают на сервере

Если вы хотите, чтобы проверку конфигурации, установку расширений и настройку лимитов сделали за вас, направьте задачу в свободной форме в dev-team Форсаж. Посмотрим окружение, настроим то, что нужно, и уберём за собой все временные файлы.

Расширенный phpinfo.php для WordPress показывает главное на одном экране

Стандартная страница phpinfo() отлично справляется со своей задачей, но у неё есть недостаток: информации так много, что нужное приходится искать вручную. Для тех, кто часто проверяет WordPress-сайты, мы подготовили расширенную версию - бонус для читателей WP Reload. Это тот же phpinfo(), но с понятной панелью сверху: ключевые параметры сервера, лимиты и расширения собраны в одном месте.

Три вкладки вместо одной бесконечной таблицы

«Бизнес-Дашборд лимитов». Первая вкладка - сводный аудит окружения для WordPress. В ней две карточки и таблица:

  • Окружение сервера: версия PHP, серверное программное обеспечение, интерфейс (SAPI) и операционная система. Это основные параметры сервера и сведения о серверном окружении, которые обычно приходится выискивать в разных местах стандартной страницы
  • Кэширование и оптимизация: статус Zend OPcache, расширения Redis (php-redis) и Imagick. Каждый пункт помечен как включённый или выключенный. Так видно, готов ли сервер к объектному кэшу и работе с изображениями
  • Анализ критических лимитов php.ini: таблица, где текущие значения сравниваются с минимумом для «тяжёлых» WordPress-сайтов

Минимумы, с которыми сравнивает скрипт:

Параметр Минимум для WordPress Зачем нужен
memory_limit 256M Стабильная работа тяжёлых плагинов вроде Elementor и WooCommerce
upload_max_filesize 64M Загрузка крупных плагинов, тем и медиафайлов без FTP
post_max_size 64M Должен быть не меньше upload_max_filesize
max_execution_time 300 Скрипты не обрываются при обновлении плагинов и импорте
max_input_vars 3000 Сохранение объёмных меню и сложных настроек тем

Если значение в норме, рядом появляется «Отлично». Если меньше минимума, строка подсвечивается и помечается как «Маловато».

«Установленные модули». Вторая вкладка - полный список загруженных модулей с общим количеством. Самые важные для WordPress расширения выделены зелёной рамкой и звёздочкой: redis, imagick, mysqli, curl, mbstring и gd. Проверка установленных расширений занимает секунды: нужное либо есть в списке, либо нет.

«Стандартный phpinfo()». Третья вкладка - привычная полная страница, встроенная в окно. Здесь нужно искать то, чего нет на дашборде: например, строку Loaded Configuration File, чтобы узнать, какой именно php.ini править.

Что учесть при чтении результатов

  • Значения «без ограничений». В PHP 0 для времени выполнения и -1 для памяти означают отсутствие лимита. Но дашборд сравнивает их как обычные числа, поэтому может показать «Маловато», хотя на деле ограничений нет. Это не тревога, а особенность проверки
  • Временные меры после CVE. Если вы снижали post_max_size и upload_max_filesize, следуя рекомендациям из статьи Как обновиться быстрее, чем хакерский ИИ допишет свой эксплойт, дашборд покажет предупреждение. Это ожидаемо: после установки исправленной версии PHP лимиты можно вернуть к рабочим значениям

В самом верху страницы расположено жёлтое предупреждение, и это не случайно. Лимиты из таблицы не меняются кнопками в админке WordPress: правки вносятся в php.ini, .htaccess или через панель хостинга, и неосторожное движение приводит к «белому экрану смерти». Если уверенности нет, рядом - ссылка, по которой техническую рутину можно доверить профессионалам. А красный значок в шапке напоминает главное: файл нужно удалить с сервера после проверки.

Как воспользоваться расширенной версией

  1. Скачайте файл по ссылке: расширенный phpinfo.php
  2. Загрузите его в корневую директорию сайта на WordPress через FTP или панель хостинга
  3. Откройте в браузере по адресу https://ваш-сайт.ру/phpinfo.php
  4. Изучите вкладки, сделайте выводы, зафиксируйте нужные значения
  5. Сразу после проверки удалите файл с сервера. Расширенная версия показывает те же сведения о системе, что и обычная, так что правило безопасности прежнее

Защита по IP на случай, если файл придётся оставить чуть дольше

В начале файла есть закомментированный блок проверки IP-адреса. Если вы хотите, чтобы страница открывалась только вам, уберите символы комментария /* и */ и подставьте свой адрес:

$allowed_ips = array('ВАШ_IP_АДРЕС');
if (!in_array($_SERVER['REMOTE_ADDR'], $allowed_ips)) {
    die('Access denied. Your IP: ' . htmlspecialchars($_SERVER['REMOTE_ADDR']));
}

Оставлять адреса 127.0.0.1 и ::1 по умолчанию нельзя: это адреса самого сервера, и вы просто закроете страницу от себя. Если не уверены, какой адрес видит сервер, включите блок с любым чужим адресом и откройте страницу: она ответит «Access denied» и покажет ваш IP. Его и впишите в список.

Проверка закрывает и вкладку со стандартным phpinfo(), поскольку срабатывает до всего остального кода. Но это только дополнительный замок. Удаление файла после проверки он не заменяет.

Часто задаваемые вопросы о phpinfo.php
Что такое phpinfo.php и для чего он нужен?
phpinfo.php - это файл из одной строки кода, который выводит полную страницу с технической конфигурацией PHP на вашем сервере: версию интерпретатора, список загруженных расширений, значения директив из php.ini, параметры среды выполнения и сведения о серверном окружении. Он нужен для диагностики: проверить, есть ли нужное расширение, узнать реальную версию PHP, оценить лимиты памяти и загрузки файлов, убедиться, что после обновления изменилось именно то, что планировалось.
Как создать и открыть phpinfo.php на сайте WordPress?
Создайте текстовый файл с именем phpinfo.php и одной строкой внутри: <?php phpinfo();. Загрузите его в корневую папку сайта через FTP-клиент или файловый менеджер хостинга, затем откройте в браузере по адресу https://ваш-сайт.ру/phpinfo.php. Для поиска нужной информации на длинной странице используйте поиск по странице (Ctrl+F).
Опасно ли оставлять phpinfo.php на сервере?
Да, опасно. Страница раскрывает пути к файлам, версии программного обеспечения, список модулей, а иногда и переменные окружения с паролями и ключами доступа. Автоматические сканеры регулярно проверяют популярные адреса вроде /phpinfo.php, поэтому забытый файл рано или поздно находят. Правило простое: загрузили, посмотрели нужное, сразу удалили. Переименование или перенос в подпапку защитой не считается.
Как узнать версию PHP на сайте через phpinfo.php?
Откройте страницу в браузере: версия указана в самом верху, в строке PHP Version. Именно эта версия обслуживает ваш сайт. Команда php -v в консоли может показать другую, потому что она относится к командной строке, а не к веб-серверу. Там же, в строке Loaded Configuration File, видно, какой именно файл php.ini используется, то есть где править лимиты и директивы.
Как проверить, установлено ли нужное расширение PHP, например imagick?
Откройте phpinfo.php и найдите на странице название расширения через Ctrl+F. Если у расширения есть собственный раздел с таблицей, оно установлено и подключено. Если такого раздела нет, расширения на сервере нет, и включить его галочкой в админке WordPress нельзя: его нужно установить на сервере. Для imagick на Ubuntu это пакет php8.3-imagick (номер версии зависит от выбранной ветки PHP) и перезапуск php-fpm. В расширенной версии файла статусы Redis, Imagick и OPcache видны сразу на первой вкладке.
Сегодня: 10.11.2026
Дата публикации: 05.11.2026
Дата обновления: 08.11.2026

Оставьте комментарий