PHP: делает ini_set («memory_limit», «1024M»); неявно соотносить ресурсы памяти в конце выполнения сценария PHP?

1

Загружайте большие файлы на сервер EC2, моя конфигурация:

ini_set("display_errors",1);
ini_set("memory_limit","1024M");
ini_set('upload_max_filesize', '500M');
ini_set('post_max_size', '5000M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 0);

он отлично работает

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

или Программист должен бесплатно освобождать ресурс

Какие значения по умолчанию (наилучшие) программист должен установить

  • 1
    он освободит все ресурсы после завершения
  • 0
    Хорошо, а что если ОЗУ в EC2 составляет 5 ГБ, и я выделяю 1 ГБ при загрузке файла. что вы скажете, если я установлю 128 МБ памяти в ini_set (), которая лучше 1 ГБ или 128 МБ? так что на сервере достаточно памяти и мои файлы загружаются без сбоев. и в приведенном выше коде, какие конфигурации ini_set я должен использовать и не должны использовать?
Показать ещё 2 комментария
Теги:
amazon-ec2

3 ответа

1
Лучший ответ

ini_set

Устанавливает значение данного параметра конфигурации. Опция конфигурации сохранит это новое значение во время выполнения скрипта и будет восстановлена при завершении сценария.

Нужно сказать что-нибудь еще? Да, одна вещь! Сбор мусора не имеет никакого отношения к вызовам ini_set которые у вас есть. Оба - две разные вещи.

  • 0
    Хорошо, а что если ОЗУ в EC2 составляет 5 ГБ, и я выделяю 1 ГБ при загрузке файла. что вы скажете, если я установлю 128 МБ памяти в ini_set() которая лучше 1 ГБ или 128 МБ? так что на сервере достаточно памяти и мои файлы загружаются без сбоев. и в приведенном выше коде, какие конфигурации ini_set я должен использовать и не должны использовать?
  • 1
    Загрузка файла объемом 1 ГБ не требует 1 ГБ оперативной памяти для вашего сценария. И если вы предоставляете верхний предел для вашего скрипта, это не значит, что он будет использовать все это. Почему вы позволяете кому-то загружать файл размером 1 ГБ?
Показать ещё 2 комментария
2

Он освободит все ресурсы после их завершения. Максимальное выделение памяти для php. если вы установите -1 в пределе памяти, он будет использовать для максимального предела, установленного для PHP. он не будет превышать этого. Это нужно обрабатывать на стороне сервера за пределами PHP. Но если вы установили более допустимую память для PHP, тогда сервер заменит ее памятью по умолчанию из php.ini, я думаю, что это 128M. Использовать доступную память MAX для PHP ini_set ('memory_limit', '-1'). Это позволит вам использовать максимальную доступную память для выполнения PHP.

1

Ресурсы будут автоматически освобождены при прекращении выполнения скрипта.

Какие значения по умолчанию (наилучшие) программист должен установить

Такого нет. Это зависит от фактического использования памяти...

  • 0
    что делать, если объем оперативной памяти в EC2 составляет 5 ГБ, и я выделяю 1 ГБ при загрузке файла что вы скажете, если я установлю 128 МБ памяти в ini_set (), которая лучше 1 ГБ или 128 МБ? так что на сервере достаточно памяти и мои файлы загружаются без сбоев. и в приведенном выше коде, какие конфигурации ini_set я должен использовать и не должны использовать?
  • 0
    @ LukyBoy-KU Вы выделяете 1 ГБ для сценария. Я понятия не имею, что там происходит ... Если вы создаете в памяти массив данных объемом 2 ГБ, вам нужно больше (ну, идиотский пример). Во всяком случае, зависит от того, что вы делаете внутри сценария.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню