Непонятные проблемы при работе с сессией

SDN

Новичок
Непонятные проблемы при работе с сессией

Кратко задача скрипта: сложить в БД файл, присылаемый (upload) пользователем. Размер файла - ограничен до 32МБ (т.е. соответственно установлены в php.ini переменные: file_uploads=On; upload_max_filesize=32M; post_max_size = 32M; дополнительно в скрипте устанавливю ini_set("max_input_time", 0);).

При небольших файлах всё работает (до 1-2Мб) быстро, при более "тяжёлых" файлах начинают происходить странные вещи - скрипт зависает на функции "session_start()" (до 10 минут!), причём сессию я использую ТОЛЬКО для сохранения туда сообщения о результате выполнения скрипта (т.е. сам файл в сессию не складываю), и это сообщение потом используется при перенаправлении на страницу (header("Location ...")), которая его собственно и показывает. Самое обидное, что отладчиком тоже не могу выловить проблему - Zend Studio отвечает "Debugger not response". Пробовал перенести session_start непосредственно к тому моменту где идёт сохранение сообщения и перенаправление - результат тот же. Обработка файла (upload-zcompress-insert into DB) выполняется без проблем и быстро, а на старте сессии начинается висяк..

весь скрипт не выкладываю, - он большой - и в принципе суть вопроса кажется не в этом, потому что скрипт выглядит так:

PHP:
<?php

 session_start(); // тут сразу висяк, перенос к header ничего не меняет (хотя операции с файлом выполняются в момент)

 // ...
 // дальше операции с файлом

 $_SESSION["msg"] = "OK";

 header("Location: ...\r\n\r\n", true, 302);

?>
ошибок никаких не выскакивает.. временные показатели тока зашкаливают.. :(

что-т нипайму в чём трабл.. help?..
 

SiMM

Новичок
Копайте в другом месте. И не забывайте, что сессия не может быть открыта, пока не будет закрыта.
[m]session_write_close[/m]
http://phpfaq.ru/session
[m]session_start[/m]
PS: часом, session.auto_start не включен?
 

SDN

Новичок
Автор оригинала: SiMM
Копайте в другом месте. И не забывайте, что сессия не может быть открыта, пока не будет закрыта.
[m]session_write_close[/m]
http://phpfaq.ru/session
[m]session_start[/m]
PS: часом, session.auto_start не включен?
спасибо за [m]session_write_close[/m], посмотрю в этом направлении, может в этом и вся штука..
session.auto_start = Off

-~{}~ 05.10.07 17:10:

да, проблема была скорее всего в этом.. я думаю, сценарий был такой: стартовала сессия, выполнялась долгая обработка файла (которую я кстати оптимизнул сегодня), а я не дожидаясь результата опять кликал на "отправить", т.е. инициировалась ищё одна сессия, которая ждала окончания предыдущей.. и вот так они в очереди топились-дрались думаю.. об этом говорит то, что файлы со временем появлялись в БД ))

сейчас несколько переделал логику, сессию таки стартую после обработки файла, и аккуратно её закрываю функцией [m]session_write_close[/m]

спасибо за помощь!..
 

HraKK

Мудак
Команда форума
ой йо... раньше кликнул... потопилась... почитайте про сессии.
 

Фанат

oncle terrible
Команда форума
HraKK
не знаю, что ты имеешь в виду, а я заношу эту особенность в фак.
 

HraKK

Мудак
Команда форума
Фaнaт
Я проверил, эту ситуацию apache 1.3.33 php 5.2.4 - все отлично.
 
Сверху