Detailed explanation of how to implement distributed memcache in PHP to set up web cluster session synchronization

jacklove
Release: 2023-04-01 20:52:02
Original
1412 people have browsed it

This article mainly introduces the method of PHP to implement distributed memcache to set up web cluster session synchronization. It analyzes the related operation skills and precautions of PHP setting up and using memcache to achieve web cluster session synchronization in the form of examples. Friends in need can refer to it. Next

The example in this article describes how PHP implements distributed memcache to set up web cluster session synchronization.

PHP's session defaults to file storage:

session.save_handler = files
session.save_path = "/var/lib/php/session"
Copy after login

As a web cluster, when session synchronization is required, the session is stored in distributed memcache. It is a good way to achieve shared synchronization

Method:

##Type 1:

vi /etc/php.ini
Copy after login

session.save_handler = memcache
session.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"
Copy after login

Type 2:

Use the ini_set function in the php file for configuration , suitable for virtual hosts that cannot modify configuration files

<?php
....
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211");
....
?>
Copy after login

Restart the web server

service httpd restart
Copy after login

Check login.php

<?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>
Copy after login

## in phpinfo

##test

192.168.20.193 user.php in #192.168.20.194

<?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>
Copy after login

Articles you may be interested in:

Example explanation of large file cutting and merging function implemented by PHP


Example explanation of simple word grouping algorithm implemented by PHP


Complete example explanation of mongoDB database operation class implemented in PHP


The above is the detailed content of Detailed explanation of how to implement distributed memcache in PHP to set up web cluster session synchronization. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template