Memcachedセッションとストアセッションを維持するためにサーバーを用意しているので、すべてのサーバーが同じセッションで問題なく処理できます。異なるサーバー上のセッション変数にアクセスできない
しかし、何とか私は、PHPセッションに関するMemcachedの可能性の意味を誤解していると思います。
私はApache 1 a.domain.com
に立ってセッションを作成できると思っていました。 $_SESSION['test'] = "This string is saved in the session"
を開き、Apache 2 b.domain.com
またはc.domain.com
に行き、セッションを続行してecho $_SESSION['test'];
と入力すると、文字列が出力されます。
私は同じセッションを共有する複数のWebサーバーを持っている場合、memcachedが素晴らしいツールになると言われました。
どうしたのですか?ところで
。 Memcachedに基づいて、サーバーの設定、PHPの使用、クラスターの構築などを記述する完全なチュートリアルや電子ブックが真剣に必要です。私のphp.iniファイルで
それは言う:
session.save_path = "192.168.100.228:11211"
チュートリアルは、プロトコルを定義していない私に言った、とIPアドレスがApache 3
に与えられている - memcachedサーバをここで
がありますsession.cookie_domain
にするphpinfoの画像()
ドメインはdomain
と呼ばれるが、それはであり、されていません。 この画像のために変更されました。
EDIT:ただ情報について
。私が単純なMemcachedベースのPHPコマンドを使用しているとき、すべてが完璧に機能します。しかし、何とかセッションを保存しようとすると、memcachedサーバーはアイテムを保存しません。
これは動作します:
<?php
$m = new Memcached();
$m->addServer('192.168.100.228', 11211);
$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));
/* expire 'object' key in 5 minutes */
$m->set('object', new stdclass, time() + 300);
var_dump($m->get('int'));
var_dump($m->get('string'));
var_dump($m->get('array'));
var_dump($m->get('object'));
?>
これは
<?php
session_start();
$_SESSION['name'] = "This is a simple string.";
?>
EDIT 2は動作しません:SOLUTION
を私はクッキーを含むキャッシュの履歴を削除した後などに気づきましたブラウザは仕事を終了しませんでした。この問題は、各サブドメインをお互いに分離させた元の個々のセッションIDにハングアップするという事実のために継続されました。
ここで定義されている内容はすべて正しいです。あなたが求めたときにブラウザがCookieをリセットしていることを確認してください。 >。 <
ニースグラフィックス..... :) – Baba
おかげ..イラストレーター – Dimser
で:) 5分はあなたが完全な情報にあなたを追加することができますhave in session.save_path' – Baba