У меня возникли некоторые проблемы с загрузкой файлов jQuery / PHP на моем AMI Linux, работающем на экземпляре EC2.Я попытался использовать this и пару других плагинов (просто чтобы убедиться, что проблема не с самим плагином), с теми же результатами.При попытке загрузить 14 МБ PDF индикатор выполнения достигает 75% (или более, до 99%), затем перезапускается с 0%, снова достигает 75% (или более, до 99%), а затем просто останавливается сбез ошибок (даже не говоря Request Timeout
).Сделав несколько попыток, только пару раз индикатор выполнения достиг 99% без перезапуска, а затем выскочила ошибка с сообщением Request Timeout
.Это то, что я нашел в apache access_log
:
12.34.56.78 - - [02 / Jul / 2019: 15: 50: 09 +0000] "POST / uploader / demo / backend / upload.php HTTP / 1.1 "408 221
12.34.56.78 - - [02 / Jul / 2019: 15: 50: 31 +0000]" POST /uploader/demo/backend/upload.php HTTP / 1.1 "408 221
Таким образом, он печатает 408 Request Timeout
в 2 строки (в действительности загрузка перезапускается один раз).Загрузка занимает 22 или 23 секунды (как видно из журналов).
Вот как я устанавливаю php.ini
(я использую PHP 7.1 FPM):
max_execution_time = 360
max_input_time = 360
memory_limit = 256M
post_max_size = 100M
upload_max_filesize = 100M
phpinfo()
показывает, что эти значения применяются правильно.Я также попытался использовать set_time_limit(0)
и установить все указанные выше значения в файле upload.php
с помощью ini_set()
, но ничего не изменилось.Каталог загрузки имеет соответствующие разрешения, в действительности файл PDF объемом 9,3 МБ загружен правильно, без ошибок.
В одной из своих попыток я попытался также установить эти директивы apache:
KeepAlive On
KeepAliveTimeout 360
TimeOut 360
Только сВ результате прогресс загрузки достигал 99% и перезапускался несколько раз, а не перезапускался только один раз.
Теперь у меня закончились идеи, и большинство предлагаемых решений связаны с настройками php.ini
, которые в моем случае применяются правильно.