この記事では、Web クラスターのセッション同期を設定するために PHP で分散 memcache を実装する方法を主に紹介し、Web クラスターのセッション同期を実現するために PHP で memcache を設定および使用する際の関連操作スキルと注意事項を例の形で分析します。次へ
この記事の例では、PHP が分散 memcache を実装して Web クラスター セッションの同期を設定する方法について説明します。
PHP のセッションのデフォルトはファイル ストレージです:
1 2 | session.save_handler = files
session.save_path = "/var/lib/php/session"
|
ログイン後にコピー
Web クラスターとして、セッションの同期が必要な場合、セッションは分散 memcache に保存されます。これは、共有同期を実現するための良い方法です。
方法:
##タイプ 1:
1 2 | session.save_handler = memcache
session.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"
|
ログイン後にコピー
タイプ 2:
php ファイルの ini_set 関数を使用します。 configuration 、構成ファイルを変更できない仮想ホストに適しています
1 2 3 4 5 6 | <?php
....
ini_set ( "session.save_handler" , "memcache" );
ini_set ( "session.save_path" , "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211" );
....
?>
|
ログイン後にコピー
Web サーバーを再起動します
phpinfo
##test
192.168 の login.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php
session_start();
$_SESSION ['login_time'] = time();
$_SESSION ['username'] = 'test2';
$token =session_id();
echo $token ;
$mem = new Memcache();
$mem ->addServer('192.168.20.193',11211);
$mem ->addServer('192.168.20.194',11211);
echo '<hr>';
print_r( $mem ->get( $token ));
?>
<p>
<a href= "http://192.168.20.194/user.php?token=<?php echo $token;?>" rel= "external nofollow" target= "_balnk" >跳转到194网站的个人中心</a>
</p>
|
ログイン後にコピー
## を確認します。 20.193 user.php (#192.168.20.194)
1 2 3 4 5 6 7 8 9 10 | <?php
$mem = new Memcache();
$mem ->addServer('192.168.20.193',11211);
$mem ->addServer('192.168.20.194',11211);
$token = $_GET ['token'];
print_r( $mem ->get( $token ));
?>
<p>
<a href= "http://192.168.20.193/user.php?token=<?php echo $token;?>" rel= "external nofollow" target= "_balnk" >返回193网站的个人中心</a>
</p>
|
ログイン後にコピー
興味があるかもしれない記事:
PHP で実装された大規模ファイルのカットとマージ機能の例の説明
#PHP で実装された簡単な単語グループ化アルゴリズムの例の説明
# PHP で実装された mongoDB データベース操作クラスの完全な例の説明
##
以上がWeb クラスターのセッション同期を設定するために PHP で分散 memcache を実装する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。