躓いた症状
NetBeansでデバッグができると、var_dumpで毎回チェックするよりも数段作業効率が上がるという情報を得て、自分もそれに挑戦してみた。
しかし、ブレークポイントで処理が止まらない。
普通のRUNと同じになってしまう。
ローカルのサーバー環境として、MAMP PROを使用している。
PHP > Default versionの横にある「Open template...」ボタンから編集できるphp.iniへの追記も大丈夫だと思うのだが。。。
Apacheの再起動も何度もかけたが、症状は変わらない。
考察・確認
<?php phpinfo() ?>
でPHPインフォを見てみる。
xdebugに関する項目が、ない!
ということは、php.iniの設定がうまくいってないのか。。。
対処
MAMP のphp.iniをもう一度見直す。
自分の場合、下記のような表記でブレークポイントが正常に止まるようになった。
[xdebug]
MAMP_Xdebug_MAMP
zend_extension="/Applications/MAMP/bin/php/php7.4.9/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.remote_connect_back = 1
xdebug.remote_handler="dbgp"
xdebug.idekey="netbeans-xdebug"
※不要な設定もあるかもしれないが、そこは詳しく検証していません。
さいごに
今回、正直なところ、php.iniの設定は、かなり惜しいところまで行っていた。
自分の場合、何が原因だったのかというと、1行目と次の行の間に
MAMP_Xdebug_MAMPzend_extension="/Applications/MAMP/bin/php/php7.4.9/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so"
のように、改行を入れていなかったこと。
MAMP PRO のphp.iniには、この記述は初めから設定済みなのだが、なぜか改行されていない。
これを改行することで、phpインフォにxdebugに関する一覧が追加された。
そして実際にNetBeansでトライしたら、ブレークポイントで止まるようになった。
半日かかってしまった。。。が、前進したのでいいだろう。
今後同じ設定をするときにはここに立ち戻りたい。
同じような症状で悩まれている方、ぜひお試しください^^