Апр
14
44

Увеличиваем memory_limit для wordpress

Система для создания и ведения блогов wordpress развивается бурными темпами – с каждым днем количество плагинов и шаблонов увеличивается, а разработчики беспрерывно наращивают функционал. Так версия wordpress 3.0 обещает порадовать пользователей новыми интересными функциями. Но, увы, есть некоторые не очень приятные моменты – а именно увеличение нагрузки на сервер / хостинг. Далеко не каждый более-менее дешевый хостинг в РУнете или специальный базовые тариф может «потянуть» такую махину как wordpress с кучей плагинов. Что уж говорить, не всегда можно загрузить и нормально работать даже с небольшим набором самых необходимых модулей. В результате нехватки памяти вы можете видеть «не догрузившуюся админку», где, конечно, работать получится с другом.

А выйти из этой непростой и не очень приятной ситуации нам поможет настройка под названием PHP Memory Limit. Она указывает максимальный объем памяти, которая выделяется для выполнения скрипта. Ситуация с нехваткой памяти может появится при использовании большого числа wordpress плагинов либо в случае применения достаточно «тяжелых» модулей. Иногда проблемы возникают даже с базовой функциональностью системы, например, ошибка HTTP при загрузке WordPress картинок и фото. Многие при этом сетуют на «прожорливость WP», а я вот вспоминаю, что большая часть англоязычных проектов имеют не только широкую функциональность, но и разные скрипты/надстройки. Тут, скорее, проблема в экономности отечественных хостеров, которые хотят заработать как можно больше при меньших затратах – оттого и ставят различные ограничения по типу memory_limit.

Значение memory_limit, как правило, можно посмотреть в админке вашего хостинга в разделе «Конфигурация PHP» или что-то в этом роде. В одном из блогов находил информацию, что для wordpress 2.3-2.7 достаточно memory_limit = 32М, а вот версии постарше типа wordpress 2.8 и .2.9 требует уже 64М. Конечно, далеко не каждый хостер будет устанавливать такие значение, некоторые и вовсе грешат, ставя 8М или 16М.

Обновление 02.04.2020: Похожие методики, кстати, используются и при увеличении PHP-параметра, отвечающего за размер файла загрузки картинок в медиабиблиотеку и архивов шаблонов/плагинов через админку.

Способы увеличить значение memory_limit.

1. Самый просто вариант – обратиться к хостеру с просьбой. Объяснить мол не хватает для выполнения скрипта или работы WordPress. У меня лично метод срабатывает 50/50 – пару раз меняли, пару – отказывались, аргументируя тем, что «это такой тариф».

2. Можно увеличить memory_limit, если у вас есть доступ к глоабльным настройкам сервера, либо подправить файл php.ini. Как раз вчера писал статью про то, как изменить настройки файла php.ini для своего хостинга – там тоже есть много нюансов.

3. Увеличиваем memory_limit внеся соответствующую запись в файл .htaccess в корневой директории на FTP.

php_value memory_limit 32M

4. Ну и на последок самый лучший метод, как говорят – задание значения memory_limit непосредственно в WordPress. Для этого открываем файл wp-settings.php и находим строку:

define('WP_MEMORY_LIMIT', '32M');

Здесь вместо 32 ставим любое нужное вам значение – 40, 48, 64. Кстати, в моем случае, хостер отказался изменять значения memory_limit из-за тарифа, но мне удалось поставить нужный вариант в wp-settings.php, и теперь все работает:)

P.S. Постовой. Если хотите узнать как заработать на онлайн играх, то советую заглянуть на блог «Мистерия онлайна». Там есть интересные статьи на эту тему.
Советую также зайти в интересный и полезный seo блог для манимейкеров.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 8, средний балл: 6,13 из 7)
Загрузка...

категория Категории: Возможности; Оптимизация; Хаки и секреты;
теги Теги: , , , , , .

комментария 44 к статье “Увеличиваем memory_limit для wordpress”

  • Mau   17.04.2010

    Спасибо большое, как раз озадачился этим вопросом, и как по заказу такая полезная статья появляется в ридере :)

  • Виталий   17.04.2010

    честно говоря была проблема… начал долбатся и искать причину и ответы — советов миллион!
    а оказалось первый делом нужно было писать хостерам ;)
    так что поддерживаю позиции по которым ты расставил приоритеты

  • Nordvind   17.04.2010

    Ну, это тоже с умом надо делать) Если сильно наглеть, забанят.

  • Беркут   17.04.2010

    Перед заливкой блога на хост задал вопросы в саппорт, вот что они ответили :) :

    — Какой максимальный объем памяти под PHP скрипты вы предоставляете?
    По умолчанию 128 МБ объем памяти PHP на наших серверах

    — Какая версия MySQL используется на ваших серверах?
    MYSQL 5.0.X

    — Какая версия PHP используется на ваших серверах?
    PHP 5.2.X

    — Включен ли на тарифе модуль Apache «mod_rewrite»?
    Данный модуль включен на всех тарифных планах

  • vg   20.04.2010

    у меня была такая проблема при переходе с одной версии на более новую. с 2.5 на 2.7 или выше. На одном блоге все прошло на автомате, без проблем, на другом (другой хостинг) — не апгрейтится. долго читал форумы, понял что не хватает памяти, поговорил с админом хостера — он сам мне предложил подправить php.ini, прописал там 32 и все нормально стало работать

  • многопил   20.04.2010

    В большинстве случаев не получиться лимит данный увеличить — у многих хостеров четкие тарифные планы, где лимит тоже прописывается. Хочешь больше — го на новый тариф, либо на vip сервак.

  • hitech   24.04.2010

    Как получить инфу о своем хостинге?
    Очень просто. Создаем файл, например test.php и прописываем

    <?php
    phpinfo();
    ?>

    Заливаем в корень и получаем инфу о php, где также и смотрим параметр memory_limit.

  • Tod   24.04.2010

    hitech, спасибо за уточнение, пришлось немного подправить дабы код php отображался в комментариях, он вырезается по умолчанию.
    Кстати, в подписи разрешается ставить ссылки только на персональные блоги.

  • volos_86   02.05.2010

    Вы хотите сказать что если подправить define(‘WP_MEMORY_LIMIT’, ’32M’); в wp-settings.php
    то это обойдет серверный php.ini? Мало верится что-то

  • vVv   02.05.2010

    по умолчанию настройки читаются в папке, где выполняется скрипт, если там ничего нет, то в папке с экзешником. вроде бы так, если нигде дополнительно ничего не прописано

  • Tod   05.05.2010

    volos_86, у меня после такой правки все заработало, самому не верится)

  • volos_86   05.05.2010

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

  • Алексей   10.07.2010

    Я только,как двиг поставил сразу же отредактил данный параметр ,хотя вроде бы советуют ставить до 15мб на загрузку с сайта….

  • zenith   12.07.2010

    а версии 3.0 что-то не могу найти такой строчки…

  • hitech   13.07.2010

    zenith, автор всё написал — файл в корне wp-settings.php строка define(‘WP_MEMORY_LIMIT’, ’32M’);

  • higimo   04.08.2010

    Интересное действие, а как это вообще происходит в последнем способе?

  • Евгений   12.08.2010

    Мне хостер давно разрешил поставить 128 Mb, много наверное, зато ничего не подвисает и ошибок никаких не выдает больше.

  • aleg   22.08.2010

    В версии 3.0 в файле wp-settings.php есть вот эта строка:

    // Set initial default constants including WP_MEMORY_LIMIT, WP_DEBUG, WP_CONTENT_DIR and WP_CACHE.
    wp_initial_constants( );

    а этой строки нет:
    define(‘WP_MEMORY_LIMIT’, ‘32M’);

    как поправить в версии 3.0? Может кто нибудь подсказать

  • silvac   18.09.2010

    Что не кто не может ответить?

  • Приколист   23.05.2011

    Спасибки огромное, мучился несколько месяцев, очень актуальная информация. Мне помог 4-й вариант :)

  • Бахадир   25.07.2011

    Спасибо вам огромное… Мне помог пункт 3:
    php_value memory_limit 32M )))

  • Talik   07.10.2011

    Получилось с 174- попытки.
    Помогло php_value memory_limit 64M
    Большое спасибо!

  • Евгений   15.01.2012

    А сталкивался кто-то с такой проблеммой? Warning: Parameter 1 to tguy_sm_save_search() expected to be a reference, value given in /home/loginhosta/public_html/wp-includes/plugin.php on line 166

    Прбовал заливать из разных сборок, в частности и моей, толку «0», закоментировал строку в линии «166», не работают некоторые плагины, страници сайта работают, но в админке слетают все картинки и ситили. При раскоментировании 166 строки в админке все как должно быть, а на самом сайте ошибки. Пробовал даже менять Мемори_Лимит, тоже ничего путнего не срослось, а получилось такое после переноса на хостинг, и пихапи там стоит на хосте «Версия PHP — 5.3.8», но просить хостера поставить 5.2, вроде глупо, может кто-то сталивался с такой ситуацией? Или может надо как-то лимит памяти подобрать?

  • Tod   17.01.2012

    Евгений, более новая версия PHP это не должно быть проблемой. Ошибка может возникнуть из-за какого-то плагина, такое часто при переносе бывает вроде как. Я бы посмотрел как работает сайт без плагинов, потом бы обновил WordPress, а дальше уже подключал бы модули.

  • Евгений   17.01.2012

    Так и работает без плагинов, я решил всю отключить, обновить и все поставить поновее, решило проблему, оказывается блоги 2.7, не работают на серверах с обновленным php, до 5.3.8, вот так вот, а версия 3.3.1 вордпресса избавляет от г…я с вордпрессом. Спасибо.

  • alla   21.05.2012

    просьба, когда пишите учитывайте, что вас читают и те, кому не знакомо что такое файл wp-settings.php и где его искать. Объясняйте такие вещи, глупее не станете, а кому-то здорово поможете.
    Вы даже не представляете сколько приходится лазить по сайтам, чтобы найти элементарные вещи.

  • Tod   21.05.2012

    alla, wp-settings.php находитя в корневой директории сайта, наверное, просто забыл указать это в статье.

  • Евген   04.03.2013

    Сделал на WP сайт под объявления, в связи с чем получается порядка 500-600 публикаций в сутки, в связи с чем стал интересоваться нагрузкой на хостинг. Получается, что в дни публикаций нагрузка на проц превышает допустимую чуть ли не в три раза (предупреждений пока не было). memory-limit хостер отдает 128М. Ради эксперимента прописал 64М в настройках вордпресс, т.к. не знаю какое количество оперативки потребляет WP 3.5. По кодексу строчка теперь ставится в config.php, а не в setting.php.
    Не будет ли косяком, если впишу все 128М для сайта, и не повлияет ли это на работу других моих сайтов?

  • Tod   04.03.2013

    Евген, сложно сказать, я не знаю) Можно подождать пока появятся проблемы и обратиться к хостеру, а так если работает нормально сейчас то смысл что-то менять?

  • Damir   08.09.2013

    у меня ни в конфиге ни в сеттинге нет такой строки, версия WP3.6 в чем может быть проблема?

Оставить комментарий

(следующая статья)

Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости