You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8 Sail环境下PhpMyAdmin仅显示logo无法登录求助

Laravel 8 Sail PhpMyAdmin仅显示Logo无登录表单问题

问题现象

容器运行状态正常,但访问PhpMyAdmin(端口8080)时,页面仅显示PhpMyAdmin的Logo,无法加载出登录表单。

当前docker-compose.yaml配置

# For more information: https://laravel.com/docs/sail
version: "3"
services:
  laravel.test:
    build:
      context: ./vendor/laravel/sail/runtimes/7.4
      dockerfile: Dockerfile
      args:
        WWWGROUP: "${WWWGROUP}"
    image: sail-7.4/app
    extra_hosts:
      - "host.docker.internal:host-gateway"
    ports:
      - "${APP_PORT:-80}:80"
      - "${VITE_PORT:-5173}:${VITE_PORT:-5173}"
    environment:
      WWWUSER: "${WWWUSER}"
      LARAVEL_SAIL: 1
      XDEBUG_MODE: "${SAIL_XDEBUG_MODE:-off}"
      XDEBUG_CONFIG: "${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}"
    volumes:
      - ".:/var/www/html"
    networks:
      - sail
    depends_on:
      - mysql
  mysql:
    image: "mysql/mysql-server:8.0"
    ports:
      - "${FORWARD_DB_PORT:-3306}:3306"
    environment:
      MYSQL_ROOT_PASSWORD: "${DB_PASSWORD}"
      MYSQL_ROOT_HOST: "%"
      MYSQL_DATABASE: "${DB_DATABASE}"
      MYSQL_USER: "${DB_USERNAME}"
      MYSQL_PASSWORD: "${DB_PASSWORD}"
      MYSQL_ALLOW_EMPTY_PASSWORD: 1
    volumes:
      - "sail-mysql:/var/lib/mysql"
      - "./vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh"
    networks:
      - sail
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
      retries: 3
      timeout: 5s
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    links:
      - mysql:mysql
    ports:
      - 8080:80
    environment:
      MYSQL_USERNAME: "${DB_USERNAME}"
      MYSQL_ROOT_PASSWORD: "${DB_PASSWORD}"
      PMA_HOST: mysql
    networks:
      - sail
    depends_on:
      - mysql
networks:
  sail:
    driver: bridge
volumes:
  sail-mysql:
    driver: local

排查与解决步骤

  • 强制刷新浏览器缓存:使用Ctrl+F5(Windows/Linux)或Cmd+Shift+R(Mac)强制刷新页面,排除浏览器缓存导致的静态资源加载异常。
  • 查看PhpMyAdmin容器日志:执行命令sail logs phpmyadmin,检查是否存在资源加载失败、数据库连接超时或权限错误等日志信息。
  • 修正PhpMyAdmin环境变量:PhpMyAdmin官方推荐使用PMA_前缀的环境变量,调整配置如下:
    phpmyadmin:
      image: phpmyadmin/phpmyadmin
      links:
        - mysql:mysql
      ports:
        - 8080:80
      environment:
        PMA_USER: "${DB_USERNAME}"
        PMA_PASSWORD: "${DB_PASSWORD}"
        PMA_ROOT_PASSWORD: "${DB_PASSWORD}"
        PMA_HOST: mysql
        PMA_ARBITRARY: 1 # 允许连接任意数据库主机
      networks:
        - sail
      depends_on:
        - mysql
    
  • 彻底重启容器:执行sail down -v && sail up -d,清除旧容器、卷缓存后重新启动所有服务。
  • 验证数据库连通性:进入PhpMyAdmin容器执行ping mysql,确认容器能正常解析并访问MySQL服务。

内容的提问来源于stack exchange,提问作者Jorge Edo. Hernandez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:01:01