Как изменить параметры PHP (php.ini) в cPanel
ПечатьОшибка «Allowed memory size exhausted», не загружающийся файл или импорт, который обрывается на середине, часто упираются в настройки PHP. Эти значения обычно задаются в php.ini, и в cPanel их можно поменять самостоятельно, не трогая системные файлы.
Где менять настройки
В cPanel есть два места для параметров PHP. Нужное зависит от того, где выбрана версия PHP для сайта:
- Select PHP Version (раздел Software): если версия выбрана здесь, параметры меняются на вкладке Options той же страницы.
- MultiPHP INI Editor (раздел Software): для доменов, версия которых задана в MultiPHP Manager.
Если не уверены, какой вариант Ваш, внесите изменение и проверьте результат способом из конца статьи. Показанное там значение и есть то, с которым реально работает сайт.
Способ 1: Select PHP Version, вкладка Options
- В cPanel в разделе Software откройте Select PHP Version.
- Перейдите на вкладку Options. Появится список директив с текущими значениями.
- Нажмите на нужное значение и выберите новое из списка. Изменение сохраняется сразу.
Способ 2: MultiPHP INI Editor
- В cPanel в разделе Software откройте MultiPHP INI Editor.
- На вкладке Basic Mode выберите домен (или расположение), для которого меняются настройки.
- Измените значения и нажмите Apply или Save, в зависимости от версии cPanel.
- Директивы, которых нет в списке, добавляются на вкладке Editor Mode: выберите то же расположение и впишите их, каждую с новой строки, например:
display_errors = Off log_errors = On
Что меняют чаще всего
| Директива | За что отвечает | Когда менять |
|---|---|---|
memory_limit | Сколько памяти может занять один скрипт | Ошибки вида «Allowed memory size exhausted» |
upload_max_filesize | Максимальный размер загружаемого файла | Не загружается тема, большое изображение или архив |
post_max_size | Общий объём данных, отправляемых формой | Вместе с upload_max_filesize, всегда не меньше её |
max_execution_time | Сколько секунд может выполняться скрипт | Долгие импорты и экспорты прерываются |
max_input_time | Время на приём данных запроса | Медленная загрузка больших файлов |
max_input_vars | Сколько полей принимается в одном запросе | Большое меню или страница настроек сохраняется не полностью |
display_errors | Показывать ли ошибки на странице | Включать ненадолго для отладки; на рабочем сайте держать выключенным |
session.gc_maxlifetime | Сколько секунд хранятся данные сессии | Пользователей слишком быстро разлогинивает |
Чего лучше не делать
- Ставить огромные значения. Большой
memory_limitне добавит памяти: аккаунт всё равно ограничен ресурсами тарифа. Увеличивайте постепенно, ровно настолько, чтобы проблема ушла. - Оставлять
post_max_sizeменьшеupload_max_filesize. Тогда загрузка не пройдёт, даже если лимит файла выглядит достаточным. - Показывать ошибки посетителям. Включённый
display_errorsможет раскрыть пути и детали сайта. Для отладки пользуйтесь журналом ошибок. - Проверять слишком рано. Некоторые изменения применяются через несколько минут. Если видите старое значение, подождите и обновите страницу.
Как убедиться, что настройка применилась
- В File Manager в папке сайта (например,
public_html) создайте файл с трудно угадываемым именем, скажемtest-php-7391.php, и таким содержимым:<?php phpinfo();
- Откройте его в браузере по адресу
https://Ваш-домен.md/test-php-7391.phpи найдите изменённую директиву в колонке Local Value. - Сразу после проверки удалите файл. Страница phpinfo раскрывает сведения о сервере, которым не место в открытом доступе.