Htaccess php value memory limit 128m

Increase PHP memory limit in WordPress

Sometimes when you are trying to perform a normal WordPress action like activating a plugin, you get an error message like this:

Fatal error: Allowed memory size of 157286400 bytes exhausted (tried to allocate 5775295 bytes)

If you are running resource-intensive plugins like WooCommerce, or maybe if your host is stingy with resources, you can find yourself hitting that error.

This means that PHP, the language that WordPress runs on, needs to be able to use more memory to complete the task you just attempted.

The solution is to increase the amount of memory allocated to PHP.

There are a few ways to do this, and you may or may not be limited by your host, in which case, if the following fixes don’t work, you need to talk to them. If you max out your memory and continue to have problems, the issue might be a problematic plugin or some poor code in your theme.

Make sure you run an up-to-date version of PHP since older ones are less efficient.

Via wp-config.php

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

WooCommerce recommends at least 64M. 128M should be enough for most sites, but if you run resource-intensive plugins, you may have to go higher. You can increase it incrementally until you can complete the task that triggered the message.

To increase the memory limit for the administration area:

define( 'WP_MAX_MEMORY_LIMIT', '256M' );

Via PHP.ini

If you find that defining the limit in the wp-config file is not working, you might have to address it a level up — that is in your PHP configuration file, known as php.ini.

Depending on your host, you may or may not have access to this file, and you may or may not be able to create your own. Search your webhost’s knowledge base for php.ini and you should come up with where to locate the file.

Then add, or adjust the following line:

memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)

Via .htaccess

If you don’t have access to your php.ini file, sometimes you can use your .htaccess file to set the memory limit:

php_value memory_limit 128M

How much PHP memory is enough?

Go slowly, increasing it by steps, and test again: 128M, 256M, 512M.
Why? Each Apache child process is allowed to use the memory limit you set. If you have 10 PHP scripts running at the same time, each script will be allowed to reach that limit.

Читайте также:  Java main args только string

That’s why setting the memory_limit to a very high value might be an issue too, this limit is also protecting your server by blocking inefficient PHP code. If you allocate too much memory, and there are poorly coded scripts, it might be counterproductive because your server could start eating into disk swap space.

If you are in doubt, please ask your hosing provider about this.

Useful References:

Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Categories

Источник

Увеличиваем 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 – пару раз меняли, пару – отказывались, аргументируя тем, что «это такой тариф».

Читайте также:  Html form submit button default

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

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

php_value memory_limit 32M

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 блог для манимейкеров.

Понравился пост? Подпишись на обновления блога по RSS wordpress insideRSS, RSS wordpress insideEmail или twitter wordpress insidetwitter!

рейтинг

Оцените статью:

категорияКатегории: Возможности; Оптимизация; Хаки и секреты;
тегиТеги: htaccess, php, быстродействие, настройки системы, оптимизируем работу, хостинг.

Похожие статьи:

Источник

Увеличить лимит памяти PHP (memory limit)

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

Ошибка PHP о недостатке памяти

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

Также иногда может возникать ошибка, указывающую на то, что лимит памяти достигнут. Она может выглядеть следующим образом:

Fatal error: Allowed memory size of 83260710 bytes exhausted (tried to allocate 4062 bytes)

Увеличение лимита памяти в php.ini

Открываем на редактирование файл php.ini, по умолчанию /etc/php.ini

в секции [PHP] редактируем или добавляем параметр memory_limit

после этого необходимо перезапустить веб-свервер (к примеру apache)

в случае с использование php-fpm требуется перезапустить только его

Увеличение лимита памяти в .htaccess

Apache позволяет передавать параметры php с использованием .htaccess, без необходимости перезапускать сервер.

Для этого в в корне сайта добавляем (желательно как можно ближе к началу) следующий текст

php_value memory_limit 128M

После сохранения изменений настройки вступят в силу.

Увеличение лимита памяти в php скрипте

Изменения лимита памяти возможно так же в самом PHP скрипте. Аналогично в самом начале скрипта добавляем строку

После сохранения изменений, при следующем запуске изменения вступят в силу.

Увеличение лимита памяти в WordPress

При использовании WordPress, настройки в файле php.ini могут не сработать, так как WordPress переопределяет их в файле wp-config.php. Чтобы исправить это, необходимо в файле wp-config.php, указать конкретный лимит памяти. Например:

define( 'WP_MEMORY_LIMIT', '128M' ); define( 'WP_MAX_MEMORY_LIMIT', '128M' ); /** Sets up WordPress vars and included files. */ require_once(ABSPATH . 'wp-settings.php');

Источник

Установка лимитов PHP на обработку данных из форм

Перечень настроек PHP, которые могут ограничить отправку форм и файлов через POST-запрос.

Читайте также:  Все символы программы html

Описание директив

post_max_size

Устанавливает максимальный размер данных, отправленных методом POST, включая размер загружаемых файлов, по умолчанию 8Mb .

  • Для загрузки больших файлов это значение должно быть больше значения upload_max_filesize.
  • Значение можно указать числом в байтах, K (в килобайтах), M (в мегабайтах) и G (в гигабайтах).
  • Значение «0» снимает ограничение только в версиях PHP 5.3.2 и 5.2.12.

Пример в htaccess:

php_value post_max_size 100M

upload_max_filesize

Максимальный размер загружаемых файлов на сервер. По умолчанию 2Mb.

Пример:

php_value upload_max_filesize 100M

max_input_vars

Максимальное количество переменных, которое может быть принято в одном запросе. По умолчанию 1000.

Если данный лимит будет превышен, то после отправки формы массив $_GET или $_POST будет пустым.

Пример:

php_value max_input_vars 2000

max_execution_time

Директива задаёт максимальное время в секундах, в течение которого скрипт должен полностью загрузиться. Если этого не происходит, работа скрипта завершается. По умолчанию на загрузку даётся 30 секунд.

Значение «0» снимает ограничение на время выполнения.

Пример:

php_value max_execution_time 600

Также, максимальное время выполнения скрипта задает функция set_time_limit($seconds) .

max_input_time

Задаёт максимальное время в секундах, в течение которого скрипт должен разобрать все входные POST или GET данные. Это время измеряется от момента, когда PHP вызван на сервере до момента, когда скрипт начинает выполняться.

  • Значение по умолчанию «-1» – будет использоваться max_execution_time.
  • Значение «0» – без ограничений по времени.

Пример:

php_value max_input_time 600

memory_limit

Задаёт максимальный объем памяти в байтах, который разрешается использовать скрипту. По умолчанию 128Mb.

Пример:

php_value memory_limit 200M

Установка директив в .htaccess

# Максимальный размер данных php_value post_max_size 110M # Максимальный размер файлов php_value upload_max_filesize 100M # Максимальное количество переменных php_value max_input_vars 2000 # Максимальное время выполнения скрипта php_value max_execution_time 600 # Максимальное время обработки данных php_value max_input_time 600 # Память для скрипта php_value memory_limit 200M 

Установка директив в PHP-скрипте

ini_set('post_max_size', '110M'); // Максимальный размер данных ini_set('upload_max_filesize', '100M'); // Максимальный размер файлов ini_set('max_input_vars', '2000'); // Максимальное количество переменных ini_set('max_execution_time', '600'); // Максимальное время выполнения скрипта ini_set('max_input_time', '600'); // Максимальное время обработки данных ini_set('memory_limit', '200M'); // Память для скрипта

Получение значений в PHP-скрипте

Действующие значения настроек PHP можно посмотреть с помощью функции phpinfo() или получить значение параметра настройки с помощью функции ini_get($option) .

Получение значения upload_max_filesize в PHP:

'; echo 'Максимальный размер файлов: ' . ini_get('upload_max_filesize') . '
'; echo 'Максимальное количество переменных: ' . ini_get('max_input_vars') . '
'; echo 'Максимальное время выполнения скрипта: ' . ini_get('max_execution_time') . '
'; echo 'Максимальное время обработки данных: ' . ini_get('max_input_time') . '
'; echo 'Память для скрипта: ' . ini_get('memory_limit') . '
';

Результат:

Максимальный размер данных: 128M Максимальный размер файлов: 128M Максимальное количество переменных: 10000 Максимальное время выполнения скрипта: 300 Максимальное время обработки данных: -1 Память для скрипта: 1024M

Возможные ошибки

После отправки формы с множеством полей, массив $_POST пустой.
В форме количество полей превышает значение max_input_vars.

Ошибка «Fatal error: Allowed memory size»
Скрипт превысил значение параметра PHP memory_limit.

Ошибка «504 Gateway Time Out»
– Скрипт выполняется слишком долго, нужно увеличить значение max_execution_time. Как правило после вывода этой ошибки в браузере, скрипт будет еще какое-то время работать.

Источник

Оцените статью