在(php-fpm)docker容器中找不到mysqli
我在我的nginx web服务器使用的docker容器中运行php:7-fpm 。 除了当我试图在我的PHP代码中实例化一个mysqli连接时,一切都很好。 我收到以下错误:
"NOTICE: PHP message: PHP Fatal error: Uncaught Error: Class 'Listener\mysqli' not found in index.php:104
这里是我的Dockerfile用于构build镜像,我明确地安装了mysqli扩展:
FROM php:7-fpm RUN docker-php-ext-install mysqli
它似乎是安装在下面的phpinfo()输出。 我需要configuration或启用它?
你的问题不是你错过了mysqli扩展。
如果你正在做这样的事情:
namespace Listener; class Foo { public function bar() { $conn = new mysqli(...); } }
然后,PHP会将new mysqli()
解释为new \Listener\mysqli()
因为您当前位于\Listener
名称空间中。 要解决这个问题,你可以直接将mysqli()
锚定到根名称空间:
$conn = new \mysqli(...);