docker mysql连接通过php

时间:2016-07-27 23:30:42

标签: php mysql pdo docker

我在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

由于

1 个答案:

答案 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