事象
phpのデバッグ用のXdebugをMacにHomebrew経由でインストールすると以下のメッセージで失敗する。
pecl install xdebug
(インストールのログ)
Build process completed successfully
Installing '/usr/local/Cellar/php/8.1.13/pecl/20210902/xdebug.so'
Warning: mkdir(): File exists in System.php on line 294
PHP Warning: mkdir(): File exists in /usr/local/Cellar/php/8.1.13/share/php/pear/System.php on line 294
Warning: mkdir(): File exists in /usr/local/Cellar/php/8.1.13/share/php/pear/System.php on line 294
ERROR: failed to mkdir /usr/local/Cellar/php/8.1.13/pecl/20210902
Xdebugがインストールされていない↓
$ php -v
PHP 8.1.13 (cli) (built: Nov 24 2022 16:11:31) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.13, Copyright (c) Zend Technologies
with Zend OPcache v8.1.13, Copyright (c), by Zend Technologies
Xdebug:v3系
PHP:v8系(homebrew経由でインストール)
原因
「/usr/local/Celler/php/8.1.13/pecl」は「/usr/local/lib/php/pecl」へのシンボリックリンク。「mkdir /usr/local/Cellar/php/8.1.13/pecl/20210902」で「/usr/local/lib/php/pecl」配下にフォルダを作成しようとしているが、「/usr/local/lib/php/pecl」が存在しないため。
解決
手動で「/usr/local/lib/php/pecl」を作成後、再度インストールを実施する。
mkdir /usr/local/lib/php/pecl
pecl install xdebug
$ php -v
PHP 8.1.13 (cli) (built: Nov 24 2022 16:11:31) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.13, Copyright (c) Zend Technologies
with Xdebug v3.2.1, Copyright (c) 2002-2023, by Derick Rethans
with Zend OPcache v8.1.13, Copyright (c), by Zend Technologies
参考
Installing Xdebug on PHP 8.1 installed with Homebrew
An article by Rob Allen
コメント