0
votes

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

2
Is the data being lost when the user transfers from the http: url to the https version?I believe I've read that the switch in the url can cause the session data to be reset, and the server to see this as a new session.rmmoul
Also, I believe that switching from yoursite.com to www.yoursite.com will cause the session to be lost as well, since sessions don't carry over subdomains, and www. is a subdomain.rmmoul
Is there any way to resolve? Instead of session how to handle? Here i am not using any subdomainSuresh kumar

2 Answers

0
votes

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";
}
0
votes

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..