может ли тайм-аут сервера контролироваться кодом?

#php #file-upload #timeout

#php #загрузка файла #тайм-аут

Вопрос:

Я использовал руководство по созданию PHP-скрипта для загрузки файлов на сервер. Это прекрасно работает для изображений и небольших файлов размером менее 10 мб, но при таком размере это приводит к сбою. Я полагаю, что это может быть связано с таймаутом сервера. Вопрос в том, если я прав в своем предположении, есть ли способ сообщить серверу подождать, пока файл не будет загружен?

Конечно, может быть другая проблема, о которой я не подумал, согласно имеющемуся у меня сценарию, большие загрузки не выдают ошибку, и отображается текст «успех»!

Буду признателен за любой полезный совет 🙂

Ответ №1:

Комментарии:

1. Вау, это было быстро! Спасибо, я посмотрю на ссылку

2. Надеюсь, это поможет 🙂 В противном случае, не стесняйтесь спрашивать!

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

4. Вы можете изменить это в php.ini — если у вас есть к этому доступ, то есть.

Ответ №2:

Вы можете установить время ожидания с помощью set_time_limit($seconds)

Если вы установите $seconds значение 0, сервер не потеряет время ожидания — но используйте это очень осторожно!

Комментарии:

1. Спасибо за быстрый ответ, я попробую это, а также прочитаю ссылку выше.

Ответ №3:

В PHP есть функция под названием set_time_limit(), которую вы можете использовать, чтобы установить, сколько времени потребуется, прежде чем PHP завершит работу из-за слишком долгого запуска. Будьте осторожны с этим, хотя, поскольку установка его в 0 может заставить обработку php ждать вечно и потреблять ресурсы вашего сервера.

Вы также можете установить эту директиву в php.ini или из файлов apache .htaccess.

В php.ini также есть max_input_time

Ответ №4:

Эти директивы могут быть полезны:

  • upload_max_filesize
  • max_execution_time

Эти директивы могут быть изменены в php.ini или через функцию ini_set.

Ответ №5:

убедитесь, что для загрузки разрешено более 10 мбhttp://php.net/manual/en/features.file-upload.errors.php

затем с помощью php

 set_time_limit(0);
  

http://php.net/manual/en/function.set-time-limit.php

Ответ №6:

Если вы используете PHP в качестве модуля Apache и предыдущие ответы не работают, вы можете посмотреть на время ожидания Apache, но это не рекомендуется.