原因:使用負載均衡的時候,第一次請求phpMyAdmin主頁的時候web01進行處理,頁面返回的cookie存放在web01上.填寫用戶名密碼提交之後,是web02進行處理的,此時給頁面的cookie不是web01上的cookie,所以會報錯 解決方法:將cookie都放到單獨的資料庫redis中 ...
原因:使用負載均衡的時候,第一次請求phpMyAdmin主頁的時候web01進行處理,頁面返回的cookie存放在web01上.填寫用戶名密碼提交之後,是web02進行處理的,此時給頁面的cookie不是web01上的cookie,所以會報錯
解決方法:將cookie都放到單獨的資料庫redis中
具體步驟:
1.安裝redis記憶體資料庫
[root@db01 ~]# yum install redis -y
2.配置redis監聽在172.16.1.0網段上
[root@db01 ~]# sed -i '/^bind/c bind 127.0.0.1 172.16.1.51' /etc/redis.conf
3.啟動redis
[root@db01 ~]# systemctl start redis
[root@db01 ~]# systemctl enable redis
4.php配置session連接redis
#1.修改/etc/php.ini文件
[root@web ~]# vim /etc/php.ini
session.save_handler = redis
session.save_path = "tcp://172.16.1.51:6379"
;session.save_path = "tcp://172.16.1.51:6379?auth=123" #如果redis存在密碼,則使用該方式
session.auto_start = 1
#2.註釋php-fpm.d/www.conf裡面的兩條內容,否則session內容會一直寫入/var/lib/php/session目錄中
;php_value[session.save_handler] = files
;php_value[session.save_path] = /var/lib/php/session
3.重啟php-fpm
[root@web01 code]# systemctl restart php-fpm
4.將web01上配置好的文件推送到web02
[root@web01 code]# scp /etc/php.ini [email protected]:/etc/php.ini
[root@web01 code]# scp /etc/php-fpm.d/www.conf [email protected]:/etc/php-fpm.d/www.conf
5.上web02上重啟php-fpm
[root@web02 code]# systemctl restart php-fpm
6.redis查看數據
[root@db01 ~]# redis-cli
127.0.0.1:6379> keys *
1) "PHPREDIS_SESSION:89f1fc340e4680f46e503df129d9ef67"