MySQLi没有finddockerized的PHP

我试图dockerize我的网站。 我有Nginx和PHP启动和运行,它的工作发现除了我不能连接到数据库。 当页面加载时,我得到的错误:

Fatal error: Uncaught Error: Class 'MySQLi' not found in /private/conn.php:8 Stack trace: #0 /public_html/index.php(2): require() #1 {main} thrown in /private/conn.php on line 8 

我在第8行的连接线是:

 $db = new mysqli("$host", "$user", "$pass", "$db", "$port"); 

现在,这用于我的旧设置工作正常,但自从搬到一个新的和安装php7.1.5我不能得到它运行。 现在,我还没有使用mysqlnd,所以这可能是我的一个误解,但mysqlnd包括mysqli驱动程序。

phpinfo的输出: 配置 mysqlnd

我怎样才能得到这个运行? 或者我现在应该使用不同的驱动程序?

您需要在Dockerfile中启用php扩展:

 FROM php:7 RUN docker-php-ext-install mysqli 

没有必要去触摸php.ini

看起来你没有在php.ini中启用MysqlI扩展。 如果启用,您应该在phpinfo中看到一段mysqli

有关启用扩展的更多信息可以在这里find: 致命错误:未find类'MySQLi'