我遵循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扩展没有加载。