Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.

Posted 吕涵之的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.相关的知识,希望对你有一定的参考价值。

原因:使用负载均衡的时候,第一次请求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 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

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"

 

以上是关于Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.的主要内容,如果未能解决你的问题,请参考以下文章

Failed to initialize storage module: user 的解决方式

Installation failed with message Failed to finalize session: INSTALL_FAILED_TEST_ONLY:installPackage

Failed to start session after upgrade to 14.04

ubuntu 启动时提示 Failed to load session ubuntu

Failed to read session data On PHP 7.2

Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method ‘sqlSessionFact(