Detailed explanation of the steps to set up web cluster session synchronization in PHP

php中世界最好的语言
Release: 2023-03-26 08:04:01
Original
3534 people have browsed it

This time I will bring you a detailed explanation of the steps for setting up web cluster session synchronization in PHP. What are the precautions for setting up web cluster session synchronization in PHP? The following is a practical case, let’s take a look. one time.

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, it is a good way to store the session in distributed memcache 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 the configuration file

<?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

View phpinfo

Test

login.php in 192.168.20.193

<?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

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
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

Detailed explanation of PHP mongoDB database operation steps

PHP closure practical case usage analysis

php Chinese website learning topic: php session (including pictures, texts, videos, cases)

The above is the detailed content of Detailed explanation of the steps to set up web cluster session synchronization in PHP. 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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!