2 Вопрос: Загрузка данных на сервер Apache не прекращается, если загрузка длится более 20 секунд

вопрос создан в Wed, May 8, 2019 12:00 AM

У меня есть веб-сайт, где пользователи могут загружать изображения на мой сервер Apache /PHP. Если загрузка файлов длится менее 20 секунд, все в порядке. Но если он длится дольше (независимо от размера файла изображения), загрузка завершится неудачей.

В .htaccess у меня уже есть:

php_value upload_max_filesize 10M
php_value post_max_size 70M
php_value max_execution_time 180
php_value max_input_time 180

И в php-скрипте возвращаем результат:

echo "-max_execution_time  ".ini_get('max_execution_time');
echo "-max_input_time ".ini_get('max_input_time');
echo "-upload_max_filesize  ".ini_get('upload_max_filesize');
echo "-post_max_size  ".ini_get('post_max_size');
echo "-memory_limit   ".ini_get('memory_limit');

является исключением:

-max_execution_time  180

-max_input_time 180

-upload_max_filesize  10M

-post_max_size  70M

-memory_limit   128M

Это запросы - все они не выполняются через 22 секунды с ошибкой net :: ERR_SPDY_PROTOCOL_ERROR (в Firefox они не выполняются через 20 секунд)

https://cdn1.imggmi.com/uploads /2019/5/8/fadd31a1a22674cfc3cc4603c97762ff-full.jpg р>

консольный журнал

Что мне здесь не хватает ??? Еще раз, если продолжительность загрузки меньше 20 секунд - все хорошо ...

    
1
  1. Какой ваш max_input_time установлен в php.ini
    2019-05-08 15: 48: 12Z
  2. Если PHP работает как FastCGI или FPM, на этом уровне также есть дополнительные таймауты. Есть ли у вас полный контроль над настройкой вашего сервера?
    2019-05-09 02: 52: 02Z
  3. Если используется FPM (если это довольно новая установка), проверьте это: stackoverflow.com/questions/40360922/…
    2019-05-09 02: 53: 39Z
2 ответа                              2                         

Возможно, эта проблема связана с директивой «Тайм-аут» в файле apache httpd.conf.

Смотрите здесь: https://httpd.apache.org/документы /2.4 /мод /core.html # таймаут р>     

0
2019-05-08 17: 30: 05Z
  1. @ RiggsFolly Я не вижу httpd.conf в моем cpanel /file_manager - кажется, я не могу получить к нему доступ ... эти настройки доступны для меня: cdn1.imggmi.com/uploads/2019/5/8/… и cdn1.imggmi.com/uploads/2019/5 /8 /...
    2019-05-08 18: 53: 47Z
  2. Насколько я знаю, файл httpd.conf недоступен в общих хостингах. но, возможно, вы можете обратиться в службу поддержки вашего хостинга.
    2019-05-08 19: 18: 08Z

20 секунд могут означать, что модуль Apache mod_reqtimeout может быть тем, что убивает ваш запрос, поскольку это одно из его значений по умолчанию (20 секунд для получения тела запроса), если его параметры не настроены.

https://httpd.apache.org/docs/trunk/mod /mod_reqtimeout.html р>

Я считаю, что mod_reqtimeout - это расширение, автоматически загружаемое с помощью Apache 2.4

    
0
2019-05-08 20: 45: 40Z
  1. Можно ли как-то прочитать это значение ... используя php echo, потому что я не могу получить доступ к настройкам Apache (возможно, из-за общего хостинга)? Вот лог от одного из проваловзапросы cdn1.imggmi.com/uploads/2019/5/9 /...
    2019-05-08 22: 25: 13Z
  2. Я не думаю, что вы можете легко увидеть вашу существующую конфигурацию Apache с PHP. Посмотрите, разрешает ли ваш хост файлы htaccess. Если это так, вы можете настроить reqtimeout_module через этот
    2019-05-08 22: 31: 06Z
  3. Я попытался поместить <IfModule reqtimeout_module> RequestReadTimeout header=0 RequestReadTimeout body=0 </IfModule> в .htaccess, но затем получил внутреннюю ошибку сервера
    2019-05-08 23: 37: 13Z
  4. Это обычно означает, что apache обнаружил синтаксическую ошибку в вашей конфигурации (файл htaccess). Вы уверены, что не набрали все это в одну строку?
    2019-05-09 00: 24: 20Z
источник размещен Вот
Другие вопросы