memory_limit
- это максимальный объем памяти, который разрешено использовать PHP-скрипту. По сути, это опция конфигурации безопасности, чтобы гарантировать, что у вас нет PHP-скрипта, который просто сходит с ума и потребляет всю память сервера, или, что еще хуже, у вас нет нескольких PHP-скриптов, которые потребляют больше памяти, чем Сервер имеет.
Эта директива конфигурации может быть установлена в файле php.ini
; это файл, который задает конфигурацию PHP.
Чтобы узнать, где находится файл php.ini
на вашем сервере, вы можете использовать функцию phpinfo()
: где-то в верхней части вывода должна быть опция "Loaded Configuration File
" .
Какое значение следует использовать для memory_limit - интересный вопрос ... Раньше, когда мы писали только маленький скрипт, обычно достаточно было 8MB
.
Теперь, с Frameworks, большими приложениями, структурированными по слоям, ORM и всем этим, 8MB
обычно недостаточно (как вы, очевидно, заметили) - я обычно устанавливаю memory_limit
на 32M
на моих производственных серверах, что почти всегда достаточно для моих приложений, но при этом не слишком много .
Итак, в моем файле php.ini
есть:
memory_limit = 32M
Примечание: было бы заманчиво установить очень высокое значение для memory_limit
, чтобы просто избавиться от проблемы ... Но помните, что memory_limit
здесь для безопасности: вы должны убедиться, что на вашем сервере достаточно памяти, чтобы ответить несколько запросов одновременно!