使用php8在MacOS上安装xdebug时出错

我只想先phpunit --coverage为我的项目做我得到这个错误:

PHPUnit 9.5.0 by Sebastian Bergmann and contributors.

Warning:       No code coverage driver available

我只是检查我的 php 以确保我有 xdebug 通过 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

似乎我没有它然后我只是通过pecl install xdebugHomebrew安装它我在安装结束时遇到了这个错误:

........

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

回答

您可以通过开始检查/usr/local/Cellar/php/8.0.0_1正在运行的文件夹中的内容来逐步调试此问题

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

我倾向于说pecl已经存在一个符号链接,这就是为什么pecl不能在那里创建文件夹。

然后,您应该pecl通过运行which peclwhich 理想地为您提供/usr/local/bin/pecl哪个应该指向某处来检查安装位置/usr/local/Cellar/php/8.0.0_1/bin/pecl

如果是这种情况,您可以删除/usr/local/Cellar/php/8.0.0_1/pecl符号链接

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

并尝试重新安装xdebug。

现在解决image not found问题

这来自于 xdebug 安装期间的错误配置。

首先,php.ini通过运行 ?php —-ini?检查文件的路径。然后打开文件并检查第一行是否加载了您的 xdebug 扩展。如果是,请将其删除。然后在conf.d文件夹中添加一个文件 xdebug.conf并添加以下内容:

;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"

请检查您的 xdebug.so 文件的路径是否正确以及输出目录是否存在。


以上是使用php8在MacOS上安装xdebug时出错的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>