1. 程式人生 > >php session存入redis

php session存入redis

ice local ons o-c php5 hat phpredis 需要 path

一、 安裝phpredis擴展
php連接redis需要安裝phpredis擴展。
下載地址:https://github.com/phpredis/phpredis/releases,選用相應版本。
筆者用的是php5.6.29,下載了phpredis-3.0.0安裝出了問題,於是換成phpredis-2.2.8,正常。

# tar zxvf phpredis-2.2.8.tar.gz && cd phpredis-2.2.8
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install

正常情況下會提示在下面目錄下生成redis.so文件
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

# sed -i ‘$aextension="redis.so"‘ /usr/local/php/etc/php.ini
# service httpd restart

驗證:
# php -i | grep redis | grep -xq redis && echo ok || echo "phpredis extended failure"

二、 配置php連接redis(筆者使用的阿裏雲redis)
# sed -i ‘s/session.save_handler.*/session.save_handler = redis/‘ /usr/local/php/etc/php.ini
# sed -i ‘/session.save_handler/asession.save_path ="tcp://xxxx.rds.aliyuncs.com?auth=redis密碼"‘ /usr/local/php/etc/php.ini
# service httpd restart

三、 驗證session存儲
1. 測試文件
# cat test.php

<?php
echo "what are you doing now?";
session_start();
$_SESSION[‘a‘] = ‘elisun‘;
?>

2. 訪問
# curl -I http://127.0.0.1/test.php
HTTP/1.1 200 OK
Date: Fri, 20 Jan 2017 08:50:38 GMT
Server: Apache
Set-Cookie: PHPSESSID=tgt25hi24qfjs2f289941g8pm0; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Type: text/html; charset=UTF-8
3. 連接redis查看該key
> get "PHPREDIS_SESSION:tgt25hi24qfjs2f289941g8pm0"
"a|s:6:\"elisun\";"

?

php session存入redis