0

[解決済みの編集]

問題は解決しました。Debianユーザーの場合、次のようなデフォルト設定が付属している/etc/php5/apache2/conf.d/suhoshin.iniを編集する必要があります:suhosin.session.cryptua = on suhosin.session.cryptdocroot=onこれら2つのオプションをオフにするだけですsuhosin.session.cryptua=オフsuhosin.session.cryptdocroot=オフapacheサーバーを再起動します

[編集終了]

同じサーバー上にapp1.domain.ltdapp2.domain.ltd、/ home / www / app1、/ home / www/app2の2つのアプリケーションがあります。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バージョン5.3.3-7+squeeze14ApacheバージョンApache/2.2.16(Debian)

セッション設定-> http://img211.imageshack.us/img211/1748/sessioninfoya3.png

何がこれを引き起こすのか疑問に思っています、私は疲れていますか?o_O助けていただければ幸いです。

ところで:私はデバッグにこのコードを使用していて、セッションコンテンツを除いてすべて同じ情報を出力します:

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>';
4

1 に答える 1