我刚刚将我的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
但我无法弄清楚我可以删除该选项的位置。我正在测试一个控制台应用程序,因此没有Web服务器配置。
答案 0 :(得分:2)
我有两个不同的问题导致了同样的情况。 (我的话说已经装了两次)。
第一个是上述PHPStorm中的调试器扩展字段。我解决了这个问题,但仍然有问题。
所以我跑了:
<script type="text/javascript" src="runtime.js"></script>
<script type="text/javascript" src="polyfills.js">
</script>
<script type="text/javascript" src="scripts.js">
</script>
<script type="text/javascript" src="vendor.js">
</script><script type="text/javascript" src="main.js"></script>
由于所有这些文件都在同一基本目录中,因此我进入了/ usr / local / etc / php
>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
这表明问题出在我的php.ini文件中。出于某种原因,我将其放在php.ini文件的顶部。
$:/usr/local/etc/$ grep -r 'xdebug' .
./php/7.2/php.ini:zend_extension="xdebug.so"
./php/7.2/php.ini:zend_extension="xdebug.so"
我删除了其中一行,警告消失了!
答案 1 :(得分:1)