没有发现dockerizedphp

问题描述 投票:0回答:5
第8行上的我的连接线是:

$db = new mysqli("$host", "$user", "$pass", "$db", "$port");
现在,这曾经在我的旧设置上正常工作,但是自从转到新的设置并安装PHP7.1.5以来,我无法运行它。现在,我还没有使用mysqlnd,所以这可能是我的误解,但是mysqlnd包括mysqli驱动程序。

phpinfo的输出:

我怎么能运行?还是我现在应该使用其他驱动程序?config mysqlnd您需要在Dockerfile中启用PHP扩展名:

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

无需触摸
php docker mysqli mysqlnd
5个回答
90
投票

我与
有类似的问题
php:7-apache

映像,默认情况下不会安装mysqli 您可以在容器

中验证这一点

$ docker exec -it <phpcontainerid> bash


15
投票

# docker-php-ext-enable mysqli
如果未安装mysqli,您将从上面的命令的输出中得知这 # docker-php-ext-install mysqli

然后我进行了这种更改,所以相同的图像
$ docker commit -p <phpcontainerid> <new or same image name>

                
这对我有用。内部PHP容器放置:

docker-php-ext-install mysqli apachectl restart

docker图像:mysql,php:7.2.30-apache


13
投票

我也有同样的问题,通过在DockerCompose下方添加以下线路来解决它。
  • RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

并重建Docker

docker-compose up --build

5
投票

确认您的MySQL版本应与Docker

的PHP版本兼容

尾: -

首先,确保在phpinfo页面中,如果没有,则应安装MySQLI的信息。


,请安装它,如果您认为将其安装在Docker中但不工作

0
投票
然后确认您的MySQL版本应与Docker的PHP版本兼容 喜欢

首先,我将这对用于Docker

php:7.4-apache&mysql:5.7(但它不起作用,并且显示错误 找不到“ mysqli”类)

我安装了

enter image description herephp:7.2-apache&mysql:5.7

它适合我

看起来您在php.ini中没有启用mysqli扩展名。 如果启用了,则应在phpinfo中查看

mysqli

部分。
    有关启用扩展程序的更多信息可以在此处找到:
  • 致命错误:class“ mysqli'找不到

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.