緣由:使用負載均衡的時候,第一次請求phpMyAdmin主頁的時候web01進行處理,頁面返回的cookie存放在web01上.填寫用戶名密碼提交以後,是web02進行處理的,此時給頁面的cookie不是web01上的cookie,因此會報錯php
解決方法:將cookie都放到單獨的數據庫redis中web
具體步驟: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.confvim
3.啓動redis
[root@db01 ~]# systemctl start redis
[root@db01 ~]# systemctl enable rediscookie
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 = 1session
#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-fpmtcp
4.將web01上配置好的文件推送到web02
[root@web01 code]# scp /etc/php.ini root@172.16.1.8:/etc/php.ini
[root@web01 code]# scp /etc/php-fpm.d/www.conf root@172.16.1.8:/etc/php-fpm.d/www.conf php-fpm
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"