Итак, вот моя проблема. Я использовал Fineuploader, чтобы добавить поддержку перетаскивания в мою форму. Я использовал PHP, чтобы сделать всю обработку. Когда я работал на своем локальном сервере WAMP, все работало нормально. (Включая файлы 100 МБ +). Когда я переключился на свой рабочий сервер, началась ошибка.
Файлы по-прежнему будут загружаться очень хорошо в точку. Тестирование с файлом размером 50 МБ работало безупречно. При попытке загрузить файл размером 100 МБ возникает ошибка.
Вывод из консоли для небольшого файла:
[Fine Uploader 5.5.0] xhr - server response received for 0
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] responseText = {"success":true,"uuid":"2f5b7015-a573-4159-b225-8b2e006aa83b","uploadName":"PTO Request Form.pdf"}
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] Received response status 200 with body: {"success":true,"uuid":"2f5b7015-a573-4159-b225-8b2e006aa83b","uploadName":"PTO Request Form.pdf"}
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] Simple upload request succeeded for 0
Вывод из большого файла:
[Fine Uploader 5.5.0] xhr - server response received for 1
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] responseText = {"error":"here: File name empty.","uploadName":null}
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] Received response status 200 with body: {"error":"File name empty.","uploadName":null}
jquery.fine-uploader.js:251 [Fine Uploader 5.5.0] Simple upload request failed for 1
Я попытался увеличить / удалить ограничения по времени PHP с:
ini_set('max_execution_time', 0);
ini_set('max_input_time', 0);
ini_set('upload_max_filesize', '500M');
ini_set('post_max_size', '500M');
set_time_limit(0);
но это дало тот же результат. Я попытался перехватить данные поста и передать их в функцию загрузки, но результат все тот же.
Пожалуйста, если у кого-то есть понимание, передайте это мне.
Заранее спасибо.
Редактировать: скопированный локальный код ini_set без учета размера файла увеличивается.
После дальнейших испытаний и других намекает в сторону. Решением было увеличить post_max_size и upload_max_filesize в php.ini. Установка их с помощью ini_set не работает, так как настройки требуются до обработки страницы.
У меня нет прямого доступа, поэтому я использовал htaccess, чтобы выполнить то же самое.
.Htaccess
php_value post_max_size 500M
php_value upload_max_filesize 500M
Это решило мою проблему.
Других решений пока нет …