嘿伙计们,我正在尝试将Yii2
与mysql
上的mariadb
联系起来。
我正在使用docker而且我有这些容器
mariadb
和php-fpm
我可以使用此命令mariadb
连接到mysql -u root -p
容器内的mysql,没有任何问题。
也使用mysql workbench
我也可以通过隧道连接到mysql也没问题。
但是当我运行网站时,例如。 mysite.com/user/login,登录时出现此错误
SQLSTATE[HY000] [2002] No such file or directory
Caused by: PDOException
这是我在docker-compose文件中的mariadb
配置
mariadb:
image: bitnami/mariadb:latest
container_name: mariadb
working_dir: /bitnami/mariadb
volumes:
- ./data/mariadb:/bitnami/mariadb
environment:
- MARIADB_ROOT_PASSWORD=rootpass
- MARIADB_DATABASE=mydb
- MARIADB_USER=david
- MARIADB_PASSWORD=pass
ports:
- "8890:3306"
在我main.php
Yii2
{}} dsn
我mysql:host=ipvalueofmysite.com;port=8890;dbname=mydb
{{1}}
答案 0 :(得分:1)
就我而言,我找到了解决方案 here
基本上在 docker 中,db
服务名称成为数据库的主机名,我需要将 localhost
交换为 db
并且错误消失了。很奇怪,我知道。 :)