- Ошибка нехватки памяти в WordPress
- Ошибка нехватки памяти в WordPress
- Переводим байты в мегабайты
- Настройка PHP
- Увеличиваем лимит памяти
- Несколько слов о выделении памяти
- Как увеличить лимит памяти PHP?
- Что такое ошибка исчерпания памяти WordPress?
- Как проверить текущий лимит памяти PHP
- Используйте инструменты работоспособности сайта
- Добавьте файл PHP на свой веб-сервер
- Увеличьте лимит памяти PHP в WordPress
- 1. Увеличьте лимит памяти PHP с помощью wp-config.php
- 2. Увеличьте лимит памяти PHP с помощью php.ini
- 3. Увеличьте лимит памяти PHP с помощью .htaccess
- 4. Увеличьте лимит памяти PHP в cPanel.
- 5. Увеличьте лимит памяти PHP в Plesk.
- 6. Увеличьте лимит памяти PHP в GoDaddy.
- 7. Увеличьте лимит памяти PHP в WHM
- 8. Увеличьте лимит памяти PHP в XAMP.
- 9. Свяжитесь с хозяином
- WP_MEMORY_LIMIT не увеличивается
Ошибка нехватки памяти в WordPress
В произвольный момент времени любой разработчик, создающий тему или плагин, либо просто пользователь, работающий с WordPress, может столкнуться с ошибкой Fatal Error: Memory Exhausted (память исчерпана). Обычно эта ошибка выглядит следующим образом:
Fatal error: Allowed memory size is 268435456 bytes exhausted (tried to allocated 29596635 bytes) in …/wp-includes/wp-db.php on line 885.
Безусловно, ваше сообщение об ошибке может иметь несколько иной вид, однако смысл его одинаков: вы столкнулись с ошибкой, она имеет отношение к доступному объему памяти, вы знаете, какой именно объем памяти был затребован, а также какой файл вызвал ошибку.
По моему мнению, одна из самых заметных проблем с такими вот ошибками – это слишком быстрое нахождение решения в Google, ведь люди не стараются понять проблему.
Да, у нас под рукой всегда имеются материалы, которые прекрасно спасают в беде. Однако стоит помнить, что понимание проблемы помогает нам расширить свой багаж опыта, развивать и совершенствовать свой уровень.
В данной ситуации очень полезно разобраться с тем, почему возникла такая ошибка.
Ошибка нехватки памяти в WordPress
Используя приведенное выше сообщение, мы можем сказать, что выделенный объем памяти составляет 268435456 байт. Однако кто сейчас считает в байтах?
Нам гораздо удобнее оперировать мегабайтами, гигабайтами и терабайтами (хотя если у вас такой объем памяти, и вы столкнулись с указанной ошибкой, то это – совсем другая история).
Переводим байты в мегабайты
Первое, что мы сделаем – это переведем байты в мегабайты. Сделать это можно, к примеру, с помощью Google — достаточно ввести в поисковую строку следующий текст:
268435456 bytes to megabytes
В итоге мы получим результат:
Очень удобно. Но что нам делать с этой информацией?
Во-первых, мы должны понимать, что у нас есть предел в 256 Mb памяти, которая доступна для использования в WordPress и PHP, и этой памяти не хватает для совершения операций.
Честно говоря, ограничения нужно выставлять для PHP, однако я буду работать с WordPress, поскольку часть решения проблемы может включать в себя определение новой константы. Однако об этом – через одно мгновение.
Настройка PHP
Нужно понимать то, что PHP имеет лимит памяти, а также то, что вы можете в некотором роде управлять им через WordPress. Обычно есть две вещи, которые нужно сделать, чтобы убедиться в том, что проблема решена в полном объеме.
Но сначала надо узнать, какую именно версию PHP вы используете. Если вы работаете с PHP на локальной машине, то вы, скорее всего, сможете найти версию PHP в панели управления своего веб-сервера:
В противном случае версия должна отображаться где-либо в пределах панели управления вашего хостинг-аккаунта.
Это даст нам понять, какой конфигурационный файл PHP нужно редактировать. В частности, вам нужно найти файл php.ini, который связан с вашей версией PHP.
Если у вас установлена только одна версия, прекрасно; иначе вам нужно будет найти файл php.ini для вашей определенной версии PHP, которая в данный момент запущена.
Увеличиваем лимит памяти
Как только вы найдете файл php.ini, взгляните на директиву memory_limit.
На скриншоте выше можно видеть, что лимит памяти установлен в 25 Mb, что явно меньше требуемого нам. Потому нам понадобится увеличить его до, скажем, 128 Mb, после чего перезапустить сервер.
Что делать, если WordPress по-прежнему жалуется на ошибку?
В данном случае вам, возможно, понадобится внести одно дополнительное изменение в файл wp-config.php. Есть две константы, которые мы можем определить:
Узнать подробнее про них можно в кодексе. Как показывает мой опыт, удобнее всего определить сразу две константы, чем одну WP_MEMORY_LIMIT.
Я упомянул это, потому что в сети ходят советы, согласно которым можно просто задать WP_MEMORY_LIMIT. Я не говорю, что это неправильно – просто у меня были наилучшие результаты, когда были определены обе константы.
По аналогии с php.ini, добавляем в wp-config.php следующие значения:
Это должно решить проблему.
Также можно задать следующее правило в .htaccess:
Несколько слов о выделении памяти
Хочу сказать еще пару слов о выделении памяти. Несмотря на то, что самое простое решение – это увеличить доступную память, его не обязательно нужно делать в самом начале.
Фактически, я прибегаю к нему уже под конец, когда ничего не помогает.
Зачастую эта проблема является результатом работы какого-либо фрагмента кода, процедуры или определенного алгоритма – все это можно усовершенствовать и оптимизировать.
Таким образом, обязательно проверьте ваш код – используйте различные инструменты отладки и тестирования, чтобы исключить неэффективные участки. Если таковых нет, то тогда уже можно прибегать к корректировке памяти.
Как увеличить лимит памяти PHP?
Как и многие другие платформы с открытым исходным кодом, WordPress имеет свои преимущества и недостатки. WordPress – самая популярная CMS в мире. Большинство веб-сайтов, которые вы посещаете в настоящее время, созданы WordPress.
Одна из наиболее частых ошибок пользователей WordPress – это ошибка памяти PHP. В этой статье мы обычно говорим об этой ошибке и о том, как увеличить лимит памяти WordPress.
Чем больше времени проходит, тем больше тем, плагинов и контента у вас на сайте. Объем данных на вашем сайте требует много места без каких-либо ограничений.
В некоторых случаях у вас нет этого места или вы забываете его увеличить. Ошибка ограничения памяти PHP в WordPress возникает, когда вам не хватает места в памяти. Ниже мы обсудим способы увеличения лимита памяти PHP. Мы стремимся представить в этой статье все возможные способы.
Что такое ошибка исчерпания памяти WordPress?
Прежде всего, нам нужно понять эту ошибку. Что такое ошибка исчерпания памяти WordPress? Когда это происходит и почему? Давайте ответим на эти вопросы по очереди.
Как известно, WordPress программируется на PHP. Кроме того, у каждого веб-сайта должен быть хост для работы. Веб-серверы работают точно так же, как компьютеры, им нужна память для одновременного выполнения нескольких команд. Поэтому администраторы выделяют память для каждой программы. PHP – одна из таких программ. Таким образом, у нас есть память для PHP в WordPress.
Когда вашему сайту WordPress требуется больше памяти PHP для выполнения ваших команд, вы получите следующую ошибку:
Неустранимая ошибка: допустимый размер памяти 33554432 байта исчерпан (попытка выделить 2348617 байтов) в /home4/xxx/public_html/wp-includes/plugins.php в строке xxx
С другой стороны, когда WordPress сталкивается с ошибкой нехватки памяти PHP, он пытается исправить себя. По умолчанию WordPress пытается увеличить лимит памяти PHP, если ему требуется больше места в памяти. Обычно это число составляет 64M, что недостаточно.
Как проверить текущий лимит памяти PHP
Пока еще рано говорить о способах исправления этой ошибки. Прежде чем обсуждать решения, нам нужно рассмотреть другие варианты. Как мы можем проверить лимит памяти WordPress PHP? Когда вы сталкиваетесь с этой ошибкой, становится очевидно, сколько пространств памяти у вас было изначально и сколько вам нужно для продолжения выполнения ваших команд PHP. Есть два основных способа проверить лимит памяти WordPress PHP. Во-первых, вы можете использовать инструменты работоспособности сайта. Во-вторых, вы добавляете файл PHP на свой веб-сервер.
Используйте инструменты работоспособности сайта
Для этого метода требуется версия WordPress не ниже 5.2. Разработчики WordPress добавили Site Health Tools в версии 5.2 и выше. Этот встроенный инструмент предлагает пользователю множество функций. Одна из этих функций – проверка лимита памяти PHP.
Чтобы получить доступ к этому инструменту, перейдите в свою панель управления WordPress. В Инструментах нажмите «Настройки» и найдите «Инструменты работоспособности сайта». После перехода на страницу внизу вы можете увидеть лимит памяти PHP.
Добавьте файл PHP на свой веб-сервер
В этом методе вам необходимо создать файл .php на вашем веб-сервере. Затем вам нужно добавить к нему код ниже:
Неважно, где вы поместите код в файл.
Затем вам нужно открыть страницу в вашем браузере и найти memory_limit. Количество, которое вы видите здесь, – это количество, выделенное вашей памяти PHP в WordPress.
Используя методы, упомянутые выше, вы можете легко проверить лимит памяти PHP.
Увеличьте лимит памяти PHP в WordPress
В отличие от других ошибок, возникающих в WordPress, эту ошибку легко исправить. Потому что вы точно знаете, что произошло и что вам нужно делать.
Например, для ошибки HTTP в WordPress у вас нет точек A и B, вам нужно попробовать все возможные решения, чтобы найти источник ошибки. Но ошибку памяти PHP в WordPress легко исправить.
Давайте начнем знакомить с способами исправления этой ошибки:
1. Увеличьте лимит памяти PHP с помощью wp-config.php
Первый способ увеличить лимит памяти PHP – использовать файл wp-config.php. Этот файл содержит команды, используемые вашим сайтом. По умолчанию ваша память PHP установлена на 32 МБ. Без сомнения, это число слишком мало для запуска успешного веб-сайта. Чтобы увеличить это число, во-первых, вам необходимо получить доступ к файлу wp-config.php. Вы можете найти его в корневом каталоге. С учетной записью FTP или cPanel вы можете получить доступ к файловому менеджеру (корневой каталог).
Неважно, каким путем вы будете следовать, вам просто нужно иметь доступ к своему файлу и иметь возможность редактировать его.
Если вы собираетесь использовать cPanel, перейдите в Диспетчер файлов. Затем в корне найдите файл wp-config.php. Откройте файл в редакторе.
Вам необходимо скопировать и вставить приведенный ниже код сразу после сообщения «Вот и все, прекратите редактирование! Приятного ведения блога »:
Этот код увеличивает лимит памяти PHP до 256 мегабайт. Вы можете увеличить это число до любой желаемой суммы. Однако мы не рекомендуем превышать 512 мегабайт.
Не забудьте сохранить изменения после добавления кода выше в свой файл. Мы рекомендуем загрузить файл wp-config.php на свой компьютер и повторно загрузить его, как только вы закончите.
Этот метод – одно из решений вашей ошибки ограничения памяти PHP.
2. Увеличьте лимит памяти PHP с помощью php.ini
Другой способ увеличить лимит памяти PHP в WordPress – использовать файл php.ini. У вас есть два основных способа получить доступ к этому файлу. Мы упомянули их обоих ниже.
Во-первых, с помощью панели вашего хостинга. Вам необходимо войти в свою панель хостинга и войти в файловый менеджер. Найдите папку wp-admin. Откройте папку и найдите файл php.ini. Если вы найдете файл в указанной папке, загрузите его на свой компьютер. Откройте файл php.ini. Ищите memory_limit. Затем увеличьте число перед ним. Тем самым вы увеличиваете лимит памяти PHP.
Если вы не можете найти php.ini в папке wp-admin. Вам нужно создать его самому. На вашем компьютере создайте файл. Скопируйте и вставьте в него код ниже:
Имейте в виду, что вы можете изменить число на любую нужную вам сумму.
Теперь сохраните файл с именем php.ini и загрузите его в папку wp-admin.
Во-вторых, подключитесь к своему хосту с помощью SSH. В этом методе вы собираетесь использовать SSH вместо cPanel для подключения к вашему веб-хостингу. Файл php.ini находится в «usr / local / lib / php.ini /».
Чтобы открыть этот файл, вам нужно запустить этот код vi /usr/local/lib/php.ini, а затем нажать Enter, чтобы запустить его. После того, как вы ввели код, вам откроется файл php.ini, отредактируйте его.
Найдите в файле memory_limit. Нажмите: на клавиатуре, чтобы вернуться к команде. После ввода / memory_limit вы будете перенаправлены в раздел ограничения памяти.
Теперь нажмите «вставить» на клавиатуре и введите требуемый предел памяти. После ввода необходимого числа нажмите «Esc» на клавиатуре, чтобы выйти из режима вставки. Нажмите: на клавиатуре, чтобы вернуться в раздел команд. Затем введите X и нажмите «Enter» на клавиатуре.
Тем самым вы сохраняете все внесенные вами изменения. Наконец, введите service httpd restart, чтобы перезапустить систему и внести изменения.
3. Увеличьте лимит памяти PHP с помощью .htaccess
Помимо способов, упомянутых выше, вы также можете увеличить лимит памяти PHP из файла .htaccess. Как вы, наверное, догадались, вам нужно внести некоторые изменения в ваш файл .htaccess.
Вы можете найти этот файл в корневом каталоге. Опять же, не имеет значения, как вы получаете доступ к своему хосту. Будь то cPanel или FTP, вам просто нужно получить доступ к файлу .htaccess.
Имейте в виду, что файл .htaccess – это точечный файл. То есть по умолчанию некоторые хостинг-провайдеры скрывают этот файл.
Если вы хотите получить доступ к этому файлу с FTP, вам необходимо настроить FileZilla для отображения скрытых файлов. Для этого щелкните вкладку «Сервер» и установите флажок «Принудительно показывать скрытые файлы».
Лучший вариант – скачать файл на свой компьютер. Затем отредактируйте его и загрузите обратно на свой хост. Поэтому первым делом нужно скачать файл.
Откройте файл .htaccess и найдите php_value memory_limit 512M, если вы не смогли найти его в файле, вы можете добавить его в файл .htaccess.
Как вы, наверное, догадались, здесь установлен лимит памяти 512 мегабайт. Вы можете изменить это число на любую нужную вам сумму. Убедитесь, что вы сохранили изменения в файле .htaccess.
Загрузите файл обратно на свой хост. После загрузки файла обновите корневой каталог. Затем обновите свой сайт и посмотрите, исправлена ли ошибка.
4. Увеличьте лимит памяти PHP в cPanel.
Другой способ увеличить лимит памяти PHP – использовать cPanel. У вас есть два основных способа изменить память PHP в этом методе.
Во-первых, вам нужно войти в свою cPanel и перейти в раздел «Программное обеспечение». Щелкните Выбрать версию PHP. Затем нажмите «Перейти к параметрам PHP». Наконец, щелкните memory_limit, чтобы увеличить лимит памяти PHP.
Второй способ: из вашей cPanel перейдите в раздел «Программное обеспечение». Затем нажмите MultiPHP INI Editor. На открывшейся странице прокрутите вниз и найдите memory_limit. Здесь вы можете легко изменить лимит памяти PHP.
5. Увеличьте лимит памяти PHP в Plesk.
Во-первых, давайте представим Plesk. Что такое Plesk? Plesk – это панель управления хостингом. Plesk используется как в Windows, так и в Linux.
С помощью графического интерфейса в Plesk вы можете контролировать действия вашего сервера. Создание нового веб-сайта, торгового посредника, учетных записей электронной почты и записей DNS – это лишь некоторые из функций, предлагаемых Plesk.
Чтобы использовать Plesk для увеличения лимита памяти PHP на вашем веб-сайте, сначала вам необходимо войти в систему. Как и cPanel, при покупке хостинга WordPress вы получаете имя пользователя и пароль. С указанными именем пользователя и паролем войдите в свою панель хостинга Plesk.
После входа в Plesk, чтобы увеличить лимит памяти PHP, следуйте приведенному ниже пути:
Plesk> Домены> example.com> Настройки PHP> memory_limit
Затем измените свой memory_limit. Как видите, этот метод работает, только если вы хотите увеличить лимит памяти PHP для определенного веб-сайта. Но если вы хотите увеличить лимит памяти PHP вашего сервера, вам нужно следовать по пути, указанному ниже:
Plesk> Инструменты и настройки> Настройки PHP> Обработчик PHP> php.ini
Теперь в файле php.ini найдите memory_limit. Измените сумму перед ним на желаемую. Не забывайте, что эти настройки работают только для доменов с ограничением памяти PHP по умолчанию.
6. Увеличьте лимит памяти PHP в GoDaddy.
GoDaddy – один из самых популярных хостинг-провайдеров. В этом провайдере ограничение памяти PHP по умолчанию установлено на 64 мегабайта. Если вы хотите увеличить эту сумму, выполните следующие действия:
- Сначала перейдите на страницу входа в GoDaddy и войдите в свою панель хостинга.
- Выберите Диспетчер файлов.
- Из корневого каталога создайте файл php5.ini (если файл уже существует на вашем сервере, отредактируйте его и добавьте к нему memory_limit = 256M)
- Добавьте memory_limit = 256M в ваш файл php5.ini.
- Сохраните изменения.
- Когда вы открываете свой файл PHP, возможно, ваши изменения еще не активированы.
- Ваша настоящая работа начинается сейчас. На панели хостинга в разделе «Статистика и мониторы» нажмите «Системные процессы».
- Найдите «Завершить все» и щелкните по нему.
- Теперь откройте файл информации PHP в своем браузере и проверьте лимит памяти PHP.
7. Увеличьте лимит памяти PHP в WHM
WHM – это сокращение от Web Host Manager. С помощью этого мощного программного обеспечения вы можете получить доступ к своей внутренней панели, cPanel. Чтобы изменить и увеличить лимит памяти PHP, сначала вам нужно ввести свой логин WHM. После входа в систему в левом меню нажмите Редактор конфигурации PHP.
В открывшемся меню найдите memory_limit. Вам нужно только изменить сумму перед memory_limit и сохранить изменения.
После внесения изменений ваш файл php.ini откроется автоматически. Вы можете проверить свой memory_limit и убедиться, что ваши изменения сохранены.
8. Увеличьте лимит памяти PHP в XAMP.
Один из самых простых способов увеличить лимит памяти PHP – это XAMPP. Как вы знаете, XAMPP – это симулятор веб-хостинга. Он имитирует серверную среду на вашем компьютере, и вы можете управлять своим сайтом и сервером локально.
Чтобы изменить ограничение памяти PHP в XAMPP, сначала перейдите в C: xampp apache bin php.ini. Откройте файл PHP.ini и найдите memory_limit. Вам просто нужно изменить количество перед memory_limit, чтобы увеличить лимит памяти PHP в XAMPP.
Убедитесь, что вы сохранили свои изменения.
9. Свяжитесь с хозяином
Если по каким-либо причинам вы не смогли выполнить описанные выше шаги, чтобы увеличить лимит памяти PHP, вам необходимо связаться с вашим хостинг-провайдером. В некоторых провайдерах хостинга и службах виртуального хостинга вы не можете создавать файл php.ini и не имеете доступа к нему.
Следовательно, пользователи не могут самостоятельно увеличить лимит памяти PHP. Таким образом, единственный способ увеличить лимит памяти PHP – это связаться с вашим хостинг-провайдером. У некоторых хостинг-провайдеров вы не можете увеличить лимит памяти PHP.
В этом случае вам необходимо сменить вашего хостинг-провайдера и убедиться, что вы можете изменить лимит памяти PHP и многие другие функции в новом хостинг-провайдере.
После обращения в службу поддержки хостинг-провайдера они объяснят, как можно увеличить лимит памяти PHP, или они сделают это за вас.
WP_MEMORY_LIMIT не увеличивается
В этой статье мы постарались осветить все возможные способы увеличения лимита памяти PHP. Но, как мы упоминали ранее, эти способы могут не сработать для вас. Даже если вы выполните описанные выше действия, они могут не сработать. Не удивляйся.
Как упоминалось выше, иногда эти изменения не работают, потому что приобретенный вами хостинг-провайдер не позволяет вам и не изменяет лимит памяти PHP. Поэтому пользователи вынуждены менять своего хостинг-провайдера.
Если эта статья была для вас полезной, оставьте свои комментарии внизу. Кроме того, если вы знаете какой-либо другой способ, о котором мы не упоминали в этой статье, сообщите нам.