robinbobin ([personal profile] robinbobin) wrote2005-01-18 02:05 am

Хозяйке на заметку - session_start() не работает

Давеча столкнулся с одним сервером, в котором не проходило session_start().
лытдыбрю, пока не забыл. мало ли...

симптомы:
apache, php 4.1.*, Server API, все как обычно

теперь, допустим есть такой скрипт

< ?
echo date("с секуднами");
?>
F5 на него. все ок. секундочки тикают.

добавляем строчку
< ?
session_start();
echo date("с секуднами");
?>

и все, скрипт "останавливается", т.е. никаких тебе сообщений об ошибках, в логах чисто. по F5 выводятся секундочки оутпута до session_start().
такое ошушэнье шо как с кеша выводит. но никакие антикешированые пляски с бубном не помогли.

....длинная и грустная история поиска бага скипнута.....

шо оказалось, шо php был скомпилированн с опцией mm-enable (первый раз про такое слышу) а где в середке длинной и мутной доки на пиэйчпидотнет было упомяноту про это. и шо оно может глючить, и шо надо указывать путь в размапленную память, типа как путь на соотв. fs.

да, а пхп был скомпилирован просто и со вкусом --enable-mm='' (xi-xi)

короче, вылечилось в php.ini
session.use_session_handler (или как там его) = files, vmesto mm

/etc/init.d/apache module_reload.

и стало хорошо