PHPUnit,致命错误:Class' mysqli'未找到

时间:2013-01-21 14:30:53

标签: php mysqli phpunit

我遇到与here

相似的问题

一切都按照我的预期运作;我的代码访问数据库并打印输出,无论我是从命令行界面还是从Web浏览器运行。结果相同。如果我使用PHPUnit在Eclipse中运行它,我会收到错误:

Multiple annotations found at this line:
    - Fatal error: Class 'mysqli' not found
    - Occurrence of 'connection'

哪一点指向以下行:

此代码打印出“是”'。

$connection = new \mysqli(HOST, USER, PASS, DATABASE);

if (extension_loaded('mysqli')) {
    echo "Yes";
}
else {
    echo "No";
}

还有一点要指出的是,我在上面代码所在的类中使用了我自己的命名空间。我的单元测试位于全局命名空间中。

我已按照上述网址中的步骤操作,但是,唉,无济于事。 :(

在命令提示符下运行此命令不会出现错误:

php -r "new mysqli();"

有人可以帮我理解这个问题吗?

1 个答案:

答案 0 :(得分:0)

我不确定您是否使用正确的路径(DLL或共享对象(.so)文件)配置了php.ini文件。如果您在命令行上使用Unix / Linux,请尝试运行

$> php -i | grep mysqli

并查看是否显示正在安装的内容,或创建PHP脚本

<?php phpinfo(); ?>

运行该脚本并检查它是否正确加载。如果您确信它确实安装了,请尝试通过检查php.ini的“扩展”部分来检查您的php.ini文件是否正确加载。

检查运行PHPUnit时是否在命令行中,因为在web模式下运行时,php.ini与php.ini的路径可能不同。