簡體   English   中英

通過php的docker mysql連接

[英]docker mysql connection via php

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

謝謝

您的錯誤消息表明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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM