Назад | Перейти на главную страницу

Ограничить переопределение memory_limit в php.ini

У нас есть проблема, о которой мы только что обратили внимание, некоторые из наших разработчиков использовали ini_set ('memory_limit', -1), чтобы переопределить настройки php.ini memory_limit в своих файлах кода.

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

Есть ли способ ограничить эти изменения для определенных параметров, таких как memory_limit, upload_max_filesize и post_max_size? Пользователи не должны иметь возможность редактировать их после определенного установленного лимита?

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

Я знаю два варианта достижения хотя бы части вашей цели.

Первый php safe_mode, который может дать вашим разработчикам много дополнительной работы.

Сухосин www.hardened-php.net

После установки вы можете отредактировать /etc/php5/conf.d/suhosin.ini и установить:

suhosin.memory_limit = 512 МБ

Qoute из руководства 1:

suhosin.memory_limit

Type: Integer
Default: 0

Пока скрипты не выполняются в safe_mode, они могут изменить memory_limit на любое желаемое значение. Suhosin изменяет этот факт и запрещает установку memory_limit на значение больше, чем то, с которого был запущен скрипт, когда эта опция оставлена ​​на 0. Значение больше 0 означает, что Suhosin не разрешает скриптам устанавливать memory_limit на значение, превышающее установленное жестко. предел. Это, например, полезно, если вы хотите нормально запустить скрипт с лимитом 16M, но скрипты обработки изображений могут увеличить его до 20M.

Вопрос Stackoverflow для справки