この記事では、Web クラスターのセッション同期を設定するために PHP で分散 memcache を実装する方法を主に紹介し、Web クラスターのセッション同期を実現するために PHP で memcache を設定および使用する際の関連操作スキルと注意事項を例の形で分析します。次へ
この記事の例では、PHP が分散 memcache を実装して Web クラスター セッションの同期を設定する方法について説明します。
PHP のセッションのデフォルトはファイル ストレージです:
session.save_handler = files session.save_path = "/var/lib/php/session"
Web クラスターとして、セッションの同期が必要な場合、セッションは分散 memcache に保存されます。これは、共有同期を実現するための良い方法です。
方法:
##タイプ 1:
vi /etc/php.ini
session.save_handler = memcache session.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"
タイプ 2:
php ファイルの ini_set 関数を使用します。 configuration 、構成ファイルを変更できない仮想ホストに適しています<?php .... ini_set("session.save_handler", "memcache"); ini_set("session.save_path", "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"); .... ?>
service httpd restart
phpinfo
##test
192.168 の login.php
<?php session_start(); $_SESSION['login_time'] = time(); $_SESSION['username'] = 'test2'; $token=session_id(); echo $token; //memache实现 $mem = new Memcache(); $mem->addServer('192.168.20.193',11211); $mem->addServer('192.168.20.194',11211); /* //memached实现 $mem = new Memcached(); $servers = array( array('192.168.20.193', 11211, 33), array('192.168.20.194', 11211, 67) ); $mem->addServers($servers); */ 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>
<?php $mem = new Memcache(); $mem->addServer('192.168.20.193',11211); $mem->addServer('192.168.20.194',11211); $token=$_GET['token'];//获取传过来的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 で実装された mongoDB データベース操作クラスの完全な例の説明
以上がWeb クラスターのセッション同期を設定するために PHP で分散 memcache を実装する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。