mojwp.ru
Назад

Решение Fatal error: Allowed memory size of XXX bytes...

Опубликовано: 26.04.2014
2
474

Fatal error: Allowed memory size ofПредлагаю решение проблемы Fatal error: Allowed memory size of 123456789 bytes exhausted и дальше еще какой-то текст.

Данная надпись может появиться вместо вашего сайта, т.е. кроме нее ничего не будет видно по URL сайта и вы будете терять своих посетителей, пока не решите проблему.

В течении этого месяца мне дважды пришлось столкнуться с данной проблемой на сайтах клиентов. Последний раз накануне поздно вечером обратился человек с просьбой помочь. И я, как истинный герой, сразу пришел на помощь))

Суть надписи "Fatal error: Allowed memory size of 123456789 bytes exhausted" в том, что вашему серверу не хватает оперативной памяти на нормальную работу сайта. Это может случиться по вине "грузности" самого WordPress, плагинов, слишком "тяжелого" шаблона. Под этими нагрузками сервер начинает захлебываться и просит увеличить оперативную память для работы.

Решения проблем несколько.

Сменить настройки выделенной памяти на самом сервере. Однако на настоящий момент хостеры не дают доступ к файлу php.ini, где вы это сможете сделать (если у вас не выделенный сервер). Поэтому, как вариант, обратиться непосредственно к хостеру. Максимум - вы сможете посмотреть какое количество памяти вам доступно в панели хостера (найдите пункт "Конфигурация сервера" или подобное). А там увидите в таблице нечто подобное:

Fatal error: Allowed memory size of wordpress
Клик для увеличения

На картинке видим, что у меня выделено 240М на сервере. Этого вполне достаточно для комфортной работы. Однако изначально у вас по аккаунту могут стоять ограничения, которые не доходят до максимально выделенной планки. Поэтому мы можем сами поднять этот барьер и использовать максимум допустимой памяти.

Для этого необходимо открыть файл wp-config.php (лежит в корне вашего сайта на хостинге) и вставить следующие строчки:

define('WP_MEMORY_LIMIT', '240M');
define('WP_MAX_MEMORY_LIMIT', '240M');

Вставить данный код можно сразу после строки define('WPLANG', 'ru_RU');

Вот теперь указанная в заголовке ошибка Fatal error: Allowed memory size of 123456789 bytes exhausted исчезнет, если у вас пиковое значение на сервере позволяет задействовать 240М оперативной памяти.

Если же у вас вместо 123456789 стоит число, большее чем выделено в настройках сервера, то необходимо обратиться к хостеру, чтобы он увеличил память либо сменить тарифный план. В этом случае даже вставка предложенных мной строчек не решит проблему, т.к. ваш сайт потребляет больше чем максимальное значение на сервере (первых три цифры в 123456789 примерно округляем и получаем 123М).

После того, как решили проблему с памятью, есть смысл задуматься об оптимизации своего сайта в плане нагрузок. Избавьтесь от лишних плагинов, используйте хаки, оптимизируйте код шаблона, поставьте плагин кеширования, быть может сменить тариф у хостера. В общем - не сидите сложа руки до следующей аналогичной проблемы.

Автор:
Виталий
Поделиться
Похожие записи
Черкани пару строк
  • Андрей
    Опубликовано: 26.04.2014 Ответить на сообщение

    Доброе время суток Виталий! я не нашел у своего хостера, где просмотреть на память, но зато есть в услугах нечто такое "Memcache — высокопроизводительная система хранения данных в оперативной памяти сервера" - это оно? стоимость (64 Мб - 2.08 руб/сутки, на 128 Мб - 4.17 руб/сутки, а на 256 - 8.23 руб/сутки) на данный момент я не подключал эту услугу стоит ли ею воспользоваться, что порекомендуете.....
    также сделал данное действие что Вы описывали в посте вроде работает.

    • Виталий
      Опубликовано: 26.04.2014 Ответить на сообщение

      Добрый.
      Вообще-то это решение только для тех, кто столкнулся с проблемой)) Если у вас все отлично работало, то незачем использовать код.
      Относительно "Memcache" не подскажу. Почитайте что ваш хостер пишет на данный счет.

Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.