【问题标题】:Docker, nginx, phpmyadmin bad redirect during authorizationDocker、nginx、phpmyadmin 授权期间重定向错误
【发布时间】:2020-07-20 08:50:00
【问题描述】:

输入登录名和密码时,它会将我扔到根域:

www.example.com/phpmyadmin -> www.example.com/index.php

我需要:

www.example.com/phpmyadmin -> www.example.com/phpmyadmin/index.php

我的 nginx.conf

resolver 127.0.0.11 valid=15s;

server {
  listen 80;
  server_name localhost;
  set $upstream phpmyadmin:9000;

  location ^~ /phpmyadmin {
    alias /var/www/phpmyadmin/;
    index index.php;
    location ~ \.php$ {
      try_files      $uri = 404;
      include        fastcgi_params;
      fastcgi_split_path_info ^\/phpmyadmin\/(.+\.php)(.*)$;
      fastcgi_param  SCRIPT_FILENAME $fastcgi_script_name;
      fastcgi_pass   $upstream;
    }
  }
}

docker-compose.yml

phpmyadmin:
    container_name: phpmyadmin
    depends_on:
      - mysql
    image: phpmyadmin/phpmyadmin:fpm-alpine
    environment:
      - PMA_HOST=mysql
      - MYSQL_ROOT_PASSWORD=somepass 
    volumes: 
      - phpmyadmin:/var/www/html
    networks:
      - web   

webserver:
    image: nginx:1.16.1-alpine
    container_name: webserver
    depends_on: 
      - phpmyadmin
    ports: 
      - "80:80"
      - "443:443"
    volumes:
      - phpmyadmin:/var/www/phpmyadmin
      - ./nginx-conf:/etc/nginx/conf.d
    networks: 
      - web

我在互联网上搜索了很多。这个问题出现在许多人中,许多人只是拒绝在子域上使用 phpmyadmin。或许终于有办法了?

【问题讨论】:

    标签: php docker nginx phpmyadmin


    【解决方案1】:

    在你挂载的 phpmyadmin 目录中,你应该有它的配置文件,包括 config.inc.php。 我通过在该文件末尾添加以下代码解决了这个问题:

    $cfg['PmaAbsoluteUri'] = 'http:\/\/www.example.com/phpmyadmin';
    

    理论上,使用 PMA_ABSOLUTE_URI 环境变量也可以做到这一点,但它对我不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-21
      • 2020-11-11
      • 2021-02-14
      • 2017-04-22
      • 1970-01-01
      • 2014-02-22
      • 2019-09-24
      • 2020-06-26
      相关资源
      最近更新 更多