PHP Sessions suddenly not working
Posted
by
styrken
on Server Fault
See other posts from Server Fault
or by styrken
Published on 2012-12-16T18:08:31Z
Indexed on
2012/12/16
23:06 UTC
Read the original article
Hit count: 271
Out of no where my php sessions does not work anymore. The server have been running fine for several months.
I'am running Ubuntu 11.10 (GNU/Linux 3.0.0-14-server x86_64)
with nginx/1.0.11
and php 5.3.19-1~dotdeb.0
Session info copied from phpinfo()
Session Support enabled
Registered save handlers files user memcached
Registered serializer handlers php php_binary wddx
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn Off Off
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 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 0 0
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies On On
session.use_trans_sid 0 0
I have setup the following php script to test with:
error_reporting(E_ALL);
ini_set('display_errors', true);
error_log($_SERVER['REMOTE_ADDR'] . ' visited test page');
if(session_start())
echo "Session started <br />";
else
echo "Session failed <br />";
echo '<a href="?', time(), '">refresh</a>', "\n";
echo '<pre>';
echo 'session id: ', session_id(), "\n";
$sessionfile = ini_get('session.save_path') . '/' . 'sess_'.session_id();
echo 'session file: ', $sessionfile, ' ';
if ( file_exists($sessionfile) ) {
echo 'size: ', filesize($sessionfile), "\n";
echo '# ', file_get_contents($sessionfile), ' #';
}
else {
echo ' does not exist';
}
echo PHP_EOL;
$_SESSION['number'] = (int) @$_SESSION['number'] + 1;
var_dump($_SESSION);
echo "</pre>\n";
session_write_close();
echo 'done.';
It tells me that the session file exists, but my session id changes on each refresh..
What is going wrong? There is no output to any error logs at all.. :/
Please help!
© Server Fault or respective owner