我正在尝试将我的网站 docker 。我已经启动并运行了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的输出:
我如何才能运行它?还是我现在应该使用其他驱动程序?
最佳答案
您需要在Dockerfile中启用php扩展名:
FROM php:7
RUN docker-php-ext-install mysqli
无需触摸
php.ini
。关于php - 找不到MySQLi dockerized php,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46879196/