使用 php 在 Mac OS 上安装 xdebug 时出错 8
Error to Install xdebug on Mac OS with php 8
我只想先为我的项目做 phpunit --coverage
我收到了这个错误:
PHPUnit 9.5.0 by Sebastian Bergmann and contributors.
Warning: No code coverage driver available
我只是检查我的 php 以确保我通过 php -v
安装了 xdebug
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 xdebug
Homebrew 安装它 我在安装结束时遇到了这个错误:
........
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 pecl
理想情况下你 /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 文件路径是否正确以及输出目录是否存在。
我刚刚删除了符号链接 rm /opt/homebrew/Cellar/php/8.0.8_1
,然后又重新安装了 mongodb sudo pecl install mongodb
但是我在加载 mongodb.so
时仍然收到 PHP 警告,所以我编辑 php.ini 文件如下:
extension="/opt/homebrew/Cellar/php/8.0.8_1/pecl/20200930/mongodb.so"
我只想先为我的项目做 phpunit --coverage
我收到了这个错误:
PHPUnit 9.5.0 by Sebastian Bergmann and contributors.
Warning: No code coverage driver available
我只是检查我的 php 以确保我通过 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 xdebug
Homebrew 安装它 我在安装结束时遇到了这个错误:
........
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 pecl
理想情况下你 /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 文件路径是否正确以及输出目录是否存在。
我刚刚删除了符号链接 rm /opt/homebrew/Cellar/php/8.0.8_1
,然后又重新安装了 mongodb sudo pecl install mongodb
但是我在加载 mongodb.so
时仍然收到 PHP 警告,所以我编辑 php.ini 文件如下:
extension="/opt/homebrew/Cellar/php/8.0.8_1/pecl/20200930/mongodb.so"