За замовчуванням 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 і виберіть у спливаючому вікні кнопку «Створити файл»:

Якщо проблема не зникла, спробуйте перейменувати файл в 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.

Як збільшити ліміти на розмір завантажуваних файлів і обсяг виділюваної для PHP памяті

Введіть потрібні вам значення та натисніть кнопку «Зберегти».

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

Як збільшити ліміти на розмір завантажуваних файлів і обсяг виділюваної для PHP памяті

Введіть необхідні значення. В розділі «Параметри» знайдіть 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» дружною командою проекту Сайтостроение від А до Я.