- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我创建了以下 docker-compose.yml 文件
web:
build: ./config/apache
volumes:
- ./code:/var/www/html
db:
build: ./config/db
ports:
- "3310:3310"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: testdatabase
MYSQL_USER: test
MYSQL_PASSWORD: test
当我将index.php添加到我的代码目录中时,我可以看到我的phpinfo(),因此它工作正常。
现在我想尝试使用 PDO 连接到我的数据库
$dsn = 'mysql:host=db;dbname=testdatabase;port=3310';
$username = 'test';
$password = 'test';
$options = [
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
];
try {
$dbh = new PDO($dsn, $username, $password, $options);
} catch (\PDOException $e) {
exit($e->getMessage());
}
这给了我一个
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
我尝试了主机
但是没有任何效果,那么连接到 Docker 化数据库的正确解决方案是什么?
我的 config/db/Dockerfile 就像 FROM mysql:latest
我的config/apache/Dockerfile是
FROM php:7-apache
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
mcrypt \
&& docker-php-ext-install -j$(nproc) iconv mcrypt pdo_mysql zip \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
COPY ./php.ini /usr/local/etc/php/
VOLUME /var/www/html
最佳答案
web:
build: ./config/apache
volumes:
- ./code:/var/www/html
links:
- db
db:
build: ./config/db
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: testdatabase
MYSQL_USER: test
MYSQL_PASSWORD: test
现在我可以使用了
$dsn = 'mysql:host=db;dbname=testdatabase';
其中 host 是链接实例中的名称
关于php - 使用composer时的pdo_mysql dsn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36498938/
检查 phpinfo() 后,我看到安装在 linux (php 5.4) 上的 mysqlnd 驱动程序只有一个 API 扩展 (pdo_mysql),但我也希望能够与 mysqli 一起工作。 如
出于某种原因,为什么我尝试使用doctrine连接到我的本地mysql数据库。我收到以下错误: Could not create database for connection named `new_
这个问题已经有答案了: Apache shows PHP code instead of executing it (28 个回答) PHP code is not being executed, b
我在使用 php-pdo-mysql.dll 时遇到 php-cgi.exe 崩溃的问题。 我正在使用 Padraic Brady 的 Zend Off The Deep End 中显示的数据映射器设
这个问题已经有答案了: PDO drivers no value in Windows (18 个回答) 已关闭 5 年前。 我刚刚在 Windows 10 上的 XAMPP 上将 PHP5.6 升级
我目前使用 Symfony3 开发一个网站。我想运行命令: php bin/console doctrine:database:create 不幸的是,我收到了这个 php 警告: PHP Warni
我有一个带有 UNIQUE 列约束的数据库,我从旧数据库中插入行,而这个约束不存在。 我想确定导致问题的行,现在这没有问题,因为它的开发数据,但是当系统投入生产时,我想要一个重复输入错误的通用处理。
我正在将我的 PHP 代码从 mysql(在 5.5 中弃用)迁移到 PDO_MySQL。但是,mysql_fetch_row 返回整数,而 PDOStatement::fetch 返回数字字符串。我
我知道 PDO 不支持在一个语句中执行多个查询。我一直在谷歌搜索,发现很少有帖子谈论 PDO_MYSQL 和 PDO_MYSQLND。 PDO_MySQL is a more dangerous ap
我确实知道 PDO 不支持在一条语句中执行多个查询。我一直在 Google 上搜索,发现很少有讨论 PDO_MYSQL 和 PDO_MYSQLND 的帖子。 PDO_MySQL is a more d
我确实知道 PDO 不支持在一条语句中执行多个查询。我一直在 Google 上搜索,发现很少有讨论 PDO_MYSQL 和 PDO_MYSQLND 的帖子。 PDO_MySQL is a more d
我确实知道 PDO 不支持在一条语句中执行多个查询。我一直在 Google 上搜索,发现很少有讨论 PDO_MYSQL 和 PDO_MYSQLND 的帖子。 PDO_MySQL is a more d
我确实知道 PDO 不支持在一条语句中执行多个查询。我一直在 Google 上搜索,发现很少有讨论 PDO_MYSQL 和 PDO_MYSQLND 的帖子。 PDO_MySQL is a more d
我的 magento 命令有问题:php shell/indexer.php reindexall Stack trace: 0 /home/taatoo/www/lib/Zend/Db/Adapte
我正在从普通的 mysql_* 迁移到 PDO(是的,我知道日历上是 2012 年)。 我正在编写一个简单的包装类,以便有机会做类似的事情 $f=$db->FetchAll("SELECT * FRO
我正在尝试在我的 CentOS 服务器上安装 pdo_mysql。我已经安装了 PDO; phpinfo() 告诉我 pdo_sqlite 处于事件状态。 所以我运行命令 pecl install p
出于某种原因,我们托管服务器上的 pdo_mysql PHP 扩展无法运行使用 MySQL View 的查询,并显示此错误消息。 SQLSTATE[HY000]: General error: 161
我的基于 drupal 的网站直到昨天都运行良好,但今天突然从哪里出现错误 Fatal error: Undefined class constant 'MYSQL_ATTR_USE_BUFFERED
我正在使用可移植 XAMPP 环境在本地(主机)Windows 系统上使用 eclipse 和 X-Debug 调试 magento 插件。而且因为它以某种方式在数据库中正确写入,但不读取/接受数据库
我知道 PDO 不支持在一个语句中执行多个查询。我一直在用 Google 搜索,发现很少有关于 PDO_MYSQL 和 PDO_MYSQLND 的帖子。 PDO_MySQL is a more dan
我是一名优秀的程序员,十分优秀!