我完全是 Shopware 的初学者,我想使用 PhpMyAdmin 进行本地 Shopware 6 设置。
对于下载,我使用了官方 Shopware 6 开发存储库 https://github.com/shopware/development
我已经看到 docker-compose.yml 已实现以下内容:
app_mysql:
build: dev-ops/docker/containers/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: app
MYSQL_PASSWORD: app
networks:
shopware:
aliases:
- mysql
现在我想实现 phpmyadmin。我尝试了以下方法:
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- app_mysql:mysql
depends_on:
- app_mysql
ports:
- 8181:80
environment:
PMA_HOST: app_mysql
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: app
MYSQL_PASSWORD: app
phpmyadmin 在 localhost:8181 上可见,但是当我尝试登录时出现以下错误:
mysqli::real_connect(): php_network_getaddresses: getaddrinfo 失败: 名称或服务未知 mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo 失败: 名称或服务未知
如何解决?
通常
phpmyadmin
应与数据库位于同一网络中。我删除了已弃用/不需要的
links:
、aliases
、depends_on
,最终得到了这个 docker-compose.yml
。
version: '3.7'
services:
app-mysql:
#build: dev-ops/docker/containers/mysql
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: app
MYSQL_PASSWORD: app
networks:
- shopware
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- 8181:80
environment:
PMA_HOST: app-mysql
PMA_PORT: 3306
PMA_ARBITRARY: 1
networks:
- shopware
networks:
shopware
运行容器:
docker-compose up
在浏览器中打开
http://localhost:8181/index.php
。
使用
Server: app-mysql
Username: root
Password: root
享受:
您必须使用 mysql 或 app_mysql 作为主机
这不是答案,但请尝试 http://本地主机:8001/ 它不是 phpMyAdmin,但它是另一个工具
Adminer
:)
您应该使用链接 phpmyadmin 和 mysql
links:
- app_mysql:mysql
将其用作:
links:
- mysql
添加环境:
`PMA_HOST`: mysql
另外,我经常喜欢使用没有 docker 的 Adminer PHP 二进制文件。
在公共目录中运行此命令:
wget https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1.php -O adminer.php
然后转到 http://localhost:8000/adminer.php,输入您的凭据,您将有一个很好的界面来访问您的数据库。
此外,PhpStorm 等 IDE 提供了与数据库交互的内置接口。