我有一个 laravel 项目,我试图运行phpunit
给我一份覆盖率报告。我运行了命令vendor/bin/phpunit --coverage-html storage/test-output-data/coverage-html
,它给出了输出:
PHPUnit 8.5.8 by Sebastian Bergmann and contributors.
Error: No code coverage driver is available
我试图通过执行来解决这种情况sudo pecl install pcov
,但是运行 phpunit 仍然给出了上面相同的错误。
我注意到我有文件/usr/lib/php/20170718/pcov.so
。所以我将该行添加extension=/usr/lib/php/20170718/pcov.so
到我的/etc/php/7.4/cli/php.ini
文件中。但是当我输入时php -v
,我得到了这个错误:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20170718/pcov.so' (tried: /usr/lib/php/20170718/pcov.so (/usr/lib/php/20170718/pcov.so: undefined symbol: _zval_ptr_dtor), /usr/lib/php/20190902//usr/lib/php/20170718/pcov.so.so (/usr/lib/php/20190902//usr/lib/php/20170718/pcov.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.4.11 (cli) (built: Oct 10 2020 19:44:50) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.11, Copyright (c), by Zend Technologies
我也有一个名为的文件夹,/usr/lib/php/20190902
但它没有pcov.so
文件。
我也试过做 a sudo pecl install xdebug
,但我遇到了与上面类似的错误,其中 phpunit 说没有驱动程序并且键入php -v
说一些全局变量丢失,类似于 pcov 问题。
我究竟做错了什么?