lit*_*leK 5 php docker docker-compose fpm
我在我的 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
Run Code Online (Sandbox Code Playgroud)
这是我用于构建映像的 Dockerfile,我在其中显式安装了 mysqli 扩展:
FROM php:7-fpm
RUN docker-php-ext-install mysqli
Run Code Online (Sandbox Code Playgroud)
鉴于下面的 phpinfo() 输出,它似乎已安装。我需要以某种方式配置或启用它吗?
您的问题不是缺少 mysqli 扩展。
如果你正在做这样的事情:
namespace Listener;
class Foo
{
public function bar() {
$conn = new mysqli(...);
}
}
Run Code Online (Sandbox Code Playgroud)
然后 PHP 将解释new mysqli()为new \Listener\mysqli()因为您当前位于\Listener名称空间中。要解决此问题,您可以显式锚定mysqli()到根命名空间:
$conn = new \mysqli(...);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3866 次 |
| 最近记录: |