php session redis 配置
生活随笔
收集整理的這篇文章主要介紹了
php session redis 配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
相信很多人用過redis存放session,可能有些人還不是很清楚,這里說一下如何配置php的session存放在redis里面?然后如何測試出效果?
具體環境:
一臺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,內容如下:
<?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中默認存本地的方式。這樣更復雜繁瑣。相信大家會選擇上面比較簡單的方式。
具體環境:
一臺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擴展
點擊(此處)折疊或打開
more index.php
點擊(此處)折疊或打開
如上圖說明安裝成功,這里版本號和redis本身的版本號不同,大家可以忽略。
3、然后修改php.conf文件,可能很多人會疑問不是修改php.ini文件嗎?一會下面我會說。
點擊(此處)折疊或打開
點擊(此處)折疊或打開
點擊(此處)折疊或打開
我個人理解的意思是:加了tcp表示tcp協議,如果沒有加則表示通過http協議。如果不對請勿噴~~
保存退出后重新啟動httpd服務
4、寫一個測試頁面test.php,內容如下:
點擊(此處)折疊或打開
';
';
';
';
';
在redis里面查看是否有這個session
redis中的session值和瀏覽器訪問的值一樣,說明成功。
這里我說一下為什么我直接修改的php.conf文件,而不是php.ini文件
如果你兩個都配置了,它們的優先級比較高的是php.conf文件。所以說如果你想配置php.ini文件,你還需要注釋掉php.conf中默認存本地的方式。這樣更復雜繁瑣。相信大家會選擇上面比較簡單的方式。
總結
以上是生活随笔為你收集整理的php session redis 配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET 进程和线程
- 下一篇: php 下 html5 XHR2 + F