Solo quiero hacer phpunit --coverage para mi proyecto primero, recibí este error:

PHPUnit 9.5.0 by Sebastian Bergmann and contributors.

Warning:       No code coverage driver available

Solo reviso mi php para asegurarme de tener xdebug a través de php -v

PHP 8.0.0 (cli) (built: Nov 30 2020 13:51:52) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
with Zend OPcache v8.0.0, Copyright (c), by Zend Technologies

Parece que no lo tengo, entonces lo instalo a través de pecl install xdebug Homebrew. Recibí este error al final de la instalación:

........

Build process completed successfully
Installing '/usr/local/Cellar/php/8.0.0_1/pecl/20200930/xdebug.so'

Warning: mkdir(): File exists in System.php on line 294

Warning: mkdir(): File exists in /usr/local/Cellar/php/8.0.0_1/share/php/pear/System.php on line 294
ERROR: failed to mkdir /usr/local/Cellar/php/8.0.0_1/pecl/20200930
0
ams 21 ene. 2021 a las 22:55

1 respuesta

La mejor respuesta

Puede depurar este problema paso a paso comenzando a verificar qué hay dentro de la carpeta /usr/local/Cellar/php/8.0.0_1 en ejecución

$ cd /usr/local/Cellar/php/8.0.0_1
$ la -la

Tiendo a decir que ya existe un enlace simbólico pecl, por lo que pecl no puede crear una carpeta allí.

Entonces debería comprobar dónde está instalado pecl ejecutando which pecl que idealmente le da /usr/local/bin/pecl que debería apuntar a algún lugar /usr/local/Cellar/php/8.0.0_1/bin/pecl.

Si ese es el caso, puede eliminar el enlace simbólico /usr/local/Cellar/php/8.0.0_1/pecl con

$ rm /usr/local/Cellar/php/8.0.0_1/pecl

E intente reinstalar xdebug.

Ahora solucionando el image not found problema

Esto proviene de una configuración incorrecta durante la instalación de xdebug.

Primero, verifique cuál es la ruta a su archivo php.ini ejecutando ˋphp —-iniˋ. Luego abra el archivo y verifique la Primera línea si su extensión xdebug está cargada. Si es así, retírelo allí. Luego agregue un archivo xdebug.conf en la carpeta conf.d y agregue lo siguiente:

;XDebug
zend_extension="/usr/local/Cellar/php/8.0.0/pecl/CHANGEME/xdebug.so"
xdebug.remote_autostart=1
xdebug.remote_port=9000
xdebug.remote_enable=1
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/tmp"

Compruebe que tiene la ruta correcta a su archivo xdebug.so y que existe el directorio de salida.

1
codedge 21 ene. 2021 a las 23:02