我正在努力将$ _SESSION数据从一个子域传递到另一个子域。
我看过这两个问题和答案:
而且它们都有效地提出了相同的解决方案(按照优先顺序):
php.ini
中,将session.cookie_domain
设置为根域。.htaccess
中使用php_value
有效地执行上述操作ini_set()
执行上述操作。通过cPanel,我已经使用MultiPHP INI编辑器实现了第一个。我在此处添加的设置如下:
session.cookie_domain ".creativecasting.tv"
我已经更新了2个子域中的.htaccess
文件,并向每个子域添加了以下行:
php_value session.cookie_domain ".creativecasting.tv"
并且在两个子域的每个页面中,我都添加了以下PHP代码:
ini_set('session.cookie_domain', '.creativecasting.tv');
因此,我觉得我已经遵循了所有建议的3个解决方案来在子域之间共享$ _SESSION数据,但是未共享$ _SESSION数据。
我已经设置了2个文件对此进行测试。
这里是第一个文件的内容,可以在这里找到:http://login.creativecasting.tv/session_test.php
echo '<h4>TESTING SESSION DATA (sending)</h4>';
trace(ini_get('session.cookie_domain'), 'session.cookie_domain');
trace('setting session data, like so: $_SESSION[\'test\'] = \'testing 123\'', '', false);
$_SESSION['test'] = 'testing 123';
trace($_SESSION, '$_SESSION');
echo '<p><a href="http://ad.creativecasting.tv/session_test2.php">go to receiver subdomain</a></p>';
这里是第二个文件的内容,可以在这里找到:http://ad.creativecasting.tv/session_test2.php
echo '<h4>TESTING SESSION DATA (receiving)</h4>';
trace(ini_get('session.cookie_domain'), 'session.cookie_domain');
trace($_SESSION, '$_SESSION');
echo '<p><a href="http://login.creativecasting.tv/session_test.php">go to sender subdomain</a></p>';
FYI,
trace()
实际上只是var_dump()的包装器]]如您所见,第二个文件没有从第一个文件中提取
$_SESSION
数据。
我如何在这两个域之间共享$ _SESSION数据?我在这里缺少什么吗?
我正在努力将$ _SESSION数据从一个子域传递到另一个子域。我查看了以下两个问题和答案:在多个子域之间共享SESSION变量https://serverfault.com / ...