Назад | Перейти на главную страницу

Сбой загрузки без причины

Я пытался обнаружить проблему на своем веб-сервере, которая просто приводит к сбою загрузки файлов. Я также создал простой скрипт php для проверки загрузки, и при загрузке он не выполняется, но я не получаю никаких сообщений об ошибках сортировки или сообщениях журнала. Файл, который я тестировал, имеет 86 МБ, я уже увеличил следующие настройки php, связанные с загрузкой и перезапустил apache:

memory_limit 1024MB
post_max_size 512MB
upload_max_filesize 256MB

Независимо от внесенных мной изменений, проблема сохраняется, загрузка работает только для небольших файлов. Я использую php7.3, apache 2.4.39 и CentOS 7.6.

Другой тест, который я сделал, менял upload_tmp_dir в пользовательскую папку, и я смог проверить, создается ли временный файл во время загрузки файла, пока он каким-то образом не выйдет из строя и файл не будет удален. Также попытался отключить SELinux, но результат был таким же.

Проблема была вызвана reqtimeout_module, добавив следующий код в /etc/httpd/conf/httpd.conf решить проблему.

<IfModule reqtimeout_module>
    RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
</IfModule>

Проверьте конфигурацию Apache на наличие директивы LimitRequestBody. По умолчанию это 0, что позволяет загружать неограниченные размеры, но это может быть изменено. Ограничения на размер загрузки должны быть достаточными для конфигураций Apache и PHP.