Docker问题使用PHP连接到MySQL
我从docker开始,希望使用PDO驱动程序连接到我的数据库。 但不幸的是,我的页面上出现了一个错误,我不知道如何解决它。 你能帮我吗 这是我的错误: 致命错误:未捕获的PDO异常:PDO::_uuu构造(): php_网络_getaddresses:getaddrinfo失败:没有关联的地址 使用主机名 这是我的index.php:Docker问题使用PHP连接到MySQL,php,mysql,docker,pdo,Php,Mysql,Docker,Pdo,我从docker开始,希望使用PDO驱动程序连接到我的数据库。 但不幸的是,我的页面上出现了一个错误,我不知道如何解决它。 你能帮我吗 这是我的错误: 致命错误:未捕获的PDO异常:PDO::_uuu构造(): php_网络_getaddresses:getaddrinfo失败:没有关联的地址 使用主机名 这是我的index.php: <?php $db = new PDO('mysql:host=db:3306;dbname:DockerProject', "root", "ro
<?php
$db = new PDO('mysql:host=db:3306;dbname:DockerProject', "root", "root");
?>
这是我的docker-compose.yaml:
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: DockerProject
MYSQL_USER: devuser
MYSQL_PASSWORD: devpass
ports:
- "3306:3306"
web:
image: php_pdo:latest
container_name: php_web
depends_on:
- db
volumes:
- ./php/:/var/www/html/
ports:
- "8100:80"
stdin_open: true
tty: true
myadmin:
image: phpmyadmin/phpmyadmin
ports:
- "8080:80"
links:
- db:db
定义为
如果需要明确定义端口,请使用:
$db = new PDO('mysql:host=db;port=3306;dbname=DockerProject', "root", "root");
另外,不确定为什么
dbname:DockerProject
可以正常工作,因为正确的语法是dbname=DockerProject
port
在dsn字符串中是一个单独的选项代码>
$db = new PDO('mysql:host=db;dbname=DockerProject', "root", "root");
$db = new PDO('mysql:host=db;port=3306;dbname=DockerProject', "root", "root");