Не работают сессии в .html файлах

leogee

Новичок
Не работают сессии в .html файлах

Версия php - 5, стоит nginx

Странным образом не работаю сессии.

Есть тестовый код:

<?
session_start ();

echo $_SESSION ["user_id"];
echo "<br>", rand (1, 100);
?>

Если этот код сохранить и вызывать в файле с расширением .php то выводится id юзера, если же переименовать файл в .html то этого не происходит.
Хотя в .html файлах php код работает. В этом тестовом коде выводится случайное число от 1 до 100. А сессия нет.
В .htaccess прописано:
AddHandler application/x-httpd-php html

Почему сессия не работает? Не могу понять :(
 

leogee

Новичок
Выдаёт:

Notice: Undefined index: user_id in /var/tests.html on line 7

Это та строка, где
echo $_SESSION ["user_id"];

-~{}~ 25.09.09 16:04:

Тут главная проблема в том, что один и тот же код в файле .php работает, а в .html тоже всё работает, кроме того, что сессия туда не предаётся. Как такое может быть?

-~{}~ 25.09.09 16:22:

Получается так:

Если переменная была сохранена в сессию из файла с расширением .html, то она видна потом в .html файлах.
Если через файл c расширением .php то Не видна в файле с расширением .html. Что за чудеса?
 

Beavis

Banned
Да не надо каждый чих на форум писать.. что ты сделал для того чтоб разобраться в проблеме?
Ты хоть проверил передается ли кука сессии?
 

leogee

Новичок
Везде Id куки один и тот же: : a134769a0295d8a27a65377b8560fa11

Три файла:
ses.html (тут я сохраняю переменную в сессию)

<?
session_start ();

echo "ses_id: ", $_COOKIE['PHPSESSID'], "<br>";

$_SESSION ["zzz"] = "00000";

echo "<br>", rand (1, 100);
?>

И два одинаковых файла, только расширение разное:
e_ses.php и e_ses.html
<?
session_start ();

echo "ses_id: ", $_COOKIE['PHPSESSID'], "<br>";

echo $_SESSION ["zzz"];
echo "<br>", rand (1, 100);
?>

Вот в e_ses.php (php) echo $_SESSION ["zzz"]; ничего не выводит, но $_COOKIE['PHPSESSID'] выводит везде то что ниже привёл. А в e_ses.html выводит всё как надо. Т.е. как оно так по расширению файла фильтрует?

ses_id: a134769a0295d8a27a65377b8560fa11
00000
2

-~{}~ 25.09.09 16:59:

Локально, конечно, всё прекрасно работает. Но у меня PHP4, а на сервере PHP5 и получается какая-то ерунда.
 

Beavis

Banned
а если наоборот, установить переменную в php а вывести в html ?
и делай не echo $_SESSION['zzz'] а var_dump($_SESSION);
 

leogee

Новичок
Тоже не работает. Только если сохранил в файле с расширением .html то и выводит в .html, если в .php, то выводит переменные из сессии только в .php.

Конфиг php.ini:

sessionSession Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 0 0
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/www/geeru/data/bin-tmp /var/www/geeru/data/bin-tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
 

leogee

Новичок
Большое спасибо, строка разная :)

info.php
session.save_path /var/www/geeru/data/bin-tmp /var/www/geeru/data/bin-tmp

info.html
session.save_path /var/lib/php5 /var/lib/php5

И как это исправить? Видимо админы сервака что-то криво настроили :(

-~{}~ 25.09.09 18:07:

В .htaccess прописано:
AddHandler application/x-httpd-php html

Как я понял из за этого, а как тогда надо написать?
 

Фанат

oncle terrible
Команда форума
удивительна фигня.
может, пхп как Cgi выполняется?

а про server API что в инфах написано?
 

leogee

Новичок
там где .php
Server API CGI/FastCGI
там где .html
Server API Apache 2.0 Handler

Как мне сделать чтобы и .html обрабатывался как Server API CGI/FastCGI ?
 

Beavis

Banned
или посмотри в инете как сделать чтоб php обрабатывался как fast cgi или спроси у провайдера, может так вообще нельзя

-~{}~ 25.09.09 18:58:

или просто попробуй поменять session.save_path =)
 
Сверху