zoukankan      html  css  js  c++  java
  • 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"

  • 相关阅读:
    Spring jar包功能
    maven pom.xml详细介绍,必须留一份
    redis基本类型以及优点特性
    如何实现网站的防盗链?
    php几种常见排序算法
    批量去除文件的BOM头
    Keepalived实现双机热备
    nginx配置文件详解
    源码编译安装lnmp环境
    nginx实现https网站设置
  • 原文地址:https://www.cnblogs.com/lvhanzhi/p/10291492.html
Copyright © 2011-2022 走看看