关于一个登录引发的session域配置的问题

我的本地有两个项目:


A , B


A掌管登录,进入B需要经过A判断是否登录


碰到问题B登录之后还是告知无法登录,打印$_SESSION发现A和B的内容不同,查看cookie里面PHPSESSID的Domain居然是项目C的,


于是去查看本地服务器里面的php.ini文件,注意如果本地有多个php,需要确定正在使用的是哪个php.ini,可以使用phpinfo()来查看:


PHP Version 5.4.17


System Linux junjie 3.8.0-27-generic #40-Ubuntu SMP Tue Jul 9 00:17:05 UTC 2013 x86_64
Build Date Aug 12 2013 13:50:56
Configure Command './configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--disable-cgi' '--enable-magic-quotes' '--disable-ipv6' '--with-openssl' '--with-zlib' '--with-bz2' '--enable-calendar' '--with-curl' '--enable-exif' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--enable-gd-native-ttf' '--with-freetype-dir' '--enable-mbstring' '--with-mysql=/usr/local/mysql' '--with-pdo-mysql=/usr/local/mysql' '--with-pdo-odbc=unixODBC,/usr/local/unixODBC' '--without-pdo-sqlite' '--without-sqlite' '--without-sqlite3' '--enable-soap' '--enable-zip' '--with-pear'
Server API Apache 2.0 Handler
Virtual Directory Support disabled
Configuration File (php.ini) Path /usr/local/lib
Loaded Configuration File /usr/local/lib/php.ini

可以查看到目前apache正在使用的php.ini文件是哪一个。


打开php.ini,找到:


session.cookie_domain = 


发现此时什么都没有设置,那么我们应该把它设置为如下样子:


session.cookie_domain = ".mysite.com"


然后保存重启apache,在刷新页面发现PHPSESSID的domain都统一为mysite.com,这时就可以正确访问session了


你可能感兴趣的:(关于一个登录引发的session域配置的问题)