Проблемы при использовании ini_set (‘memory_limit’, ‘-1’)

Я хотел бы знать, есть ли проблемы (плохо для сервера) при использовании ini_set('memory_limit', '-1') в ряде случаев?

Причина, по которой мне нужно это знать, заключается в том, что я сейчас работаю в проекте, где использование запросов на соединение высоко. Мы выбираем только необходимые данные, чтобы избежать максимальной загрузки, но в некоторых ситуациях, когда данные превышают 20000 записей, выполнение прекращается & шоу 500 (Internal Server Error),

Я знаю, что ошибка 500 может быть причиной многих других проблем, поэтому я проверил ее & нашел причину из-за превышения лимита памяти выполнения PHP (256M). Когда я установил ini_set('memory_limit', '-1') в моем коде запрос выполнен правильно.

Вышеприведенное объяснение является просто ситуацией / сценарием, не нужно учитывать, что & Да, я согласен, что с помощью ini_set('memory_limit', '-1') плохая практика Итак, мой вопрос ясно знать есть ли проблема при использовании ini_set (‘memory_limit’, ‘-1’) несколько раз на разных разделах проекта (например, разорвать вопросы или около того). Если да, то каковы они?

0

Решение

ini_set установит параметр конфигурации во время выполнения скрипта и будет восстановлен в конце скрипта.

так ini_set будет работать только на текущий процесс PHP. В следующий раз, когда поступит запрос, новый процесс php будет читать php.ini первым получить memory_limit и тогда вы можете использовать ini_set установить значение -1.

ты можешь использовать ini_get Проверять memory_limit чтобы избежать установки memory_limit несколько раз, и проверьте возвращаемое значение ini_set обеспечить успех.

с помощью ini_set('memory_limit', '-1') плохая идея Попробуйте использовать нумерацию страниц, чтобы избежать выборки всех данных за раз.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]