Загрузка файла на сервер сайта: время сеанса истекло

0

Доброе утро всем!

Что происходит: в настоящее время у меня есть веб-сайт, на котором я разрешаю пользователям загружать файлы. Они "выбирают" местоположение того, где на сервере файлы сохраняются с помощью выбора, который они делают. Каталог, в который они попадают, хранится как переменная сеанса. После нажатия кнопки загрузки файл помещается в этот каталог. Пока нет проблем. Первоначально у меня были проблемы с большими файлами из-за настроек в Apache. Я изменил следующее:

Upload_max_filesize = 2M => Upload_max_filesize = 0

memory_limit = 512M => memory_limit = -1

Это означает, что пользователь может загрузить любой размер файла. Это отлично работает для файлов размером 400 МБ, поэтому проблем нет. Однако, когда я тестировал 16-гигабайтный файл, проблема возникает. По моему мнению, из моего понимания, что Apache больше не ограничивает загрузку по размеру, и что изменение вышеуказанных настроек должно было помочь, иначе мой файл 400 МБ не будет работать.

Проблема:

После завершения выполнения индикатора выполнения загрузки на странице отображается сообщение об ошибке, которое я установил на место, если местоположение каталога, сохраненное в переменной сеанса, отсутствует. Поэтому я считаю, что сессия может быть отключена и "забыть" переменную сеанса. После выполнения загрузки, которая занимает примерно час, отображается сообщение.

Что я пробовал

Проведя некоторое исследование, я попытался изменить следующее, просто чтобы понять, имеет ли он значение:

session.gc_maxlifetime = 36000

36000 должно = 10 часов. В конце концов, я бы не стал его здесь, но просто сделал это для тестирования. Даже изменение этого по-прежнему приводит к тому, что, по моему мнению, является тайм-аутом. Я надеялся, что у кого-то есть предложения и, возможно, другие настройки, которые тоже должны быть изменены?

Заранее спасибо!

  • 0
    memory_limit = 512M => memory_limit = -1 Это не нужно и, как правило, плохая идея.
  • 0
    Есть ли какие-либо журналы с вашего веб-сервера / php, чтобы помочь сузить проблему? На данный момент вы просто предполагаете, что время сеанса истекло. Достаточно ли места на разделе для хранения файла? (Обратите внимание, что файлы загружаются туда, куда указывает переменная среды TMPDIR)
Теги:

2 ответа

0
$seconds = 60*60*24
set_time_limit ( int $seconds )

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

  • 0
    Я тоже это пробовал, но безрезультатно. Это все еще время ожидания сессии.
0

Ваш PHP файл может быть отключен. Это значение по умолчанию является низким. (примерно 2 мин)

попробуй это:

ini_set('max_execution_time', 3600); //3600 seconds = 1 hour, or value 0 for unlimited

Попробуйте изменить это значение на что-то более высокое, так как эти файлы, которые вы описываете, вероятно, занимают больше времени, чем 5 минут для загрузки.

  • 0
    Я попробовал это. Я дам вам знать результаты в ближайшее время.
  • 0
    Тот же результат после изменения max_execution_time на = 7200 (2 часа)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню