PhpStormでdocker内のwebやbatchのphpをterminalから起動してデバッグしたい
はじめに
PhpStormのリモートインタープリタにdocker-composeを選んで、デバッグ環境を整えた人向けの記事です。
phpstormでphpスクリプトを実行デバッグしてみよう
GUIからdebug実行(下の虫)すると docker-compose run で実行してしまうと別コンテナになっちゃって、どうしても都合が悪い時とかありますよね。。
だから、docker-compose exec でbatchを動かしたいんだけど、どやってデバッグすんねんって困ってませんか?
また、ブラウザから実行するんじゃなくて、terminal上からcURLでデバッグしたい時どうするんじゃいと困ってませんか?
そんな悩める希少なかたにお届けします。
docker-compose exec で xdebug ON
こんな感じで -e XDEBUG_CONFIG=remote_connect_back=1
をつけてやるとxdebugの受話器をあげていればbreak pointで止まるようになります。
docker-compose exec \
-e XDEBUG_CONFIG=remote_connect_back=1 \
batch php /var/app/bin/executeHoge.php
動かない場合は、全部入りで実行してちょっとずつけずってやりましょう。
docker-compose exec \
-e XDEBUG_CONFIG="remote_host=docker.for.mac.host.internal remote_enable=1 remote_connect_back=1" \
-e PHP_IDE_CONFIG="serverName=docker" \
batch php /var/app/bin/executeHoge.php
cURL で xdebug ON
こちらは、-b オプションでクッキーを食べさせるだけでいけるはずです。
curl -sk \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d "{\"hoge\":\"fuga\"}" \
-b XDEBUG_SESSION=PHPSTORM \
"http://localhost:10080/api/hoge"
おわりに
以上、自分用メモでした。。
Author And Source
この問題について(PhpStormでdocker内のwebやbatchのphpをterminalから起動してデバッグしたい), 我々は、より多くの情報をここで見つけました https://qiita.com/albyte/items/e62b5c4a88065f2c4ba2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .