ホームページ > バックエンド開発 > PHPチュートリアル > Web クラスターのセッション同期を設定するために PHP で分散 memcache を実装する方法の詳細な説明

Web クラスターのセッション同期を設定するために PHP で分散 memcache を実装する方法の詳細な説明

jacklove
リリース: 2023-04-01 20:52:02
オリジナル
1454 人が閲覧しました

この記事では、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

vi /etc/php.ini

ログイン後にコピー

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 サーバーを再起動します

1

service httpd restart

ログイン後にコピー

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[&#39;login_time&#39;] = time();

$_SESSION[&#39;username&#39;] = &#39;test2&#39;;

$token=session_id();

echo $token;

//memache实现

$mem = new Memcache();

$mem->addServer(&#39;192.168.20.193&#39;,11211);

$mem->addServer(&#39;192.168.20.194&#39;,11211);

/*

//memached实现

$mem = new Memcached();

$servers = array(

 array(&#39;192.168.20.193&#39;, 11211, 33),

 array(&#39;192.168.20.194&#39;, 11211, 67)

);

$mem->addServers($servers);

*/

echo &#39;<hr>&#39;;

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(&#39;192.168.20.193&#39;,11211);

$mem->addServer(&#39;192.168.20.194&#39;,11211);

$token=$_GET[&#39;token&#39;];//获取传过来的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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート