无法使用docker-compose与mysql和php 7连接到数据库

杰里米·基尔坎(JeremyKirkham)

我从php 7.0.1-apache容器连接到链接的mysql容器时遇到问题。

PHP容器Dockerfile:

FROM php:7.0.1-apache

# Initialize html and php.ini
COPY src/ /var/www/html/
COPY config/php.ini /usr/local/etc/php/

# Update modules.
RUN apt-get update

docker-compose.yml:

web:
  build: .
  ports:
   - "80:80"
  links:
   - "db"
  volumes:
   - "./src/:/var/www/html/"

db:
  image: "mysql"
  ports:
   - "3306:3306"
  environment:
   - "MYSQL_ROOT_PASSWORD=somepword"

index.php:

<?php
$servername = "127.0.0.1";
$username = "root";
$password = "somepword";
$db = "test_db";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";

错误日志:

PHP Fatal error:  Uncaught Error: Class 'mysqli' not found in /var/www/html/index.php:8\nStack trace:\n#0 {main}\n  thrown in /var/www/html/index.php on line 8

我不确定我要去哪里,基本上我的PHP容器中似乎没有正确配置mysql。有什么建议?

阿明·布劳恩

是的,正如您所说,您的安装程序不包含Mysqli扩展名,因此您需要手动安装。

像这样将MySQLi的安装添加到您的Dockerfile中,您应该会很好:

FROM php:7.0.1-apache

RUN apt-get update && apt-get install -y mysql-client libmysqlclient-dev \ 
      && docker-php-ext-install mysqli
    # Initialize html and php.ini
COPY src/ /var/www/html/
COPY config/php.ini /usr/local/etc/php/

最后也会丢失apt-get更新。如果有的话,您可能需要运行apt-get update && apt-get upgrade以实际更新模块。老实说,您不应该这样做。这将导致您的Dockerfile在几周内无法生成相同的构建,这仅仅是因为依赖项已发生变化,这是对Docker观点的挑战,不是吗?:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法连接到MySQL数据库-PHP

来自分类Dev

无法使用PHP连接到数据库

来自分类Dev

无法使用MySQLConnection连接到MySQL数据库

来自分类Dev

无法连接到在AWS上运行的MySQL数据库

来自分类Dev

PHP-无法连接到远程MySQL数据库

来自分类Dev

无法连接到远程MySQL数据库

来自分类Dev

无法连接到数据库-MySQL

来自分类Dev

错误:无法连接到MySQL数据库

来自分类Dev

无法连接到MySQL:未知数据库'logindb'

来自分类Dev

从docker容器连接到mysql数据库

来自分类Dev

使用MySQLWorkbench无法连接到(远程)MySQL数据库

来自分类Dev

从Django应用docker连接到本地mysql数据库

来自分类Dev

无法连接到Docker容器中的MySQL数据库

来自分类Dev

无法连接到Windows上的MySQL数据库

来自分类Dev

无法在docker-compose(php和MariaDB)中连接到数据库服务器

来自分类Dev

无法连接到Android KivyMD上的mysql数据库

来自分类Dev

无法使用PHP连接到数据库

来自分类Dev

我想简单地创建一个使用zendframework2连接到mysql数据库的对象

来自分类Dev

使用php连接到特定的数据库(xampp / mysql)

来自分类Dev

如何使用PHP MySQL连接到新数据库

来自分类Dev

无法使用Java从VM连接到mysql数据库

来自分类Dev

无法连接到数据库-MySQL

来自分类Dev

无法使用Cron作业连接到MySQL数据库

来自分类Dev

从docker容器连接到mysql数据库

来自分类Dev

使用MySQLWorkbench无法连接到(远程)MySQL数据库

来自分类Dev

无法使用pdo连接到php数据库

来自分类Dev

使用 SQL 和 PHP 连接到数据库

来自分类Dev

在 Docker Compose 中连接到数据库的问题

来自分类Dev

无法在docker中使用mysql连接到数据库sonarqube

Related 相关文章

热门标签

归档