php7 mongodb驱动程序ObjectId未找到



我遵循mongodb/mongodb -php-library官方存储库上的说明

$ pecl install mongodb
$ echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:s*||"`

但是当我尝试用phpunit在这个构造函数上执行测试时:

    use MongoDBBSONObjectID;
    (...)
    /**
     * X constructor.
     *
     * @param ObjectID|null $id
     */
    public function __construct(ObjectID $id = null)
    {
        if (!$id) {
            $id = new ObjectID();
        }
        $this->id = $id;
    }
    (...)

i got this error

1) testsXXXTest::testBeConstructed
Error: Class 'MongoDBBSONObjectID' not found
<标题>编辑

如果我用这一行代码创建一个测试文件:

<?php
echo new MongoDBBSONObjectID();

,然后用

执行
php test.php
显示了

:

581ddc9c6fb3720352664f11
<标题>第二个编辑

根据注释中的建议,我将一些调试行放在我的phpunit测试的第一行:

var_dump(extension_loaded('mongodb'));
echo phpversion().PHP_EOL;
print_r(get_loaded_extensions());

下面是输出

bool(true)
7.0.8-0ubuntu0.16.04.3
Array
(
    [0] => Core
    [1] => date
    [2] => libxml
    [3] => openssl
    [4] => pcre
    [5] => zlib
    [6] => filter
    [7] => hash
    [8] => pcntl
    [9] => Reflection
    [10] => SPL
    [11] => session
    [12] => standard
    [13] => phpdbg
    [14] => mysqlnd
    [15] => PDO
    [16] => xml
    [17] => bcmath
    [18] => calendar
    [19] => ctype
    [20] => curl
    [21] => dom
    [22] => mbstring
    [23] => fileinfo
    [24] => ftp
    [25] => gd
    [26] => gettext
    [27] => iconv
    [28] => intl
    [29] => json
    [30] => exif
    [31] => mcrypt
    [32] => mysqli
    [33] => pdo_mysql
    [34] => Phar
    [35] => posix
    [36] => readline
    [37] => shmop
    [38] => SimpleXML
    [39] => sockets
    [40] => sysvmsg
    [41] => sysvsem
    [42] => sysvshm
    [43] => tokenizer
    [44] => wddx
    [45] => xmlreader
    [46] => xmlwriter
    [47] => xsl
    [48] => Zend OPcache
)
PHPUnit 5.6.2 by Sebastian Bergmann and contributors.

我正在使用以下命令运行phpunit

phpdbg -qrr /root/.composer/vendor/bin/phpunit

为什么phpunit不识别mongodb ext?

我错过了什么?

感谢

注意:如果你想知道为什么imroot是因为它在docker容器中

这是一个真正的新手问题,我安装phpdbg后,我编译和安装mongodb扩展,所以phpdbg安装mongodb扩展没有加载。

最新更新