Как увеличить лимиты на размер загружаемых файлов и объем выделяемой для PHP памяти

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

Если вы запускаете сайт с большим количеством контента, эти лимиты могут стать проблемой. Можно получить ошибку при загрузке:

Объем загружаемого файла превышает ограничение, заданное директивой upload_max_filesize в файле php.ini

Если достигнут предел выделяемой памяти, то выведется другое сообщение об ошибке:

Неустранимая ошибка: допустимый размер памяти 12345678 байт исчерпан (вы пытались выделить 2345678 байт) в /home/your-username/public_html/wp-includes/plugin.php в строке 1000

Рассмотрим наиболее эффективные способы увеличения этих лимитов на сервере. Начнем с memory limit php ini.

Обновление файла php.ini

Если вы используете CPanel, перейдите в раздел «Файлы» и нажмите кнопку «Диспетчер файлов». Убедитесь, что установлен флажок «Показать скрытые файлы», а затем нажмите на кнопку «Перейти».

Выберите папку wp-admin и найдите файл php.ini или php5.ini. Если такого файла нет, создайте его, нажав на кнопку «Создать файл», расположенную в верхнем левом углу. Назовите файл php.ini и нажмите во всплывающем окне кнопку «Создать файл»:

file-manager-directory-selection

Если ошибка не исчезла, попробуйте переименовать файл в php5.ini. Когда файл будет открыт, добавьте в него приведенные ниже строки, а затем сохраните изменения и закройте файл:

upload_max_filesize = 1000M
post_max_size = 2000M
memory_limit = 3000M
file_uploads = On
max_execution_time = 180

M — означает мегабайты. Измените лимиты 1000M, 2000M и 3000M на значения, которые необходимы. Изменение значения max_execution_time ограничит время загрузки скрипта.

Во многих случаях используемые значения должны увеличиваться по мере перехода в списке от первой до третьей строки. Upload_max_filesize должен быть самым маленьким, memory limit php ini — самым большим. При этом post_max_size должен иметь среднее значение.

Прежде чем проверить, не исчезла ли ошибка, очистите кэш браузера.

Редактирование файла .htaccess

Если редактирование php.ini не помогло, попробуйте изменить файл .htaccess. Добавьте приведенный ниже код в конец файла:

php_value upload_max_filesize 1000M
php_value post_max_size 2000M
php_value memory_limit 3000M
php_value max_execution_time 180
php_value max_input_time 180

Измените значения php ini set memory limit так, как вам нужно. Не забудьте сохранить файл и очистить кэш браузера.

Изменение файла wp-config.php

Если оба способа не дали результата, попробуйте отредактировать файл wp-config.php, добавив следующий код в самый низ, перед строкой «happy blogging«:

define(‘WP_MEMORY_LIMIT’, ‘3000M’);

Сохраните файл и очистите кэш браузера.

Изменение лимитов в WHM

Если сайт размещен на VPS или выделенном сервере, можно попробовать изменить лимиты в WHM.

После того, как вы вошли в систему, перейдите в раздел Конфигурация сервера> Настройки > PHP.

increase-upload-size-whm

Введите нужные вам значения и нажмите кнопку «Сохранить».

Затем перейдите в раздел Конфигурация служб> Редактор конфигурации PHP. Прокрутите страницу вниз до разделов memory_limit и upload_max_filesize:

php-configuration-editor-update-memory

Введите необходимые значения. В разделе «Параметры и информация» найдите memory_limit и задайте то же значение, которое вы установили в memory limit php ini и .htaccess.

Нажмите кнопку «Сохранить» и очистите кэш браузера.

Заключение

Мы рассмотрели все способы решения данной проблемы. Наслаждайтесь возможностью загружать большие файлы и продолжайте использовать на своем сайте плагины WordPress. Внесенные в php memory limit htaccess изменения должны вступить в силу через несколько минут, после чего можно будет приступить к работе с новыми параметрами.

Если нужно загрузить большие файлы только один раз, попробуйте сделать это через FTP. Обычно файлы, загруженные через FTP в каталог /wp-content/uploads/, не отображаются в библиотеке медиа. Но с помощью плагина Media from FTP можно отобразить их всего в несколько кликов.

Если ни один из вариантов не дал результата, свяжитесь со своим хостинг-провайдером.

Перевод статьи «How to Increase the Maximum Upload and PHP Memory Limit» дружной командой проекта Сайтостроение от А до Я.