2017-05-05 37 views
4

我在我的nginx web服務器使用的碼頭集裝箱中運行php:7-fpm。除了當我試圖在我的PHP代碼中實例化一個mysqli連接時,一切都很好。我收到以下錯誤:在(php-fpm)碼頭集裝箱中找不到mysqli

"NOTICE: PHP message: PHP Fatal error: Uncaught Error: Class 'Listener\mysqli' not found in index.php:104 

這裏是我的Dockerfile爲建設形象,在這裏我明確地安裝mysqli擴展:

FROM php:7-fpm 

RUN docker-php-ext-install mysqli 

這似乎安裝下面給出的phpinfo()函數的輸出。我需要以某種方式配置或啓用它嗎?

enter image description here

回答

2

你的問題不在於你錯過mysqli擴展。

如果你正在做這樣的事情:

namespace Listener; 

class Foo 
{ 
    public function bar() { 
     $conn = new mysqli(...); 
    } 
} 

然後PHP將解釋new mysqli()new \Listener\mysqli(),因爲你在\Listener命名空間目前是。爲了解決這個問題,你可以明確地錨mysqli()到根命名空間:

$conn = new \mysqli(...); 
+0

這正是這個問題,非常感謝! – littleK