Home  >  Article  >  Backend Development  >  Three configuration methods for using memcache to store sessions in PHP_PHP Tutorial

Three configuration methods for using memcache to store sessions in PHP_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 10:34:36854browse

Let’s briefly talk about one of the SESSION synchronization solutions in the distributed deployment of PHP projects, using Memcache to store SESSION. And summarized three configuration methods, friends in need can refer to it

1. Directly modify the php.ini configuration file

The code is as follows:

session.save_handler = memcache //Set the session storage method to memcache

memcache.hash_strategy = "consistent"//Set the hash algorithm of memcache

session.save_path = "tcp://127.0.0.100:11211" //Set the location where the session is stored. Multiple memcaches are separated by commas, for example: tcp://127.0.0.1:11211,tcp:// 127.0.0.1:12000

2. Use the .htaccess file configuration in the directory

The code is as follows:

php_value session.save_handler "memcache"

php_value session.save_path "tcp://127.0.0.1:11211"

Note: This is only for Apache. Currently, many people use Nginx, and this method is not recommended.

3. Modify the configuration in the project’s PHP file

Copy the code. The code is as follows: ini_set("session.save_handler", "memcache");

ini_set("session.save_path", "tcp://127.0.0.100:11211");

4. Test example

The code is as follows:

//Test whether session reading is normal

session_start();

$_SESSION['username'] = "jb51.net";

echo session_id();

//Read session from Memcache

$m = new Memcache();

$m->connect('localhost', 11211);

//Or like this

//$mem->addServer("127.0.0.1", 11211) or die ("Can't add Memcache server 127.0.0.1:12000");

//Get data based on session_id

//This machine

//$session = $m->get(session_id()); //session_id: d527b6f983bd5e941f9fff318a31206b

//Another server, known session id

$session = $m->get("d527b6f983bd5e941f9fff318a31206b");

echo $session."
"; //You will get such data: username|s:16:"pandao";, you can get the corresponding value after parsing it

echo session_id()."
";

exit;

The above are just some simple explanations. In fact, to digress, generally speaking, if you want to do distributed work, you must have server permissions, so the first method is recommended.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/750260.htmlTechArticleThe following briefly talks about one of the SESSION synchronization solutions in the distributed deployment of PHP projects, using Memcache for storage SESSION. And summarized three configuration methods, friends in need can refer to it...
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