Reputation: 2092
I developed one site with session. Its works in Local server and Also in Production machine. Now they move the site to new server with SSL HTTPs . Here i face one problem .
Session set in one page but not carry over to another page. Same code works in http based server.
I tried the following methods to resolve this but not yet it solved
1) I pass the session id over url and set in another page. Here also SESSION not set.
2) I use this two lines in my php file as some one suggested in some forums
ini_set("display_errors",1); error_reporting(E_ALL);
3) I also use these lines also to resolve as some one suggested in some forums ini_set('session.cookie_domain', 'https://xxx.com');
session_set_cookie_params(ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), 'https://xxx.com');
4)In PHP.ini, follwing things under session is shown
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 1 1
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 /var/lib/php/session /var/lib/php/session
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
Following Error Message shown in server Undefined index: userid in /var/www/vhosts/xxx.com/httpdocs/HomePage.php on line 9
Still I have same problem. Please suggest me to resolve this problem
Thanks in advance
Upvotes: 0
Views: 639
Reputation: 2092
Here They give Vhost server. Vhost server doesn's store sessions. So only only i face this problem.. I use oneway to resolve this problem. Pass session as POST variable and assign the session id in each page. Now it works..
Upvotes: 0
Reputation: 48357
You've given some information about changes you've made to afect the outcome, but you've not provided any details of the diagnostics you've done to identify the problem.
Have you chacked that the browser is returning the session cookie? Have you checked that a session file exists? Does the session span http and https? If so, do the vhosts run under different uids?
<?php
print_r($_COOKIE);
if ($_COOKIE[sesion_name()]) {
$path=ini_get('session.save_path') . '/' . $_COOKIE[sesion_name()];
if (!is_readable(dirname($path)) || !is_dir(dirname($path))) {
print "bad session dir\n";
}
if (!is_readable($path) || !is_file($path)) {
print "bad session file\n";
} else if (!is_writeable($path)) {
print "permissions issue with session file\n";
}
print_r(stat($path));
print "\n\n";
print @file_get_contents($path);
} else {
print "no session cookie";
}
Upvotes: 0