php session redis 配置
相信很多人用過資料庫,Memcache以及檔案儲存SESSION,那麼Rdis可以儲存SESSION嗎?答案是肯定的。
具體環境:
一臺apache+php的伺服器(yum安裝remi源及配置 httpd-2.2.15 php-5.4.45)
一臺redis伺服器(yum安裝remi源及配置 redis-3.2.6)
保證apache伺服器可以訪問redis伺服器的6379埠
具體步驟:
1、在apache+php伺服器上安裝redis擴充套件
點選(此處)摺疊或開啟
yum install php-pecl-redis
2、測試php是否安裝擴充套件成功
more index.php
點選(此處)摺疊或開啟
php
phpinfo()
?>
瀏覽器訪問如下:
如上圖說明安裝成功,這裡版本號和redis本身的版本號不同,大家可以忽略。
3、然後修改php.conf檔案,可能很多人會疑問不是修改php.ini檔案嗎?一會下面我會說。
點選(此處)摺疊或開啟
more /etc/httpd/conf.d/php.conf
將如下兩行:
點選(此處)摺疊或開啟
php_value session.save_handler "files"
php_value session.save_path "/var/lib/php/session"
修改為如下內容
點選(此處)摺疊或開啟
php_value session.save_handler "redis"
php_value session.save_path "tcp://192.168.9.131:6379"
這裡有一些文章裡面加了tcp,有的沒有加,本人測試過加或者不加session都可以存放在redis裡面。
我個人理解的意思是:加了tcp表示tcp協議,如果沒有加則表示通過http協議。如果不對請勿噴~~
儲存退出後重新啟動httpd服務
4、寫一個測試頁面test.php,內容如下:
點選(此處)摺疊或開啟
header("Content-type:text/html;charset=utf-8");
session_start();//這個很重要
$_SESSION['test_session']= @array('name' =>'fanqie' , 'ccc'=>'hello redis ');
$redis = new redis();
$redis->connect('192.168.9.131', 6379);
echo 'sessionid>>>>>>> PHPREDIS_SESSION:' . session_id();
echo '';
echo '';
//redis用session_id作為key並且是以string的形式儲存
echo '通過php用redis獲取>>>>>>>'.$redis->get('PHPREDIS_SESSION:' . session_id());
echo '';
echo '';
echo '通過php用session獲取>>>>>>>';
echo '';
var_dump($_SESSION['test_session']);
echo '';
5、測試,通過瀏覽器訪問
在redis裡面檢視是否有這個session
redis中的session值和瀏覽器訪問的值一樣,說明成功。
這裡我說一下為什麼我直接修改的php.conf檔案,而不是php.ini檔案
如果你兩個都配置了,它們的優先順序比較高的是php.conf檔案。所以說如果你想配置php.ini檔案,你還需要註釋掉php.conf中預設存本地的方式。這樣更復雜繁瑣。相信大家會選擇上面比較簡單的方式。
更多前沿PHP技術請搜尋千鋒PHP,做真實的自己,用良心作教育
相關文章
- laravel session 與 php session配置LaravelSessionPHP
- PHP session 儲存方式 file 改為 RedisPHPSessionRedis
- 將php的session存放到redis裡面PHPSessionRedis
- 解決php的session無法儲存到redisPHPSessionRedis
- Spring Boot redis分散式session快速配置Spring BootRedis分散式Session
- Session分散式共享 = Session + Redis + NginxSession分散式RedisNginx
- PHP DIY 系列------框架篇:7. 使用 Redis 加速 Session 讀寫PHP框架RedisSession
- 筆記:MAC使用brew配置nginx、php、mysql、php-fpm、redis筆記MacNginxPHPMySqlRedis
- PHP Session的用法PHPSession
- PHP session的使用PHPSession
- 把 session 存在 redis 裡SessionRedis
- 關於 Swoft 2.0 版本用 Redis 儲存 session 時配置問題RedisSession
- 手把手教你配置php的redis擴充套件PHPRedis套件
- PHP 的 SESSION 機制PHPSession
- php完全銷燬sessionPHPSession
- php跨域共享sessionPHP跨域Session
- spring-session-data-redisSpringSessionRedis
- 配置session——快取Session快取
- 如何運用PHP+REDIS解決負載均衡後的session共享問題PHPRedis負載Session
- PHP使用redisPHPRedis
- PHP-redisPHPRedis
- Session會話管理(PHP,Apacha)Session會話PHP
- php實現SESSION跨域PHPSession跨域
- 通過redis實現session共享RedisSession
- 配置RedisRedis
- 【redis】redis的bind配置Redis
- 配置session——資料庫Session資料庫
- PHP的session,session檔案,及其過期的問題PHPSession
- redis php 用例RedisPHP
- spring-session-data-redis共享方案SpringSessionRedis
- Springsession+redis實現session共享SpringGseSessionRedis
- PHP中Session和Cookie的探究PHPSessionCookie
- php關於session的問題PHPSession
- redis之 Redis持久化配置Redis持久化
- 【redis】centOS安裝配置redisRedisCentOS
- 許可權處理 - 用redis實現分散式session~ (cookie && session )Redis分散式SessionCookie
- Redis分散式Session和普通的cookie session有什麼區別?Redis分散式SessionCookie
- redis常用配置Redis