После установки очередного плагина Самсон Ярдов увидел в админке предупреждение: для полноценной работы требуется расширение 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 в три шага
- Создайте файл. Откройте текстовый редактор, вставьте строку
<?php phpinfo();и сохраните файл под именемphpinfo.php - Загрузите его в корень сайта. Через FTP-клиент или файловый менеджер хостинга. На сервере с Hestia CP это обычно папка
/home/ПОЛЬЗОВАТЕЛЬ/web/ВАШ_САЙТ.РУ/public_html/. Если FileZilla ещё не освоена, инструкция есть в статье Как обновить robots.txt через FileZilla - Откройте файл в браузере по адресу 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 или через панель хостинга, и неосторожное движение приводит к «белому экрану смерти». Если уверенности нет, рядом - ссылка, по которой техническую рутину можно доверить профессионалам. А красный значок в шапке напоминает главное: файл нужно удалить с сервера после проверки.
Как воспользоваться расширенной версией
- Скачайте файл по ссылке: расширенный phpinfo.php
- Загрузите его в корневую директорию сайта на WordPress через FTP или панель хостинга
- Откройте в браузере по адресу
https://ваш-сайт.ру/phpinfo.php - Изучите вкладки, сделайте выводы, зафиксируйте нужные значения
- Сразу после проверки удалите файл с сервера. Расширенная версия показывает те же сведения о системе, что и обычная, так что правило безопасности прежнее
Защита по 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(), поскольку срабатывает до всего остального кода. Но это только дополнительный замок. Удаление файла после проверки он не заменяет.
Дата публикации: 05.11.2026
Дата обновления: 08.11.2026