PHP Xdebugインストール

事象

 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

コメント

タイトルとURLをコピーしました