# 経緯
二日前まで動いていたXdebugがバグりました。
もともと動いていたと思っていたものがMAMPのphpじゃなくてMac本体のPHPに対してだったのかもしれません。
最近いつもと違うフレームワークのphpを動かすためにmac本体のphpバージョンを上げたので、それが原因の一つかも。
私の環境
MAC OS X :BigSur
チップ: Apple M1
PhpStorm 2021.3.3
MAMP 6.4
Xdebug 2.98
バーチャルホストを使用して
http://vhost1.local.com/
http://vhost2.local.com/
http://vhost3.local.com/
というURLでそれぞれ別のフォルダをローカルのドキュメントルートに設定している。
Apacheの方で動かしてます。
設定 php.ini
php.ini でコメントアウトしているところはXdebugのバージョン3以降の設定専用のためバージョン2有効にしてはいけない。
2系と3系では全く違うので注意。
Xdebugのバージョンはphp.iniを見る。この記事のはじめに貼った写真のような項目に書いてある。
バーチャルホストを使っていても、php.iniには書くのはlocalhostと書かなければいけない。
なんでかわからないけど一旦localhostで受けてからそれぞれのvhostへ転送しているイメージ?
xdebug.remote_host=localhost
pwd
/Applications/MAMP/bin/php/php7.4.16/conf
[OPcache]
;zend_extension="/Applications/MAMP/bin/php/php7.4.16/lib/php/extensions/no-debug-non-zts-20190902/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
[xdebug]
zend_extension="/Applications/MAMP/bin/php/php7.4.16/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so"
;xdebug.remote_enable=1
;xdebug.remote_autostart=1
;xdebug.remote_connect_back=1
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9003
xdebug.remote_autostart = On
xdebug.mode=debug
xdebug.remote_log=/Applications/MAMP/bin/php/php7.4.16/conf
設定 PHPStorm
メニュー -> Preference -> PHP -> デバッグ
デバッグポートを上で指定したポートだけにする。
デフォルトだと9000,9003とかになってたりするけど片方消さないと失敗したりする。
設定 PHPSTORM サーバー
メニュー -> Preference -> PHP -> サーバー
名前 => たぶんなんでも良さそう。
ホスト => バーチャルホストのドメイン部分
下の写真のURLにアクセスする場合、
vhost1.local.com
になる。
ということは、バーチャルホストを追加するたびにここは書き足す必要があるらしい。
設定 PHPSTORM 実行構成
IDEキーでデバッグ接続をフィルターする => オフにしておく。
なんの機能かわからない。解説サイトによっては付けたりするが、私はこれつけると壊れた。
MAMPじゃ無い時につかうやつかも?
起動状態
再生マークの右隣の亀だか虫だかっぽいアイコンを押すと光るけど、光らせているとXdebugが動かないので写真のようにオフにしておく。