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
相关产品推荐
相关产品推荐

