0

i Amazon Web サーバー EC2 インスタンスの ISPConfig に 2 つのドメイン/サイトをセットアップしました。

app.example.comという名前のドメインがあり、もう一方はhttps://www.example.comです。 両方のドメインが ISpConfig3 で設定されています。そのため、どちらも個別の webroot ファイルとコード ファイルを持っています。app.example.com にいくつかのセッション変数を設定しましたが、https://www.example.comには静的コンテンツしかありません。しかし、場合によっては、app.example.com からトップ ドメインhttps://www.example.comへのセッション変数にアクセスする必要があります。

http://app.example.comで設定してみました

ini_set('session.cookie_domain', '.example.com' );

session_start();

$_SESSION['user_name']= "my_session";

そしてhttps://www.example.com$_SESSION['user_name']にアクセスします

print_r($_SESSION['user_name']);

しかし、何も機能していないようです。これを機能させるにはどうすればよいですか?

4

2 に答える 2

1

@Alan Gularte の最初のコメントは、非常によく返信されていると思います。うまくいかない場合は、自分で Cookie を作成して情報をやり取りすることを検討してください。

setcookie ("PassMySessionName", $_SESSION['user_name'], time() - 3600, "/", "example.com");

Cookie ドメインを「example.com」に設定すると、www. とアプリ。

反対側では、$_COOKIE 配列にあります。

$PassedUserName=$_COOKIE["PassMySessionName"];

Cookie を有効にせずにすべてを機能させる必要がある場合は、$_SESSION が透過的に URL にパラメーターを追加して機能するため、はるかに複雑になります。その場合 (あるサイトから別のサイトにリンクする場合)、手動で URL に追加できます。

于 2012-12-07T12:04:34.910 に答える
0

少し訂正させていただきたいのですが、

悪い:setcookie ("PassMySessionName", $_SESSION['user_name'], time() - 3600, "/", "example.com");

正しい:setcookie ("PassMySessionName", $_SESSION['user_name'], time() + 3600, "/", "example.com");

于 2014-12-16T11:58:01.160 に答える