我试图停靠我的网站。我已经得到了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的输出:第一节第一节第一节第一节第一次
我怎样才能让它运行?或者我现在应该使用不同的驱动程序?
6条答案
按热度按时间gzszwxb41#
您需要在您的Dockerfile中启用php扩展名:
不需要触摸
php.ini
。s8vozzvw2#
我也有类似问题
php:7-apacheimage,默认情况下不会安装mysqli
您可以在容器内验证这一点
在码头集装箱码头
如果没有安装mysqli,您将从上述命令的输出中了解到这一点
然后我提交了此更改,因此相同的图像
tjvv9vkg3#
对我有用:
PHP容器内部:
https://github.com/docker-library/php/issues/391
lrl1mhuk4#
看起来您没有在php.ini中启用MysclI扩展。如果启用了MysclI扩展,您应该会在phpinfo中看到
mysqli
部分。有关启用扩展的详细信息,请访问:Fatal error: Class 'MySQLi' not found
2sbarzqh5#
确认您的MySQL版本应与Docker的PHP版本兼容
首先,确保在phpinfo页面你应该有mysqli安装信息,如果没有那么... x1c 0d1x
否则,安装它,如果你认为你安装了它在docker,但不工作
然后确认您的MySQL版本应该与Docker的PHP版本兼容
起初我用这双做 Docker
之后我安装了
*php:7.2-apache和mysql:5.7和它对我来说工作得很好
hk8txs486#
我也有同样的问题,通过添加下面的行到dockercompose修复它
第一个月
重建 Docker
docker-compose up --build