Проблема загрузки php с Centos - PullRequest
0 голосов
/ 25 июня 2019

Я загружаю файл больше чем 30MB до 2GB, но я не могу загрузить его. Если я загружаю файлы меньше чем 30MB, он работает нормально, но когда я пытаюсь загрузить файлы больше чем 30MBэто не работает.Также нет никаких ошибок.

Вот настройки файла php.ini

post_max_size  = 2G
max_execution_time = 3600 
upload_max_filesize = 3600

memory_limit = 1024M

Мы используем сервер AWS с Centos в качестве Os, и мы используем codeigniter.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 25 июня 2019

Если вы загружаете файл большого размера, рекомендуется загрузка непосредственно на S3.Вы можете сделать это, сгенерировав предварительно подписанный URL-адрес S3 в EC2, а затем разрешить клиенту загружать этот URL-адрес.Это будет намного быстрее, потреблять гораздо меньше пропускной способности EC2 и дешевле хранения.


Для конфигурации PHP:

php doc: https://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize

post_max_size:

Вообще говоря, memory_limit должен быть больше, чем post_max_size.

upload_max_filesize:

Максимальный размерзагруженный файл.Когда используется целое число, значение измеряется в байтах.

(Не уверен, почему вы можете загрузить файл размером 30 МБ, если upload_max_filesize равен 3600 байт)

memory_limit

Устанавливает максимальный размерпамять в байтах, которую скрипту разрешено выделять.

Вы можете попробовать следующее:

post_max_size  = 2G
max_execution_time = 3600 
upload_max_filesize = 2G

memory_limit = 2560M
...