Как изменить memory limit

Как установить PHP на хостингПоддержка PHP присутствует на всех тарифных планах Hosting Linux, кроме Host-Lite. Если у вас Host-Lite, чтобы включить поддержку PHP, повысьте тарифный план.Как изменить параметры PHPДля каждой версии PHP можно установить свои параметры. Инструкция для изм…

Как установить PHP на хостинг

Поддержка PHP присутствует на всех тарифных планах Hosting Linux, кроме Host-Lite. Если у вас Host-Lite, чтобы включить поддержку PHP, повысьте тарифный план.

Как изменить параметры PHP

Для каждой версии PHP можно установить свои параметры. Инструкция для изменения параметров PHP подходит, только если у вас есть услуга хостинга Linux. Вы можете попробовать бесплатный хостинг для сайтов HTML с поддержкой PHP и MySQL в течение 14 дней тестового периода.

Чтобы изменить настройки PHP, нужно установить на файл php.ini права 600 (rw——-) или 644 (rw-r—r—) и затем внести в него изменения.

Чтобы установить права и внести изменения, следуйте инструкции для вашей хостинг-панели:

  1. 1.

  2. 2.

    Выполнение этого шага зависит от пути, по которому хранятся настройки PHP. Подробнее в статье Где находятся настройки версий PHP в ISPmanager.

    • Если вы храните настройки PHP отдельно для каждого домена по пути /var/www/php-bin/имя-домена/php.ini, перейдите в раздел Менеджер файлов и откройте каталог /var/www/php-bin/имя-домена/. Выберите файл php.ini, наведите курсор на Редактировать и нажмите Атрибуты:

      Измените права файла на 600 или 644 и кликните Ok:

    • Если вы используете общую версию PHP и храните настройки для всех доменов по пути /var/www/php-bin-php(номер-версии-PHP)/php.ini, перейдите в раздел Менеджер файлов и откройте каталог /var/www/php-bin-php(номер-версии-PHP)/. Выберите файл php.ini, наведите курсор на Редактировать и нажмите Атрибуты:

      Измените права файла на 600 или 644 и кликните Ok:

  3. 3.

    Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.

  4. 4.

    Сохраните изменения и закройте файл.

Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.

  1. 1.

  2. 2.

    В разделе «Файлы» нажмите Менеджер файлов. Перейдите в каталог php-bin/имя-домена. Измените права файла php.ini на 0600 или 0644. Нажмите Save:

  3. 3.

    Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.

  4. 4.

    Сохраните изменения и закройте файл.

Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».

  1. 1.

  2. 2.

    В разделе «Файлы» перейдите в каталог etc/имя-домена. Измените права файла php.ini: в строке «Владелец» поставьте чекбоксы Чтение и Запись, в строках «Группа» и «Остальные» поставьте чекбокс Чтение. Нажмите Применить:

  3. 3.

    Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.

  4. 4.

    Сохраните изменения и закройте файл.

Готово, изменения вступят в силу в течение минуты.

Примеры изменений настроек PHP

Основные директивы для настройки файла php.ini описаны в статье Настройка файла php.ini.


Как увеличить memory_limit (лимит памяти)

Чтобы предотвратить ситуацию, когда скрипт с плохим синтаксисом занимает всю доступную память сервера, нужно настроить директиву memory_limit. Она задаёт максимально допустимый объём памяти в байтах, который разрешается использовать скрипту. Некоторые CMS и плагины требуют установки определённого значения memory_limit.

Пример:

Обратите внимание: на виртуальном хостинге есть технические ограничения на максимальный размер оперативной памяти на один процесс. Ограничения для каждого тарифа приведены на странице Технические характеристики хостинга.

Если данного порога вам не хватает, вы можете:

  • повысить тариф хостинга с увеличением памяти: Как повысить тарифный план хостинга,
  • перейти на VPS-хостинг и самостоятельно сконфигурировать сервер с необходимыми настройками: Как перейти с виртуального хостинга на VPS-хостинг.


Как увеличить max_execution_time

Чтобы предотвратить торможение сервера из-за скриптов с плохим синтаксисом, нужно настроить директиву max_execution_time. Она задаёт максимальное время в секундах, в течение которого скрипт должен полностью загрузиться. Если скрипт не загружается, анализатор синтаксиса завершает работу скрипта.

Пример:


Как увеличить upload_max_filesize (максимальный размер закачиваемого файла)

С помощью директивы upload_max_filesize вы можете увеличить максимальный размер закачиваемого файла. На виртуальном хостинге можно загружать файлы размером до 256 МБ.

Пример:

upload_max_filesize = 256M

Если вам требуется загрузить файл размером более 256 МБ:

  • загрузите файл через протокол FTP или через панель управления хостингом,
  • перейдите на VPS-хостинг и самостоятельно сконфигурируйте сервер с необходимым значением загружаемого файла: Как перейти с виртуального хостинга на VPS-хостинг.


Как изменить max_input_vars

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

Пример:

Подробнее читайте в статье Как исправить ошибку PHP Max Input Vars Limit в WordPress.


Как удалить настройку mbstring.func_overload

При обновлении Bitrix можно столкнуться с проблемой: «Для обновления продукта необходимо удалить настройку PHP mbstring.func_overload. Пожалуйста, внесите необходимые изменения или обратитесь в службу технической поддержки вашего хостинга».

Решить эту проблему можно удалением параметра mbstring.func_overload. Как это сделать читайте в статье Как удалить настройку PHP mbstring.func_overload.


Как исправить ошибку PHP mbstring.internal_encoding

В версиях Bitrix версии 20.100.0 и ниже может возникнуть ошибка, которая связана с неправильными настройками параметров mbstring.func_overload и mbstring.internal_encoding.

Как решить эту проблему читайте в статье Ошибка PHP mbstring.internal_encoding.

Как включить обработку PHP в HTML

На хостинге Linux

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

  1. 1.

  2. 2.

    Создайте файл с названием .htaccess или откройте его, если файл уже существует.

    • Если вы храните настройки PHP отдельно для каждого домена по пути /var/www/php-bin/имя-домена/php.ini, добавьте в файл следующие строки:
    AddHandler fcgid-script .php .phtml .html .htm
    FCGIWrapper /var/www/php-bin/u1234567/domain.ru/php .php
    FCGIWrapper /var/www/php-bin/u1234567/domain.ru/php .phtml
    FCGIWrapper /var/www/php-bin/u1234567/domain.ru/php .html
    FCGIWrapper /var/www/php-bin/u1234567/domain.ru/php .htm

    Где:

    domain.ru — доменное имя вашего сайта;

    u1234567 — логин вашего хостинга. Узнать его можно по инструкции.

    • Если вы используете общую версию PHP и храните настройки для всех доменов по пути /var/www/php-bin-php(номер-версии-PHP)/, добавьте в файл следующие строки:
    AddHandler fcgid-script .php .phtml .html .htm
    FCGIWrapper /var/www/php-bin-php73/u1234567/php .php
    FCGIWrapper /var/www/php-bin-php73/u1234567/php .phtml
    FCGIWrapper /var/www/php-bin-php73/u1234567/php .html
    FCGIWrapper /var/www/php-bin-php73/u1234567/php .htm

    Где:

    php73 — ваша версия PHP. Узнать её можно по инструкции;

    u1234567 — логин вашего хостинга. Узнать его можно по инструкции.

  1. 1.

  2. 2.

    Создайте файл с названием .htaccess или откройте его, если файл уже существует. Добавьте в файл следующие строки:

    AddHandler fcgid-script .php .phtml .html .htm
    FCGIWrapper /var/www/u1234567/php-bin/domain.ru/php .php
    FCGIWrapper /var/www/u1234567/php-bin/domain.ru/php .phtml
    FCGIWrapper /var/www/u1234567/php-bin/domain.ru/php .html
    FCGIWrapper /var/www/u1234567/php-bin/domain.ru/php .htm

    Где:

    domain.ru — доменное имя вашего сайта;

    u1234567 — логин вашего хостинга. Узнать его можно по инструкции.

Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».

  1. 1.

  2. 2.

    Создайте файл с названием .htaccess или откройте его, если файл уже существует. Добавьте в файл следующие строки:

    AddHandler fcgid-script .php .phtml .html .htm
    FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .php
    FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .phtml
    FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .html
    FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .htm

    Если данное решение не работает, добавьте другие строки:

    AddType application/x-httpd-php .php
    AddHandler php-script .html

Готово, вы включили обработку PHP в HTML.

На хостинге Windows

Обратите внимание

Заказ Windows-хостинга больше недоступен. Стоимость продления для действующих пользователей остается прежней.

Перейдите в корневую папку сайта. Создайте файл с названием web.config или откройте его, если файл уже существует. Добавьте в файл следующие строки:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <system.web>
        <identity impersonate="false" />
    </system.web>
    <system.webServer>
        <handlers>
            <add name="PHP_via_FastCG1" path="*.htm" verb="*" modules="FastCgiModule" scriptProcessor="C:Program Files (x86)ParallelsPleskAdditionalPleskPHP53php-cgi.exe" resourceType="Either" />
            <add name="PHP_via_FastCG2" path="*.html" verb="*" modules="FastCgiModule" scriptProcessor="C:Program Files (x86)ParallelsPleskAdditionalPleskPHP53php-cgi.exe" resourceType="Either" />
        </handlers>
    </system.webServer>
</configuration>

Готово, вы включили обработку PHP в HTML.

  • 1.
    Почему возникает ошибка PHP памяти в WordPress?

  • 2.
    Увеличение лимита памяти PHP в WordPress c помощью wp-config.php

  • 3.
    Увеличение лимита памяти через php.ini

  • 4.
    Увеличение лимита PHP памяти с помощью .htaccess

При работе с сайтом на WordPress вы увидели ошибку, что объем памяти PHP исчерпан? Это распространенная ошибка WordPress, которая решается очень легко. Вам нужно увеличить лимит PHP памяти (WP_MEMORY_LIMIT) в WordPress. В это статье мы расскажем, как исправить эту ошибку за счет увеличения лимита памяти PHP.

WordPress написан на PHP, который является серверным языком программирования. Это значит, что код выполняется на сервере, а на экран выводится только результат его работы. Для работы WordPress требуется хостинг.

Хостинги или серверы – это тот же компьютер. Для эффективного запуска нескольких приложений одновременно, им требуется память. Администраторы сервера выделяют определенный объем памяти для работы различных приложений, включая и PHP.

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

Fatal error: Allowed memory size of 38424952 bytes exhausted (tried to allocate 2368674 bytes) in /example.ru/wp-includes/plugin.php on line 345
Как увеличить лимит PHP памяти в WordPress - png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=

По умолчанию лимит памяти 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. */” следующий код:

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

Этот код говорит WordPress увеличить лимит памяти PHP до 256мб. Запомните константу WP_MEMORY_LIMIT, она часто будет нужна при увеличении лимита памяти на новом WordPress сайте.

Когда вы вставите этот код, сохраните изменения в файле на сервере.

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

Если данного лимита не хватило, попробуйте увеличить его до 512 мб.

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

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

Иногда внесение изменений в файл wp-config.php не приносить желаемых результатов, хоть это случается очень редко.

Если ваш хостинг-провайдер дает доступ к файлу php.ini, то увеличить лимит PHP памяти можно через него.

Вставьте эту строку в файл php.ini или замените значение 64M на 256M:

memory_limit = 256M;

Увеличение лимита PHP памяти с помощью .htaccess

Если у вас нет доступа к php.ini, то увеличить лимит памяти WordPress можно с помощью файла .htaccess, вставив в него следующую строку:

php_value memory_limit 256M

Как увеличить лимит PHP памяти в WordPress?

Лимит памяти PHP в WordPress можно увеличить с помощью файлов: wp-config.php, php.ini или .htaccess

Как использовать константу WP_MEMORY_LIMIT для увеличение лимита памяти?

Вставьте в файл wp-config.php строку define( ‘WP_MEMORY_LIMIT’, ‘256M’ ); для увеличение лимита памяти до 256МБ.

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

Надеемся, что эта статья помогла вам увеличить лимит PHP памяти на сайте WordPress.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

В рамках проекта server [admin] мы занимаемся настройкой и администрированием web-серверов. И, конечно, к нам обращаются за решением проблем с уже существующими, т.н. «боевыми» серверами.

Мы часто находим ошибки в конфигурации сервера, особенно если до нас на сервере работали разного рода «специалисты». Одной из наиболее частых проблем является неправильное значение параметра PHP memory_limit.

Итак, важно понимать, что значение PHP memory_limit — это значение для каждого исполняемого скрипта PHP.  Можно представить себе это как ограничение скорости для автомобилей при движении по дороге — ограничение действует для каждого автомобиля и составляет конкретное значение — 60 км/ч, к примеру.

Для чего нужен параметр PHP memory_limit

Параметр PHP memory_limit появился именно для ограничения занимаемой оперативной памяти, которую использую PHP скрипты. Чаще всего проблемы с использованием памяти возникаю в плохо написанных скриптах. И вот для того, чтобы скрипт с допущенной утечкой памяти  не «съел» всю доступную память сервера и был внедрен параметр PHP memory_limit.

Как проявляется проблема

Скорее всего в логах ошибок интерпретатора PHP будет что-то вроде:

 Fatal error: Allowed memory size of x bytes exhausted (tried to allocate x bytes) in /path/to/php/script

или

 PHP Fatal error: Out of memory (allocated x) (tried to allocate x bytes) in /path/to/php/script

Пример ошибочной конфигурации

Реальный кейс — подключаемся к серверу у которого 2048Мб (2Гб) оперативной памяти. Кто-то установил memory_limit значение 1024М (1Гб), полагая, что таким образом ограничит использование интерпретатором PHP памяти в 1Гб. В общем-то логично, но, к сожалению — это так не работает. На этом сервере криво был написан скрипт на PHP и памяти он потреблял около 800Мб, что само по себе — ненормально.

Так вот, пока скрипт запускался 1 — 2 раза одновременно — проблем не было, однако, когда на ресурс возросла нагрузка и скрипт запустился 3 или 4 раза одновременно (ну просто к одному и тому же скрипту обратились разные пользователи одновременно) — начались «падения» сервера и ошибки в логах. А так как скрипт потребляет 800Мб — ограничение в 1Гб не было достигнуто, что приводило к краху системы, ведь для запуска 3-х таких скриптов требовалось уже около 2,5Гб Памяти, а в наличии только 2Гб.

Где изменить и какую величину PHP memory_limit использовать

Настройка этого параметра производится в файле php.ini и имеет вид:

Альтернативно (в случае использования Apache в качестве бекенд-сервера) — можно использовать файл .htaccess и добавить туда директиву:

php_value memory_limit 128M

Мы рекомендуем использовать максимум 128Мб для ограничения PHP memory_limit, а лучше еще меньше. Если скрипту требуется больше 128Мб памяти, то в большинстве случаев требуется ревизия и оптимизация кода скрипта.

Выводы

Повторим еще раз — PHP memory_limit — это параметр для каждого отдельного скрипта PHP, а не ограничение для РНР в целом. И его неправильная настройка рано или поздно приведет к «падению» сайта и его недоступности для клиентов, что очень плохо как для ранжирования в поискоых системах, так и для репутации ресурса.

Для правильной настройки сервера необходимо обладать достаточными компетенциями и опытом соответствующей настройки. И мы крайне не рекомендуем допускать к настройкам сервера сомнительных «специалистов».

Специалисты server [admin] с удовольствием настроят Вам web-сервер так, как нужно.

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

1

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

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

htaccess

upload_max_filesize

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

  • post_max_size должен быть больше этого значения.
  • Значение можно указать числом в байтах, K, M и G.

Пример:

php_value upload_max_filesize 100M

htaccess

max_input_vars

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

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

Пример:

php_value max_input_vars 2000

htaccess

max_execution_time

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

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

Пример:

php_value max_execution_time 600

htaccess

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

max_input_time

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

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

Пример:

php_value max_input_time 600

htaccess

memory_limit

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

  • memory_limit должен превышать post_max_size.
  • Чтобы убрать ограничения, установите значение «-1».

Пример:

php_value memory_limit 200M

htaccess

2

Установка директив в .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         

htaccess

3

Установка директив в 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

4

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

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

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

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

PHP

Результат:

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

5

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

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

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

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

10.02.2022, обновлено 21.03.2022

Другие публикации

Примеры использования cURL в PHP

cURL PHP – это библиотека предназначенная для получения и передачи данных через такие протоколы, как HTTP, FTP, HTTPS….

Время и память выполнения скрипта PHP

Несколько методов как узнать время генерации страницы и затраченный объем памяти PHP скрипта.

Очистка данных из форм в PHP

Для предотвращения XSS, SQL-инъекций и других атак, данные полученные из форм нужно чистить. Простое экранирования кавычек не достаточно, нужен комплексный подход по типу данных.

Бот Телеграм на PHP

Примеры как зарегистрировать бота в Телеграм, описание и взаимодействие с основными методами API.

Работа с FTP в PHP

Протокол FTP – предназначен для передачи файлов на удаленный хост. В PHP функции для работы с FTP как правило всегда доступны и не требуется установка дополнительного расширения.

Автоматическое сжатие и оптимизация картинок на сайте

Изображения нужно сжимать для ускорения скорости загрузки сайта, но как это сделать? На многих хостингах нет…

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

I trying to change the php memory_limit master value but still cant make it.

in htaccess i put ‘php_value memory_limit 1024M‘, it’s only change the local value..

Any ideas to change the master value?

asked Mar 7, 2013 at 1:58

Wei Keat's user avatar

Update your php.ini file. If you are on shared hosting without access to it, then your only option is to set it locally.

answered Mar 7, 2013 at 2:02

datasage's user avatar

datasagedatasage

19k2 gold badges47 silver badges54 bronze badges

If you want to change the master value, you’ll need to find the php.ini file located on the server. Take a look at https://stackoverflow.com/a/2750582/254973 if you need help finding the file.

Simply edit the value within that php.ini file, and you should be good to go. Maybe a restart of the webserver depending on it’s configuration.

This will more than likely require elevated/root access on your hosting server.

Community's user avatar

answered Mar 7, 2013 at 2:03

Steven V's user avatar

Steven VSteven V

16.2k3 gold badges63 silver badges76 bronze badges

Check the location of your php.ini file

php -i | grep php.ini

Configuration File (php.ini) Path => /usr/lib/lib
Loaded Configuration File => /usr/lib/php.ini

Something like this and edit the file with your favorite editor:
notepad, vim, emacs, pico…

pico /usr/lib/php.ini

Search and change memory limit and restart apache.

answered Mar 7, 2013 at 2:04

Fernando André's user avatar

Fernando AndréFernando André

1,2113 gold badges18 silver badges32 bronze badges

Change the php ini
memory_limit = 128M
to what you want

answered Mar 7, 2013 at 2:04

xelber's user avatar

xelberxelber

4,0173 gold badges24 silver badges33 bronze badges

I was searching all over the system for this value, it seems it’s stored in

/etc/php/8.1/fpm/pool.d/www.conf

I tried to change the memory_limit in these files but didn’t change anything:

/etc/php/8.1/apache2/php.ini
/etc/php/8.1/fpm/php.ini
/etc/php/8.1/cgi/php.ini
/etc/php/8.1/cli/php.ini

Don’t forget to restart the php and webserver (nginx/apache etc.) service after editing.

answered Sep 23, 2022 at 15:49

surilin3's user avatar

I trying to change the php memory_limit master value but still cant make it.

in htaccess i put ‘php_value memory_limit 1024M‘, it’s only change the local value..

Any ideas to change the master value?

asked Mar 7, 2013 at 1:58

Wei Keat's user avatar

Update your php.ini file. If you are on shared hosting without access to it, then your only option is to set it locally.

answered Mar 7, 2013 at 2:02

datasage's user avatar

datasagedatasage

19k2 gold badges47 silver badges54 bronze badges

If you want to change the master value, you’ll need to find the php.ini file located on the server. Take a look at https://stackoverflow.com/a/2750582/254973 if you need help finding the file.

Simply edit the value within that php.ini file, and you should be good to go. Maybe a restart of the webserver depending on it’s configuration.

This will more than likely require elevated/root access on your hosting server.

Community's user avatar

answered Mar 7, 2013 at 2:03

Steven V's user avatar

Steven VSteven V

16.2k3 gold badges63 silver badges76 bronze badges

Check the location of your php.ini file

php -i | grep php.ini

Configuration File (php.ini) Path => /usr/lib/lib
Loaded Configuration File => /usr/lib/php.ini

Something like this and edit the file with your favorite editor:
notepad, vim, emacs, pico…

pico /usr/lib/php.ini

Search and change memory limit and restart apache.

answered Mar 7, 2013 at 2:04

Fernando André's user avatar

Fernando AndréFernando André

1,2113 gold badges18 silver badges32 bronze badges

Change the php ini
memory_limit = 128M
to what you want

answered Mar 7, 2013 at 2:04

xelber's user avatar

xelberxelber

4,0173 gold badges24 silver badges33 bronze badges

I was searching all over the system for this value, it seems it’s stored in

/etc/php/8.1/fpm/pool.d/www.conf

I tried to change the memory_limit in these files but didn’t change anything:

/etc/php/8.1/apache2/php.ini
/etc/php/8.1/fpm/php.ini
/etc/php/8.1/cgi/php.ini
/etc/php/8.1/cli/php.ini

Don’t forget to restart the php and webserver (nginx/apache etc.) service after editing.

answered Sep 23, 2022 at 15:49

surilin3's user avatar

Понравилась статья? Поделить с друзьями:
  • Как изменить memoji на айфоне свой стикер
  • Как изменить mediainfo видеофайла
  • Как изменить mdb файл
  • Как изменить md5 сумму файла
  • Как изменить mcc код магазина