[编辑已解决]
好的问题解决了! 对于debian用户,您需要编辑带有默认配置的/etc/php5/apache2/conf.d/suhoshin.ini,如下所示: suhosin.session.cryptua = on suhosin.session.cryptdocroot = on 只需将这两个选项关闭即可 suhosin.session.cryptua =关闭 suhosin.session.cryptdocroot = off 重启你的apache服务器[结束编辑]
我在同一台服务器上有2个应用程序:app1.domain.ltd app2.domain.ltd,/ home / www / app1和/ home / www / app2。 app1 / index.php:
<?php
ini_set('session.cookie_domain', '.domain.ltd');
session_name('mysession');
session_start();
if (!isset($_SESSION['data'])) $_SESSION['data'] = time();
echo session_id();
var_dump($_SESSION);
?>
APP2 / index.php的
<?php
ini_set('session.cookie_domain', '.domain.ltd');
session_name('mysession');
session_start();
echo session_id(); //same id as app1
var_dump($_SESSION); //session is empty
?>
我首先调用app1 / index.php(多次调用会在会话中保持相同的数据),然后当我调用app2 / index.php时,即使我回到app1 / index.php,我的会话也是空的用新时间重新生成数据......
PHP Version 5.3.3-7 + squeeze14 Apache Version Apache / 2.2.16(Debian)
会话设置 - &gt; http://img211.imageshack.us/img211/1748/sessioninfoya3.png
想知道是什么导致这种情况,我累吗? O_O 任何帮助将不胜感激。
btw:我正在使用此代码进行调试,并打印除会话内容之外的所有相同信息:
echo '<pre>';
echo '------ACTIVE SESSION :---------<br>';
echo 'SESSION SAVE PATH : '.session_save_path().'<br>';
echo 'COOKIE PARAMS : ';
var_dump(session_get_cookie_params());
echo 'SESSION NAME : '.session_name().'<br>';
echo 'SESSION SSID : '.session_id() .'<br>';
var_dump($_SESSION);
echo '----------- END ---------<br><hr>';
echo '</pre>';
答案 0 :(得分:0)
更改session_name('my_session');不同的