質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%

Q&A

解決済

3回答

484閲覧

WSL Docker上のLaravelのAPIテストでXdebugを使いたい。

Longo

総合スコア1

0グッド

0クリップ

投稿2024/04/29 04:16

実現したいこと

WSL Docker上のLaravel11、PHP8.2で、PostmanとXdebugを使ったAPIテストを行いたいです。Postmanで、該当のAPIを叩くと、VScodeで設定したブレークポイントで処理が止まり、ステップ実行によるAPIのテストを行うという動作を実現したいです。

発生している問題・分からないこと

・Dockerフォルダ内のDockerfileやphp.iniを編集する方法が書かれているが、そのファイルがどこにあるかわからない。
・そもそもXdebugがインストールできていないと思う。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

公式ドキュメントの方法は試しました。

補足

初めて質問する上に、ディレクトリ関係が自分でも意味不明で、うまく話をまとめられませんが、進め方や確認の仕方を教えていただければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Eggpan

2024/04/29 08:29

Docker関連のファイル内容がわからないと、現状のコンテナがどうなっているかが分かりませんので回答しようがないです。 Dockerfileの内容 docker-compose.yml や compose.ymlの内容 iniファイルなどをvolumesでマウントでしていればその内容 について、質問に追記することはできますか?
Longo

2024/04/29 15:35

理解が足りていませんでした。それを見直すことで解決の糸口が見えました。ありがとうございます。
guest

回答3

0

ベストアンサー

WSL Docker上のLaravel11、PHP8.2で、PostmanとXdebugを使ったAPIテストを行いたい

Laravelで作った自作のAPIのテストをしたいという事でしょうか?
Postmanが起点であるとすると、Postmanがブレークした際のレスポンスを拾ってくれないと話になりません。
そうではなく、Laravel側をIDE(デバッガを装備するモノ)で常に監視(リクエストがあれば常に開始)すれば、可能なのだろうと思います。

VScodeで設定したブレークポイントで処理が止まり

VSCodeでデバッグをしたい人が大量に居て、記事も大量に見つかるけれど、失敗している人も大量に居る様です。
個人的にはエディタに毛の生えた程度のモノに期待し過ぎている感がありますが、成功している人も居るらしいので環境等を良く調査の上、信用できる記事を参照してください。

Xdebugに関する記事は、過去の記事が大量にあるので、本家をよく見ておくと良いでしょう。
賞味期限の切れた情報を参照していて、上手くいかない事は良くあります。

Dockerフォルダ内のDockerfileやphp.iniを編集する方法が書かれているが、そのファイルがどこにあるかわからない。

Dockerで何かをする際は、Dockerfileは必ず使うのでは?
それは質問者さんが用意したものだろうから、第三者にはどこにあるかは解りません。
php.iniも、どの様にやろうとしているかで修正すべきモノが違うでしょう。
__多くの場合、php.iniを直接編集せず
__追加で読み込む様に指定したディレクトリにファイルに置くだろうと思う

Xdebugがインストールできていないと思う

インストールをしていなければ使えないし、インストールする為に何かを参照したのなら、確認方法が参照先に書いてあると思います。

「Postmanで手動で問題なく動くか確認する」はテストではない

チョッと調べてみたけど、いろいろなケースを想定した複数の問い合わせを発行できるみたいなので、バカにしたものでも無さそうな感じ...

投稿2024/04/29 08:35

tezcello

総合スコア434

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Longo

2024/04/29 15:40

ご丁寧にありがとうございます。あやふやな質問でしたが、いろいろ答えてくださると、頭が整理されました。
guest

0

Dockerだけでは他人には何も分からない。
SailならSailと書く。

SailならPHPのバージョンを表示してみればXdebugもインストールされてると分かる。

sail php -v with Xdebug

今時ブレイクポイントなんて使わないので使えなくていい。
そんなことの前に「テストを書く」を覚えるのが先。
「Postmanで手動で問題なく動くか確認する」はテストではない。

投稿2024/04/29 05:15

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Longo

2024/04/29 15:37

バージョンの確認方法も大変役立ちました。ありがとうございます。
guest

0

自分が何の環境を使っているのかよく確認する。LaravelSailの場合はXdebugが標準搭載されているので、php.ini等をいじる必要なし。
"pathMappings": {
"/var/www/html": "${workspaceFolder}"
},
結局このpassmappingsの設定がよくわからなくてぬまった。自分は"${workspaceFolder}"を/mnt/c~にした。
ネットにあるものをコピペしても仕方がないので、ChatGPTに何を設定したらいいのかを聞けば済む話でした。

投稿2024/04/29 15:47

編集2024/04/29 15:49
Longo

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問