我在docker-compose.yml中有以下设置
mysql:
image: mysql:latest
ports:
- "3306"
volumes:
- /var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: project
MYSQL_USER: project
MYSQL_PASSWORD: project
在我的index.php中,我想连接到我的数据库容器,但是,我不确定在host = localhost中键入什么,
以下代码无效
<?php
$db = new PDO('mysql:host=localhost;dbname=project;charset=utf8mb4', 'project', 'secret');
它说
Fatal error: Uncaught PDOException: could not find driver in /code/index.php:2 Stack trace: #0 /code/index.php(2): PDO->__construct('mysql:host=loca...', 'project', 'secret') #1 {main} thrown in /code/index.php on line 2
由于
答案 0 :(得分:1)
您的错误消息表明Mysql驱动程序不可用。
在Ubuntu / Debian中,您检查包裹:
dpkg --get-selections | grep php5-mysql
如果没有,请安装php5-mysql软件包。
在Ubuntu / Debian中你可以使用:
sudo apt-get install php5-mysql
添加该模块后,请务必将mysql端口映射到主机中的任何端口,例如
mysql:
image: mysql:latest
ports:
- "3306:3306"
...
之后,您可以使用mysql:host=localhost:3306