Меню Закрыть

Ini set memory limit 512m

Содержание

When we use ini_set like below in code, will memory limit be the same for all other codes? or only valid for in which code we added ?

2 Answers 2

It is only working for the file where it is written. Best way to change settings for multiple phps in the same folder are:

Keep in mind, this only works, if you server configuration allowes "AllowOverride" directive for this directory

You can do this in php.ini.

but this will take affect to ALL php-files you are running

Зайцев Артемий

Дата последнего входа: 36 минут назад
Город: Ростов-на-Дону
Наименование компании: Аскарон системс

С производительностью умного фильтра разобрались, теперь разберемся с расходом памяти.

Мы продолжаем наполнять каталог. Сейчас у нас всего 2000 свойств в инфоблоке. В одном из разделов 4000 товаров. Эти товары используют всего 10 свойств для умного фильтра. Но страница перестала открываться с ошибкой, что мало памяти.

Сначала было
@ini_set( "memory_limit", "512M" );

Я увеличил
@ini_set( "memory_limit", "1024M" );

На какое-то время хватило. Но скоро опять перестало открываться. Кто съел гигабайт? Этот код:

Функция CIBlockElement::GetPropertyValues выбирает все значения свойств, в том числе и для пустых. Значения пустых свойств false.

У нас получилось в массиве $arElements 4000 элементов по 2000 свойств в каждом. Всего на гигабайт в оперативной памяти.

Пришлось исправить. В $arNewElement попадают только те свойства, которые есть в умном фильтре и непустые.

Вы работали с конструктором страниц, делали слайдер или установили какой-то плагин и получили ошибку превышения лимита PHP памяти.

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

Читайте также:  Hp color laserjet 2820 драйвер

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

Содержание:

Что такое PHP память и для чего она используется

Объем PHP памяти определяет, сколько PHP данных может обрабатываться за определенное количество времени для выполнения какой-то задачи.

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

Как узнать сколько PHP памяти выделено

По умолчанию Вордпресс выделяет 40 MB для обычного сайта и 64 MB для мультисайта.

Если у вас установлен WooCommerce, зайдите в WooCommerce — Статус — Состояние системы — WP Memory Limit. Некоторые темы, пейдж-билдеры и плагины безопасности показывают эту информацию, попробуйте найти. Если вы не можете найти, проверьте это плагином Server IP & Memory Usage Display или TPC! Memory Usage (оба бесплатные) или еще чем-то подобным.

Сколько PHP памяти нужно

В зависимости от плагинов, которые вы используете, увеличьте до 128 MB. Если у вас много плагинов, или магазин на WooCommerce — увеличьте до 256 MB.

1. Редактирование файла wp-config.php

Через файловый менеджер на хостинге или через FTP клиент зайдите в корневую папку сайта и найдите файл wp-config.php. Откройте его и добавьте такую запись:

Комментарий может быть любой, можно на русском языке. Добавьте эту запись в конце файла перед строкой Это всё, дальше не редактируем. Сохраните, загрузите. Очистите кеш, если вы пользуетесь плагином кеша.

2. Редактирование файла php.ini

В корневой папке сайта найдите или создайте файл php.ini. В стандартной установке WP этого файла нет.

Читайте также:  Как в скайпе сделать микрофон на кнопку

Добавьте эту строку в файл:

Сохраните файл, очистите кеш.

3. Редактирование файла .htaccess

Этот файл тоже находится в корневой папке, но он может быть скрытым. Посмотрите в настройках файлового менеджера или FTP клиента, сделайте скрытые файлы видимыми.

Добавьте в файл эту запись:

php_value memory_limit 128M

Сохраните файл, очистите кеш.

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

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.