MAMP ProでXdebug設定してもコマンドラインで有効にならないときの対処法


MAMP ProでXdebugを有効にしてもコマンドラインだと有効にならなくて「おや?」ってなってしまうことがあります(というか毎回バージョンアッアップする度になってます^^;

なんでこんなことになるかというと、MAMP ProはWebアクセス時にはデフォルトとは異なるphp.iniを読みこんでいるから。

なのでphpinfoを見たときに上記のようだったらシンボリックリンクはってあげれば解決します。

まず既にあるphp.iniをリネーム

$ mv /Applications/MAMP/bin/php/php7.2.20/conf/php.ini /Applications/MAMP/bin/php/php7.2.20/conf/php.ini_190809

次にシンボリックリンク作成

$ ln -s /Library/Application Support/appsolute/MAMP PRO/conf/php7.2.20.ini /Applications/MAMP/bin/php/php7.2.20/conf/php.ini

これで解決。

ちなみにmacOSにインストールされてるPHPを使わずにMAMP ProのPHPを使うために direnv 使ってます。

参考 direnvを使おう - Qiita

direnv edit . で下記を.envrcに記述しておけば、macOSのPHPよりMAMPのPHPが優先します。

PATH_add /Applications/MAMP/bin/php/php7.2.20/bin/

案件によってPHP5.2、7.1, 7.2, 7.3とかってあるので、direnvはだいぶ助かってます^^;