Avatar of feign3
feign3

asked on 

Session Vars not working after server migration

I just moved my site to a Linux VPS and am having an issue with Session variables. Session vars are not getting passed from page to page. I used the following simple test to check the setup:

FIRST PAGE:

<?php session_start();
$_SESSION['userid'] = "foo";
print "Session id is: " . session_id() . $_SESSION['userid'];
print "<a href=secondpage.php'> go to next page </a>";
?>


SECOND PAGE:

<?php session_start();
print "Welcome" . $_SESSION['userid'] . "<br />";
print "You have got to page 2 with these information stored in the session: " . $_SESSION['userid'] . " and your session is still: " ;
echo session_id();
?>

When testing this, I get a different Session ID on the second page and no 'userid' printed.
I have made several changes to my php.ini file including:

1. enabled register_globals
2. set session.save_path and confirmed the path exists and is writable

Here is my php.ini Session info:

Session Support  enabled  
Registered save handlers  files user mm  

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_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 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /home/mydomain/tmp/session_files /home/mydomain/tmp/session_files
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off

I'm not sure what else I could be missing.



PHPApache Web Server

Avatar of undefined
Last Comment
Robin Hickmott
Avatar of Trakos
Trakos

Have you checked whether session files are saved (and have proper chmods) in session.save_path ? (in your cfg it is /home/mydomain/tmp/session_files )
Avatar of feign3
feign3

ASKER

Yes, session files are being created properly. I was able to open and read both of them (one was created for each page).  I replaced my actual domain name in the text above with mydomain for privacy.
Avatar of feign3
feign3

ASKER

Found the problem.

My link to the second page was going to http://domainname.com/secondpage.php while the originating page had the www prefix to the domain. The cookie domains did not match - thus the problem.
ASKER CERTIFIED SOLUTION
Avatar of Robin Hickmott
Robin Hickmott

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
PHP
PHP

PHP is a widely-used server-side scripting language especially suited for web development, powering tens of millions of sites from Facebook to personal WordPress blogs. PHP is often paired with the MySQL relational database, but includes support for most other mainstream databases. By utilizing different Server APIs, PHP can work on many different web servers as a server-side scripting language.

125K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo