phpunit - PhpStorm: "Run with coverage"结果为 "Cannot load Xdebug - extension already loaded"

标签 phpunit phpstorm

我刚刚将我的 PhpStorm 项目从 PHPUnit 4.x 升级到 PHPUnit 5.x。运行我的单元测试工作正常。

为了让“覆盖率运行”工作,我必须编辑我的运行/调试配置并将 --whitelist=/path/to/whitelisted/dir 添加到 Test Runner 选项。现在,当我选择“Run with coverage”时会生成覆盖,但我收到此 Xdebug 警告。

Testing started at 12:06 PM ...
/usr/local/opt/php56/bin/php -dzend_extension=/usr/local/opt/php56-
xdebug/xdebug.so -dxdebug.coverage_enable=1 
/Users/bwood/code/php/WpsConsole/vendor/phpunit/phpunit/phpunit --
whitelist=/Users/bwood/code/php/WpsConsole/src --coverage-clover /Users/bwood/Library/Caches/PhpStorm2017.3/coverage/WpsConsole$NEW.coverage --no-configuration /Users/bwood/code/php/WpsConsole/tests/UnitTests --teamcity

Cannot load Xdebug - extension already loaded
PHPUnit 5.7.27 by Sebastian Bergmann and contributors.

我认为问题在于正在调用 php

-dzend_extension=/usr/local/opt/php56-xdebug/xdebug.so

但我不知道在哪里可以删除该选项。我正在测试控制台应用程序,因此没有网络服务器配置。

最佳答案

我有两个不同的问题导致了同样的情况。 (我的说已经加载了两次)。

首先是 PHPStorm 中的上述调试器扩展字段。我修好了,但仍然有问题。

然后我跑了:

>php --ini

Cannot load Xdebug - it was already loaded
Configuration File (php.ini) Path: /usr/local/etc/php/7.2
Loaded Configuration File:         /usr/local/etc/php/7.2/php.ini
Scan for additional .ini files in: /usr/local/etc/php/7.2/conf.d
Additional .ini files parsed:      /usr/local/etc/php/7.2/conf.d/ext-opcache.ini

因为所有这些文件都在同一个基本目录中,所以我去了/usr/local/etc/php

$:/usr/local/etc/$ grep -r 'xdebug' .
./php/7.2/php.ini:zend_extension="xdebug.so"
./php/7.2/php.ini:zend_extension="xdebug.so"

这表明问题出在我的 php.ini 文件中。出于某种原因,我把它放在了我的 php.ini 文件的顶部。

zend_extension="xdebug.so"
zend_extension="xdebug.so"
[PHP]

我删除了其中一行,警告消失了!

关于phpunit - PhpStorm: "Run with coverage"结果为 "Cannot load Xdebug - extension already loaded",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49392449/

相关文章:

PHPUnit 配置文件和 auto_prepend_file

intellij-idea - IntelliJ IDEA 查找匹配的括号/括号

PhpStorm 启动时崩溃

wamp - 如何使用 PhpStorm 在本地 WAMP 服务器上编辑和调试源代码?

PhpStorm 如何刷新文件夹内容或整个项目树

PHP simplexml_load_file 案例返回 false

PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount any,什么时候用?

css - LESSC 将包含的文件编译成 CSS

php - Travis CI 和 Symfony2 集成 .travis.yml 问题

unit-testing - 仅当在 Symfony 2.8 中进行单元测试时,服务类中的 Twig_Environment 才会导致 DIC RuntimeExtension