У меня проблема с session_start()
. Он создает новый сеанс при каждом обновлении/загрузке страницы.session_start() создает новую сессию при каждом обновлении
вот код:
<?php
$bob = session_id();
echo "Session ID on load is ".$bob;
echo "<br>";
if($bob==""){
session_start();
$bob = session_id();
echo ' session ID currently is '.$bob;
}
// a bunch more stuff
, когда я загрузить страницу, я получаю следующее:
Session ID на нагрузке идентификатор сеанса в настоящее время ed320bc5e24c871c9db8ea30e6796c14 (или вариант)
если обновить страницу, я получаю:
ID сессии при загрузке ID сессии в настоящее время fb d69d01d511a7be382799dca7279a86 (или вариант)
идентификатор сеанса всегда пробел перед session_start()
называется, и это всегда новый session_id()
Он делает это во всех браузерах, и я проверил, чтобы убедиться, что куки включены.
путь сохранения сеанса указан как /tmp
. Я точно не знаю, где это, но просматривая свой корень и все остальные каталоги, я не могу найти файл сеанса (предполагая, что он будет выглядеть примерно как sess_fbd69d01d511a7be382799dca7279a86).
Итак, я думаю, что есть что-то, что происходит с дорогой сохранения, но я слишком новичок в этом, чтобы точно знать, и администраторы сервера не имеют ничего общего. Какими должны быть следующие мои шаги по диагностике проблемы? Сервер работает 5.3.22.
phpinfo является here
Спасибо за любую помощь.
ps вы можете посетить pcm.pcmxa.com, чтобы увидеть проблему самостоятельно, если хотите.
Это можно увидеть, если/tmp не существует, и если php не имеет права на запись в/tmp. Возможно, вам потребуется создать папку самостоятельно или попросить вашего хоста сделать это. – Gavin
'ini_set ('display_errors', 'on'); error_reporting (-1); 'и вы должны увидеть некоторые предупреждения, которые могут помочь. –
@ dev-null-dweller правильный код. – bwoebi