当前位置: 首页 > 知识库问答 >
问题:

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

吕成业
2023-03-14

我有一个类似的问题,在这里描述:

一切都按照我的预期工作;我的代码访问数据库并打印输出,不管我是从命令行界面还是从网络浏览器运行。同样的结果。如果我用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";
}

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

我已经按照上面的URL中的步骤,但是,唉,没有用。:(

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

php -r "new mysqli();"

有人能帮我理解这里的问题吗?

共有1个答案

袁俊弼
2023-03-14

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

$> php -i | grep mysqli

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

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

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

 类似资料:
  • 我正在努力将mysql_results替换为mysqli。有人能帮忙吗。我所需要的只是在下面的代码中更正'mysqli_result($result,'0','theurl')'。当所有东西都使用mysql函数编写时,它就起作用了。但是在我将所有内容转换为mysqli之后,mysql_results转换似乎不起作用了。 当它工作时:echo(mysql_num_rows($query)!==0)?

  • 问题内容: 我正在做一个教程,并收到此错误: 致命错误:在第8行上找不到类“ MySQLi”(LONG URL) 第8行的代码是: 我在网上看到有人说要在我的phpinfo()中将其打开,但是“ mysqli”下面没有列出任何内容。 另外,我正在运行PHP版本5.2.5 问题答案: 听起来您只需要安装MySQLi即可。 如果您认为自己已完成此操作,但仍然遇到问题,请发布您的操作系统以及可能有助于进

  • 我正在玩PHP 7和phpUnit 6。这是我写的测试: 当我尝试运行此测试时,收到以下错误消息: 我用composer安装了PHPUnit,这是我的composer。json文件内容: 根据phpunit6文档,您的测试现在应该扩展PHPUnit\Framework\TestCase而不是PHPUnit\u Framework\u TestCase。 我知道这不是自动加载的问题。实际上,如果我用

  • 我收到了以下错误消息: 致命错误:未捕获错误:在F:\projects\websites\main\u website\app\Exceptions\Handler中找不到类“Auth”。php:65堆栈跟踪:#0 F:\projects\websites\main\u website\vendor\laravel\framework\src\illighted\Foundation\Http\K

  • 我尝试一个简单的Web服务示例,我得到这个错误,即使我取消注释在文件: 致命错误:在C:\Program Files(x86)\EasyPHP-5.3.9\第2行的www\server.php中找不到类'SoapClient'

  • 问题内容: 我有一个问题,我在Linux服务器上安装了“ Archive_Zip 0.1.1”,但是当我尝试运行脚本来创建zip文件时,却出现了致命错误 致命错误:在…中找不到类 我把代码放在哪里 但找不到类文件。 请告诉我解决方案。我该怎么办才能解决问题?我也将文件放到脚本所在的文件夹中,但是不起作用。 问题答案: 对于要显示的类,PHP需要安装zip扩展名。 有关安装说明,请参见此页面(Lin