Home >Backend Development >PHP Tutorial >Detailed explanation of the steps to set up web cluster session synchronization in PHP

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

php中世界最好的语言
php中世界最好的语言Original
2018-05-17 10:15:393644browse

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"

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
session.save_handler = memcache
session.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"

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");
....
?>

restart the web server

service httpd restart

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>

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>

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!

Statement:
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