Увеличиваем memory_limit для wordpress
Система для создания и ведения блогов wordpress развивается бурными темпами – с каждым днем количество плагинов и шаблонов увеличивается, а разработчики беспрерывно наращивают функционал. Так версия wordpress 3.0 обещает порадовать пользователей новыми интересными функциями. Но, увы, есть некоторые не очень приятные моменты – а именно увеличение нагрузки на сервер / хостинг. Далеко не каждый более-менее дешевый хостинг в РУнете или специальный базовые тариф может «потянуть» такую махину как wordpress с кучей плагинов. Что уж говорить, не всегда можно загрузить и нормально работать даже с небольшим набором самых необходимых модулей. В результате нехватки памяти вы можете видеть «не догрузившуюся админку», где, конечно, работать получится с другом.
А выйти из этой непростой и не очень приятной ситуации нам поможет настройка под названием PHP Memory Limit. Она указывает максимальный объем памяти, которая выделяется для выполнения скрипта. Ситуация с нехваткой памяти может появится при использовании большого числа wordpress плагинов либо в случае применения достаточно «тяжелых» модулей. Иногда проблемы возникают даже с базовой функциональностью системы, например, ошибка HTTP при загрузке WordPress картинок и фото. Многие при этом сетуют на «прожорливость WP», а я вот вспоминаю, что большая часть англоязычных проектов имеют не только широкую функциональность, но и разные скрипты/надстройки. Тут, скорее, проблема в экономности отечественных хостеров, которые хотят заработать как можно больше при меньших затратах – оттого и ставят различные ограничения по типу memory_limit.
Обновление 02.04.2020: Похожие методики, кстати, используются и при увеличении PHP-параметра, отвечающего за размер файла загрузки картинок в медиабиблиотеку и архивов шаблонов/плагинов через админку.
Способы увеличить значение memory_limit.
1. Самый просто вариант – обратиться к хостеру с просьбой. Объяснить мол не хватает для выполнения скрипта или работы WordPress. У меня лично метод срабатывает 50/50 – пару раз меняли, пару – отказывались, аргументируя тем, что «это такой тариф».
2. Можно увеличить memory_limit, если у вас есть доступ к глоабльным настройкам сервера, либо подправить файл php.ini. Как раз вчера писал статью про то, как изменить настройки файла php.ini для своего хостинга – там тоже есть много нюансов.
Как увеличить лимит PHP памяти в WordPress
При работе с сайтом на WordPress вы увидели ошибку, что объем памяти PHP исчерпан? Это распространенная ошибка WordPress, которая решается очень легко. Вам нужно увеличить лимит PHP памяти (WP_MEMORY_LIMIT) в WordPress. В это статье мы расскажем, как исправить эту ошибку за счет увеличения лимита памяти PHP.
Почему возникает ошибка PHP памяти в WordPress?
WordPress написан на PHP, который является серверным языком программирования. Это значит, что код выполняется на сервере, а на экран выводится только результат его работы. Для работы WordPress требуется хостинг.
Хостинги или серверы – это тот же компьютер. Для эффективного запуска нескольких приложений одновременно, им требуется память. Администраторы сервера выделяют определенный объем памяти для работы различных приложений, включая и PHP.
Когда ваш код в WordPress требует больше памяти, чем выделено по умолчанию, возникает следующая ошибка:
По умолчанию лимит памяти PHP в WordPress составляет 40мб для обычного сайта и 64мб, если у вас настроен мультисайт.
Если лимит памяти меньше 64мб, WordPress пытается автоматически увеличить лимит памяти PHP. Но как вы понимаете, 64мб часто не хватает для современных плагинов WordPress.
Зная это, давайте посмотрим, как легко увеличить ограничение памяти PHP в WordPress, чтобы избежать ошибки исчерпывания памяти.
Увеличение лимита памяти PHP в WordPress c помощью wp-config.php
Чтобы увеличить лимит памяти, откройте файл wp-config.php вашего сайта WordPress. Этот файл расположен в корневой папке вашего сайта. Для доступа к ней потребуется FTP-клиент или файловый менеджер в панели управления хостингом.
Далее вам нужно вставить в файл wp-config.php перед строчкой “/* That’s all, stop editing! Happy publishing. */” следующий код:
Этот код говорит WordPress увеличить лимит памяти PHP до 256мб. Запомните константу WP_MEMORY_LIMIT, она часто будет нужна при увеличении лимита памяти на новом WordPress сайте.
Когда вы вставите этот код, сохраните изменения в файле на сервере.
Теперь, когда вы проделали данную операцию, ошибка исчерпывания лимита памяти исчезнет и сайт продолжит работу.
Если данного лимита не хватило, попробуйте увеличить его до 512 мб.
Не стоит заигрывать с увеличением лимитов в WP_MEMORY_LIMIT, ведь если какой то скрипт работает не правильно, следует обратиться к его разработчику.
Увеличение лимита памяти через php.ini
Иногда внесение изменений в файл wp-config.php не приносить желаемых результатов, хоть это случается очень редко.
Если ваш хостинг-провайдер дает доступ к файлу php.ini, то увеличить лимит PHP памяти можно через него.
Вставьте эту строку в файл php.ini или замените значение 64M на 256M:
Вставьте в файл wp-config.php строку define( ‘WP_MEMORY_LIMIT’, ‘256M’ ); для увеличение лимита памяти до 256МБ.
Если эти способы не сработали для вас, то рекомендуем обратиться в техническую поддержку хостинга. Возможно он запрещает увеличить лимит PHP памяти на сайте собственноручно.
Надеемся, что эта статья помогла вам увеличить лимит PHP памяти на сайте WordPress.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как увеличить память и время для PHP скриптов
Настройки потребления ресурсов в PHP скриптах можно установить в главном конфигурационном файле php.ini, а также в самих скриптах.
В файле php.ini за это отвечают директивы из раздела Resource Limits (ограничение потребления ресурсов).
Как увеличить память для PHP скриптов
Для этого в файле php.ini найдите и отредактируйте директиву:
Эта директива задаёт максимальное время в секундах, в течение которого скрипт должен полностью загрузиться. Если этого не происходит, парсер завершает работу скрипта. Этот механизм помогает предотвратить зависание сервера из-за плохо написанного скрипта. По умолчанию на загрузку даётся 30 секунд. Если PHP запущен из командной строки, это значение по умолчанию равно 0.
На максимальное время выполнения не влияют системные вызовы, потоковые операции и т.п.
При работе в безопасном режиме эту настройку нельзя изменить функцией ini_set(). Если значение все же нужно изменить, надо либо выключить безопасный режим, либо изменить значение прямо в php.ini.
Веб-серверы обычно имеют свои настройки тайм-аута, по истечении которого сами завершают выполнение скрипта PHP. В Apache есть директива Timeout, в IIS есть функция CGI timeout. В обоих случаях по умолчанию установлено 300 секунд. Точные значения можно узнать из документации к веб-серверу.
Функция для увеличения и ограничения времени выполнения PHP
Функция set_time_limit ограничивает время выполнения скрипта.
Она задает время в секундах, в течение которого скрипт должен завершить работу. Если скрипт не успевает, вызывается фатальная ошибка. По умолчанию дается 30 секунд, либо время, записанное в настройке max_execution_time в php.ini (если такая настройка установлена).
При вызове set_time_limit() перезапускает счетчик с нуля. Другими словами, если тайм-аут изначально был 30 секунд, и через 25 секунд после запуска скрипта будет вызвана функция set_time_limit(20), то скрипт будет работать максимум 45 секунд.
Возвращаемые значения: возвращает TRUE в случае успеха, иначе FALSE.
Внимание: эта функция не работает, если PHP работает в безопасном режиме. Обойти это ограничение можно только выключив безопасный режим или изменив значение настройки в php.ini.
Замечание: функция set_time_limit() и директива max_execution_time влияют на время выполнения только самого скрипта. Время, затраченное на различные действия вне скрипта, такие как системные вызовы функции system(), потоковые операции, запросы к базам данных и т.п. не включаются в расчет времени выполнения скрипта. Это не относится к системам Windows, где расчитывается абсолютное время выполнения.
Обе set_time_limit(…) и ini_set(‘max_execution_time’,…); не учитывают время, потраченное функциями sleep, file_get_contents, shell_exec, mysql_query и некоторыми другими.
Увеличение выделенной памяти для PHP скриптов
Директива в файле php.ini
задаёт максимальный объем памяти в байтах, который разрешается использовать скрипту. Это помогает предотвратить ситуацию, при которой плохо написанный скрипт съедает всю доступную память сервера. Для того, чтобы убрать ограничения, установите значение этой директивы в -1.
В версиях до PHP 5.2.1 для использования этой директивы, она должна была быть указана на этапе компиляции. Так, ваша строка конфигурации должна была включать: —enable-memory-limit. Эта опция компиляции была также необходима для использования функций memory_get_usage() и memory_get_peak_usage() до версии 5.2.1.
Если используется целое число, то значение измеряется байтами. Вы также можете использовать сокращённую запись.
Доступные опции: K (для килобайт), M (для мегабайт) и G (для гигабайт; доступна начиная с PHP 5.1.0); они регистронезависимы. Все остальное считается байтами. 1M равно одному мегабайту или 1048576 байтам. 1K равно одному килобайту или 1024 байтам. Эти сокращения вы можете использовать в php.ini и в функции ini_set(). Обратите внимание, что числовое значение приводится к типу integer; например, 0.5M интерпретируется как 0.
Увеличение времени парсинга данных из запроса.
Директива в файле php.ini
задаёт максимальное время в секундах, в течение которого скрипт должен разобрать все входные данные, переданные запросами вроде POST или GET. Это время измеряется от момента, когда PHP вызван на сервере до момента, когда скрипт начинает выполняться. Значение по умолчанию -1, что означает, что будет использоваться max_execution_time. Если установить равным 0, то ограничений по времени не будет.
При запуске в командной строке значение директивы установлено на -1 (неограниченно).
Увеличение глубины вложенности входных переменных
Директива в файле php.ini
Ограничение на количество входных переменных
Директива в файле php.ini
Внимание: после внесения изменений в файл php.ini необходимо перезагрузить веб-сервер, чтобы изменения вступили в силу.
Проверка использование ресурсов
Функция getrusage получает информацию об использовании текущего ресурса.
Возвращаемые значения: возвращает ассоциативный массив, содержащий данные возвращённые из системного вызова. Имена элементов соответствуют документированным именам полей.
Пример использования getrusage():

Увеличение разрешённого размера файлов для загрузки на сервер
Кроме описанных ограничений на потребление непосредственных ресурсов веб-сервера, также имеются ограничения, которые оказывают косвенное воздействие на ресурсы: например, загрузка слишком большого файла на сервер может потребовать большого количества ресурсов для его обработки, либо привести к переполнению дискового хранилища сервера. Поэтому существуют дополнительные лимиты, включённые в другие разделы конфигурационного файла помимо Resource Limits.
В частности, директива
устанавливает максимальный размер закачиваемого файла.
Если используется целое число, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана чуть выше.
Максимально допустимый размер данных, отправляемых методом POST
Методом пост могут отправляться как текстовые данные (например, при отправке комментария на сайт), так и файлы. Если вы увеличили значение upload_max_filesize чтобы иметь возможность загружать файлы большего размера на сайт, то также нужно увеличить и значение директивы:
которая устанавливает максимально допустимый размер данных, отправляемых методом POST. Это значение также влияет на загрузку файлов. Для загрузки больших файлов это значение должно быть больше значения директивы upload_max_filesize. В сущности, memory_limit должна быть больше чем post_max_size. Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана выше. Если размер POST-данных больше чем post_max_size, суперглобальные переменные $_POST и $_FILES будут пустыми. Это можно отследить различными способами, например передав $_GET переменную в скрипт, обрабатывающий данные, т.е.
Memory limit что это
Представленные здесь значения по умолчанию используются в случае, если не был подключён php.ini ; значения для боевого php.ini и для разработки могут различаться.
Языковые опции
| Имя | По умолчанию | Место изменения | Список изменений |
|---|---|---|---|
| short_open_tag | «1» | PHP_INI_PERDIR | |
| precision | «14» | PHP_INI_ALL | |
| serialize_precision | «-1» | PHP_INI_ALL | До версии PHP 7.1.0 значение по умолчанию было равно 17. |
| disable_functions | «» | Только PHP_INI_SYSTEM | |
| disable_classes | «» | Только php.ini | |
| exit_on_timeout | «» | PHP_INI_ALL | |
| expose_php | «1» | Только php.ini | |
| hard_timeout | «2» | PHP_INI_SYSTEM | Доступна с версии PHP 7.1.0. |
| zend.exception_ignore_args | «0» | PHP_INI_ALL | Доступна с версии PHP 7.4.0 |
| zend.multibyte | «0» | PHP_INI_ALL | |
| zend.script_encoding | NULL | PHP_INI_ALL | |
| zend.detect_unicode | NULL | PHP_INI_ALL | |
| zend.signal_check | «0» | PHP_INI_SYSTEM | |
| zend.assertions | «1» | PHP_INI_ALL с ограничениями |
Краткое разъяснение конфигурационных директив.
Выдаёт факт присутствия PHP на сервере, включая передачу версии PHP в HTTP-заголовке (например, X-Powered-By: PHP/5.3.7).
Эта директива позволяет отключить некоторые функции. Она принимает список имён функций, разделённый запятыми.
Только внутренние функции могут быть отключены с помощью этой директивы. Пользовательские функции ей не подвержены.
Если процесс стартован в режиме релиза, zend.assertions не может быть изменён во время выполнения, так как код утверждений не генерируется.
Когда истечёт время ожидания, установленное в max_execution_time, среда выполнения PHP аккуратно отключит ресурсы. Если во время этого что-то застрянет, время ожидания будет установлено на указанное количество секунд. Когда истечёт жёсткое время ожидания, PHP завершит работу с ошибкой. Если установлено значение 0, жёсткое время ожидания никогда не активируется.
Когда PHP останавливается после жёсткого времени ожидания, это будет выглядеть примерно так:
Исключает аргументы из трассировки стека, сгенерированных из исключений.
Разрешает парсинг исходных файлов в многобайтных кодировках. Включение zend.multibyte требуется для использования кодировок символов подобных SJIS, BIG5 и т.д., содержащих специальные символы в многобайтных строковых данных. Совместимые с ISO-8859-1 кодировки, например UTF-8, EUC и т.д., не требуют эту опцию.
Модуль zend.multibyte требует установленного модуля «mbstring».
Данное значение будет использовано, только при отсутствии директивы declare(encoding=. ) в начале скрипта. При использовании кодировок несовместимых с ISO-8859-1, нужно использовать опции и zend.multibyte и zend.script_encoding.
Определяет, нужно ли проверять заменённые обработчики сигналов при завершении скрипта.
Эта директива только для Apache1 mod_php, которая заставляет потомка Apache завершиться, если произошёл тайм-аут исполнения скрипта PHP. Такой тайм-аут приводит к внутреннему вызову longjmp() в Apache1, который оставляет некоторые модули в несогласованном состоянии. По завершении процесса все неснятые блокировки или память будут очищены.
Ограничения ресурсов
| Имя | По умолчанию | Место изменения | Список изменений |
|---|---|---|---|
| memory_limit | «128M» | PHP_INI_ALL |
Краткое разъяснение конфигурационных директив.
Настройка производительности
| Имя | По умолчанию | Место изменения | Список изменений |
|---|---|---|---|
| realpath_cache_size | «4M» | PHP_INI_SYSTEM | До PHP 7.0.16 и 7.1.2, по умолчанию было «16K» |
| realpath_cache_ttl | «120» | PHP_INI_SYSTEM |
Использование open_basedir отключит кеш realpath.
Краткое разъяснение конфигурационных директив.
Определяет размера кеша realpath, используемого в PHP. Это значение должно быть увеличено на системах, в которых PHP открывает большое количество файлов соответственно количеству выполняемых файловых операций.
Размер равный общему числу байт, хранящимся в строках путей, плюс размер данных связанных с кешируемым элементом. Это значит, что для хранения длинных путей в кеше, размер этого кеша должен быть больше. Это значение не определяет напрямую количество разных путей, которые могут быть закешированы.
Размер, необходимый для кеширования, зависит от системы.
Время (в секундах) в течение которого будет использован кеш realpath для указанного файла или директории. Для систем с редко меняющимися файлами это значение можно увеличить.
Обработка данных
| Имя | По умолчанию | Место изменения | Список изменений |
|---|---|---|---|
| arg_separator.output | «&» | PHP_INI_ALL | |
| arg_separator.input | «&» | PHP_INI_PERDIR | |
| variables_order | «EGPCS» | PHP_INI_PERDIR | |
| request_order | «» | PHP_INI_PERDIR | |
| auto_globals_jit | «1» | PHP_INI_PERDIR | |
| register_argc_argv | «1» | PHP_INI_PERDIR | |
| enable_post_data_reading | «1» | PHP_INI_PERDIR | |
| post_max_size | «8M» | PHP_INI_PERDIR | |
| auto_prepend_file | NULL | PHP_INI_PERDIR | |
| auto_append_file | NULL | PHP_INI_PERDIR | |
| default_mimetype | «text/html» | PHP_INI_ALL | |
| default_charset | «UTF-8» | PHP_INI_ALL | |
| input_encoding | «» | PHP_INI_ALL | |
| output_encoding | «» | PHP_INI_ALL | |
| internal_encoding | «» | PHP_INI_ALL |
Краткое разъяснение конфигурационных директив.
Этот разделитель используется в генерируемых PHP URL в качестве разделителя аргументов.
Список разделителей, используемых PHP для получения переменных из URL.
Каждый символ в этой директиве считается разделителем!
Эта директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST. Добавление производится слева направо, новые значения перезаписывают старые.
Когда включено, переменные SERVER, REQUEST и ENV создаются в тот момент, когда они впервые используются (Just In Time), а не в начале выполнения скрипта. Если эти переменные в скрипте не используются, включение этой директивы приведёт к росту производительности.
Использование переменных SERVER, REQUEST и ENV проверяется на стадии компиляции, поэтому их использование с помощью, например, переменных переменных не запустит их инициализацию.
It appears that if you use both the ‘include_path’ directives and ‘open_basedir’, that file searches will hit the include path *first*, before local files. But if ‘open_basedir’ is not in use, then local files are found first. For example, suppose you have code in ‘/var/www/myfile.php’ which does:
require_once( ‘config.php’ );
?>
Further, assume that there is a local file ‘/var/www/config.php’, and there is also a file ‘/var/local/php/config.php’.
Next, if your php.ini has:
Normally, this would look for ‘/var/www/config.php’ first, and if not found, then it would try ‘/var/local/php/config.php’.
But if you also have this in php.ini:
Then the require would reverse the order of the search, and load ‘/var/local/php/config.php’, even when the local ‘config.php’ file exists.
Furthermore, if include_path contains directories not in open_basedir, you can end up with a fatal error. For example, change the directive to:
Now the require will first find ‘/var/local/php/config.php’ from the include_path, try to include it, but be unable to because of the open_basedir restrictions.
Note regarding the upload_tmp_dir setting and UNC Paths:
When using PHP on Windows OS and IIS FastCGI, if you need to use a UNC path to a folder on a network drive for the upload_tmp_dir setting then you must use three \ characters at the front of the UNC path.
Windows and PHP use the first slash as an escape character, so if you only use two slashes then it passes a UNC path with just one backslash. That is not valid for UNC paths and you many experience problems when uploading files, such as errors saying that «PHP is missing a temporary folder».
This one had me goin’ for a while.
This might help in case someone happens to maintain old applications with a charset other than utf-8.
According to the docs, you can override the default charset if you use `header()`.
Suppose php.ini sets the default_charset to «UTF-8», but you need a legacy charset, like ISO-8859-1.
I found it strange the default one as `charset` with a lowercase `c`
as opposed to my custom charset with an uppercase `C`.
What solved was to _override_ the charset using all lowercase letters
as well for the word “charset”:
Как увеличить лимит памяти 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 на свой веб-сервер
Неважно, где вы поместите код в файл.
Затем вам нужно открыть страницу в вашем браузере и найти 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, чтобы перезапустить систему и внести изменения.
Если вы хотите получить доступ к этому файлу с FTP, вам необходимо настроить FileZilla для отображения скрытых файлов. Для этого щелкните вкладку «Сервер» и установите флажок «Принудительно показывать скрытые файлы».
Лучший вариант – скачать файл на свой компьютер. Затем отредактируйте его и загрузите обратно на свой хост. Поэтому первым делом нужно скачать файл.
Загрузите файл обратно на свой хост. После загрузки файла обновите корневой каталог. Затем обновите свой сайт и посмотрите, исправлена ли ошибка.
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 мегабайта. Если вы хотите увеличить эту сумму, выполните следующие действия:
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. Поэтому пользователи вынуждены менять своего хостинг-провайдера.
Если эта статья была для вас полезной, оставьте свои комментарии внизу. Кроме того, если вы знаете какой-либо другой способ, о котором мы не упоминали в этой статье, сообщите нам.












