phpinfo как вывести и настроить PHP
Если вы вводите запрос «phpinfo как вывести», используйте функцию phpinfo(): она показывает настройки PHP и путь к загруженному php.ini. Измените нужные параметры в этом файле, затем перезапустите PHP-FPM или Apache.
Для командной строки перезапуск не нужен. Вы научитесь находить конфигурацию сайта, менять лимиты памяти и загрузки файлов, проверять результат и возвращать прежние настройки.
- phpinfo(): получить информацию о PHP
- Где в phpinfo() искать путь к php.ini
- Настройка PHP: как работает php.ini
- Значения параметров конфигурации PHP, полезные для WordPress-разработчиков
- Как отредактировать php.ini и перезапустить обработчик
- Как изменить настройки на виртуальном хостинге
- Порядок безопасного изменения конфигурации PHP
phpinfo(): получить информацию о PHP
Функция phpinfo() выводит сведения о PHP, расширениях и настройках окружения. Если вы ищете «phpinfo как вывести», создайте файл info.php в каталоге сайта. Разместите в нем вызов этой функции:
<?php
// info.php
phpinfo();Откройте /info.php на своем домене через браузер. Если сервер выполняет PHP, вы увидите страницу с таблицами конфигурации. Если браузер скачивает файл или показывает исходный код, сначала настройте обработку PHP.
Не оставляйте info.php в открытом доступе. Страница раскрывает пути, версии компонентов и другие сведения о сервере. Ограничьте доступ к ней на время диагностики. После проверки удалите файл и убедитесь, что страница больше недоступна.
В терминале сервера информацию можно получить без отдельного файла:
php -iТа же функция доступна через запуск PHP-кода в консоли:
php -r "phpinfo();"Обе команды показывают конфигурацию CLI – PHP для командной строки. Настройки сайта, который обслуживает PHP-FPM или модуль Apache, могут отличаться.
Где в phpinfo() искать путь к php.ini
Найдите строку Loaded Configuration File через поиск браузера. Она сообщает, какой основной файл конфигурации загрузил PHP. Для изменения настроек сайта ориентируйтесь на вывод именно этого сайта.
Server APIпоказывает способ запуска PHP. ЗначениеFPM/FastCGIуказывает на PHP-FPM,Apache 2.0 Handler– на модуль Apache.Loaded Configuration Fileсодержит путь к загруженному php.ini. Значение(none)означает, что основной файл не загружен.Scan this dir for additional .ini filesпоказывает каталог дополнительных настроек, частоconf.d.Additional .ini files parsedперечисляет дополнительные файлы, которые PHP прочитал после основной конфигурации.
Строка Configuration File (php.ini) Path обозначает место поиска конфигурации. Не путайте ее с путем к фактически загруженному файлу.
Без браузера выполните команду поиска конфигурации CLI:
php --iniКоманда покажет основной php.ini, каталог сканирования и дополнительные INI-файлы. Она не определяет конфигурацию PHP-FPM, обслуживающего ваш сайт.
У CLI и PHP-FPM часто разные файлы php.ini. В пакетных установках PHP 8.x на Debian и Ubuntu встречаются следующие пути:
| Окружение | Путь к php.ini |
|---|---|
| Debian/Ubuntu, PHP-FPM | /etc/php/8.x/fpm/php.ini |
| Debian/Ubuntu, CLI | /etc/php/8.x/cli/php.ini |
Символ x обозначает младший номер установленной версии, его нужно заменить. Используйте путь из Loaded Configuration File, даже если он отличается от примера. Сторонние сборки и контейнеры могут хранить конфигурацию в другом каталоге.
Настройка PHP: как работает php.ini
PHP хранит основные настройки в текстовом файле формата INI. Каждая директива занимает отдельную строку и получает значение после знака равенства:
implicit_flush = Off
serialize_precision = 17
memory_limit = 256MТочка с запятой в начале строки обозначает комментарий. Закомментированная директива не меняет настройку:
; Maximum amount of memory a script may consume (128MB)
; memory_limit = 128M
memory_limit = 256MАктивная строка memory_limit = 256M разрешает скрипту использовать до 256 МБ памяти. Значение 128M в комментарии показывает значение по умолчанию, а строка с точкой с запятой на настройку не влияет.
Если вы закомментируете директиву, PHP не обязательно вернется к встроенному значению. Настройку может задавать другой INI-файл или конфигурация сайта. Порядок загрузки описывает документация PHP о конфигурационном файле.
Значения параметров конфигурации PHP, полезные для WordPress-разработчиков
При настройке WordPress часто меняют четыре параметра. Они ограничивают время выполнения, память и объем загружаемых данных. Значения в таблице – ориентир для проекта, а не обязательные требования WordPress.
| Параметр | Значение по умолчанию | Типичное значение для WordPress | Что ограничивает |
|---|---|---|---|
max_execution_time | 30 секунд | 60 секунд | Время выполнения скрипта |
memory_limit | 128M | 256M | Память, которую может выделить скрипт |
upload_max_filesize | 2M | 32M | Размер одного загружаемого файла |
post_max_size | 8M | 40M | Общий размер тела POST-запроса |
Фактические значения вашего сайта показывает phpinfo(). Описание директив доступно в документации основных настроек PHP и настроек времени выполнения.
Значение post_max_size должно быть не меньше upload_max_filesize. Оставляйте запас для остальных полей формы и служебных данных. Поэтому в примере файл ограничен 32 МБ, а весь запрос – 40 МБ.
max_execution_time = 60
memory_limit = 256M
upload_max_filesize = 32M
post_max_size = 40MНе повышайте все лимиты без причины. Увеличение памяти для одного скрипта повышает возможный расход ресурсов при одновременных запросах. Дополнительные ограничения могут задавать веб-сервер, PHP-FPM и само приложение.
Как отредактировать php.ini и перезапустить обработчик
Для изменения серверного php.ini обычно нужны административные права. Команда sudo запускает действие с повышенными правами, если ваша учетная запись это разрешает. На сервере с systemd используйте следующий порядок.
Сохраните копию и измените параметры
В терминале задайте переменную с путем из Loaded Configuration File. В примере замените 8.x своей версией PHP:
INI='/etc/php/8.x/fpm/php.ini'
sudo cp -p "$INI" "$INI.before-change"
sudo nano "$INI"Команда копирования сохраняет исходный файл рядом с рабочим. Если копия с таким именем уже существует, выберите другое имя, чтобы не затереть предыдущую резервную копию.
- Найдите
memory_limitпоиском редактора: в nano нажмите Ctrl+W и введите имя директивы. - Замените значение активной строки на
256M. Перед директивой не должно быть точки с запятой. - При необходимости измените остальные параметры по примеру конфигурации.
- Сохраните файл сочетанием Ctrl+O, подтвердите имя клавишей Enter. Выйдите из редактора через Ctrl+X.
Перезапустите PHP-FPM или Apache
Перезапуск может прервать выполняющиеся запросы. На рабочем сайте выберите период с небольшой нагрузкой. Выберите обработчик по строке Server API.
Для PHP-FPM сначала получите имена установленных служб:
systemctl list-unit-files --type=service | grep -Ei 'php.*fpm'Сопоставьте версию в имени службы с версией PHP на странице phpinfo(). Если установлено несколько версий, выбирайте службу, которая обслуживает ваш сайт. Для юнита вида php8.x-fpm.service команда выглядит так:
sudo systemctl restart php8.x-fpm
systemctl status php8.x-fpm --no-pagerЗамените php8.x-fpm точным именем из списка. Если служба называется php-fpm.service, используйте php-fpm. После успешного запуска статус содержит active (running).
Если сайт использует модуль PHP для Apache, перезапустите только Apache. Для службы apache2 выполните:
sudo systemctl restart apache2
systemctl status apache2 --no-pagerЕсли Apache зарегистрирован под именем httpd, команды будут другими:
sudo systemctl restart httpd
systemctl status httpd --no-pagerПри связке Apache с PHP-FPM изменение php.ini требует перезапуска PHP-FPM. Перезапуск только Apache не заставит уже работающие процессы FPM перечитать конфигурацию. Для CLI достаточно запустить PHP заново.
Проверьте значения и при необходимости выполните откат
Повторно откройте страницу info.php в браузере. Сначала сверьте Loaded Configuration File с отредактированным путем. Затем найдите memory_limit: после применения примера значение Local Value должно составлять 256M.
Колонка Master Value показывает базовое значение директивы. Колонка Local Value показывает значение для текущего запроса. Если они различаются, настройку переопределяет конфигурация сайта или выполняемый код.
Для CLI проверьте путь и лимит отдельными командами:
php --ini
php -i | grep memory_limitПосле установки лимита 256M в конфигурации CLI строка содержит memory_limit => 256M => 256M. Этот результат не подтверждает изменение настроек веб-сайта.
Если лимит не изменился, просмотрите дополнительные INI-файлы из phpinfo(). Также проверьте настройки пула FPM, .user.ini и конфигурацию приложения. Повторное объявление директивы может перекрывать запись в основном файле.
Чтобы вернуть исходную конфигурацию, восстановите сохраненную копию:
sudo cp -p "$INI.before-change" "$INI"Перезапустите тот же обработчик и снова откройте сайт. Если служба не запускается, подробности ошибки покажет ее статус. После завершения диагностики удалите info.php.
Как изменить настройки на виртуальном хостинге
Без доступа к общему php.ini используйте настройки отдельного сайта. Начните с панели хостинга: найдите параметры PHP для нужного домена. Ищите поля по именам директив, например memory_limit, задайте значение и сохраните изменения.
Если панель не позволяет менять нужный параметр, способ зависит от обработчика PHP.
| Способ | Где применяется | Основное ограничение |
|---|---|---|
| Панель хостинга | Настройки PHP выбранного сайта | Набор доступных директив определяет хостинг |
| .user.ini | CGI/FastCGI | Обработка файла должна быть разрешена |
| php_value в .htaccess | Модуль PHP для Apache | Apache должен разрешать такие переопределения |
| ini_set() | Код выполняемого скрипта | Меняет только разрешенные во время выполнения директивы |
Для CGI/FastCGI создайте файл .user.ini в корневом каталоге сайта. Запишите в него нужные директивы в обычном INI-формате:
memory_limit = 256M
upload_max_filesize = 32M
post_max_size = 40MPHP кеширует пользовательские INI-файлы, поэтому изменение может примениться с задержкой. Обновите info.php после перечитывания конфигурации и проверьте Local Value. Особенности описывает документация .user.ini.
Для PHP как модуля Apache добавьте директиву в существующий .htaccess:
php_value memory_limit 256MВнутри скрипта лимит памяти можно изменить до ресурсоемкой операции:
<?php
ini_set('memory_limit', '256M');
echo ini_get('memory_limit');Если настройка разрешена, скрипт выведет 256M. Функция ini_set() действует в пределах текущего выполнения. Она не подходит для изменения upload_max_filesize и post_max_size: PHP обрабатывает входящий запрос до запуска скрипта.
Административные ограничения хостинга могут запрещать переопределение параметров. После эксперимента удалите тестовый код. Для отката .user.ini или .htaccess удалите добавленные директивы либо восстановите предварительно сохраненную копию файла.
Порядок безопасного изменения конфигурации PHP
- Определите обработчик сайта и загруженный php.ini через phpinfo(). Для консольного скрипта используйте
php --ini. - Сохраните копию конфигурации и измените нужные директивы.
- Перезапустите PHP-FPM или Apache с mod_php. Консольный скрипт запустите повторно.
- Проверьте путь конфигурации и фактическое значение параметра в нужном окружении.
- Повторите действие, ради которого меняли лимит: загрузку файла или запуск задачи.
- Удалите диагностический info.php после завершения проверки.
Сохраните копию конфигурации перед изменением. Так вы быстро вернете рабочие значения при ошибке.
Популярное за неделю
- Как создать сайт самому в 2026: 4 способа + пошаговая инструкция 34 мин чтения
- Лучшие конструкторы для создания сайтов — плюсы, минусы и сравнения 22 мин чтения
- Как сделать редирект на PHP 6 мин чтения
- Основы ООП в PHP: принципы и примеры 6 мин чтения
- Адаптивный помесячный календарь на AJAX и PHP 2 мин чтения
- Как создать формы регистрации и авторизации на PHP 5 мин чтения
Комментарии