ホームページ > バックエンド開発 > PHPチュートリアル > memcached - PHP は memcache ストレージ セッションの問題を実装します

memcached - PHP は memcache ストレージ セッションの問題を実装します

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-08-04 09:20:44
オリジナル
907 人が閲覧しました

最初に session.save_handler = user を設定します。memcache ではないことに注意してください。

次に、カスタム クラス Session が SessionHandlerInterface インターフェイスを実装し、オブジェクトを作成し、session_set_save_handler を登録します。これにより、毎回次のようになります:

$_SESSION['aaa'] = '123';

の場合、PHP は Session->write() を呼び出します。この関数では、プレフィックスとして sess-、サフィックスとして session_id() を持つレコードを手動で memcache に挿入します (例: key = sess-4fqrbhed9f3grq4p4ssbljg867)。

この時点で非常に奇妙な問題が発生しています。 $_SESSION['aaa'] = '123'; を実行するたびに、この session_id() に対応するデータを memcache から取得できますが、$_SESSION ['aaa. '] = '123'; その後、memcache 内のデータは自動的に削除されます。

返信内容:

最初に session.save_handler = user を設定します。memcache ではないことに注意してください。

次に、カスタム クラス Session が SessionHandlerInterface インターフェイスを実装し、オブジェクトを作成し、session_set_save_handler を登録します。これにより、毎回次のようになります:

$_SESSION['aaa'] = '123';

の場合、PHP は Session->write() を呼び出します。この関数では、プレフィックスとして sess-、サフィックスとして session_id() を持つレコードを手動で memcache に挿入します (例: key = sess-4fqrbhed9f3grq4p4ssbljg867)。

この時点で非常に奇妙な問題が発生しています。 $_SESSION['aaa'] = '123'; を実行するたびに、この session_id() に対応するデータを memcache から取得できますが、$_SESSION ['aaa. '] = '123'; その後、memcache 内のデータは自動的に削除されます。

php.ini
session.save_handler = memcache
session.save_path = tcp://127.0.0.1:11211;tcp://127.0.0.1:11212;tcp://127.0.0.1:11213を変更します

SessionHandlerInterface::read() が実装されていないため、リフレッシュ後に $_SESSION が null 値に設定され、write 呼び出し後にこの null 値が書き込まれるため、解決しました。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート