首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过php连接docker mysql

通过php连接docker mysql
EN

Stack Overflow用户
提问于 2016-07-28 07:30:42
回答 1查看 1.2K关注 0票数 0

我在docker-compose.yml中有以下设置

代码语言:javascript
运行
复制
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中输入什么,

以下代码不起作用

代码语言:javascript
运行
复制
<?php
$db = new PDO('mysql:host=localhost;dbname=project;charset=utf8mb4', 'project', 'secret');

上面写着

代码语言:javascript
运行
复制
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

谢谢

EN

Stack Overflow用户

发布于 2016-07-28 07:38:13

您的错误消息表明Mysql驱动程序不可用。

在Ubuntu/Debian中,您可以使用以下命令检查包:

代码语言:javascript
运行
复制
dpkg --get-selections | grep php5-mysql

如果您没有php5-mysql包,请安装它。

在Ubuntu/Debian中,您可以使用:

代码语言:javascript
运行
复制
sudo apt-get install php5-mysql

添加该模块后,请确保将mysql端口映射到主机中的任何端口,例如

代码语言:javascript
运行
复制
mysql:
 image: mysql:latest
 ports:
  - "3306:3306"
...

在此之后,您可以使用mysql:host=localhost:3306

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38624796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档