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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

解決済

1回答

5281閲覧

【PHP】MAMP環境でXdebugを使いたいが、ブレークポイントで処理が中断されない

nomu_lui

総合スコア11

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

0クリップ

投稿2021/07/09 06:20

前提・実現したいこと

MAMP環境でVScodeにてXdebugを使ってデバッグを行いたいです。
launch.jsonとMAMPのポート番号を合わせないといけないのか?が気になっています。
調べても該当の記事が見つからなかったので、ご質問させていただきました。
よろしくお願いいたします。

発生している問題・エラーメッセージ

参考にした記事通り進めていましたが、ブレークポイントで処理が中断してくれません。

参考にした記事
https://dezanari.com/mamp-xdebug/
https://freeseblog.com/vscode-debug/
MAMPには最初からXdebugがインストールされているとのこと

試したこと・確認事項

MAMPのPHPのバージョンは7.3.27

イメージ説明

php.ini

/Applications/MAMP/bin/php/php7.3.27/conf/php.ini

最終行に下記を追加

[xdebug] zend_extension="/Applications/MAMP/bin/php/php7.3.27/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so" xdebug.remote_enable=1 xdebug.remote_autostart=1 xdebug.remote_connect_back=1
MAMPの再起動

済み

イメージ説明

zend_extension="/Applications/MAMP/bin/php/php7.3.27/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so"の確認

あり
イメージ説明

気になった点

VScodeのlaunch.jsonは下記の通りです

{ // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9003 }, { "name": "Launch currently open script", "type": "php", "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "port": 0, "runtimeArgs": [ "-dxdebug.start_with_request=yes" ], "env": { "XDEBUG_MODE": "debug,develop", "XDEBUG_CONFIG": "client_port=${port}" } }, { "name": "Launch Built-in web server", "type": "php", "request": "launch", "runtimeArgs": [ "-dxdebug.mode=debug", "-dxdebug.start_with_request=yes", "-S", "localhost:0" ], "program": "", "cwd": "${workspaceRoot}", "port": 9003, "serverReadyAction": { "pattern": "Development Server \(http://localhost:([0-9]+)\) started", "uriFormat": "http://localhost:%s", "action": "openExternally" } } ] }

MAMPのポート番号は下記の通りです
イメージ説明

このポート番号は合わせないといけないものなのでしょうか?

launch.jsonは8888にするべきなのでしょうか?
8888にしたら、下記のようにエラーとなってしまいました
イメージ説明

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

m.ts10806

2021/07/09 07:27

8888はMAMPではなくApacheのポートですね。
nomu_lui

2021/07/09 10:40

色々まざってしまっていたようです 改めて学んでみます、ありがとうございます
guest

回答1

0

ベストアンサー

まず読んでほしい:
[PHP] Xdebug のリモートデバッグ、理解していますか? - Qiita

MAMPというのはMAMPという一つのソフトウェアではなくて
MAMPにぶら下がるようにApache httpd(やNginx)が動いていて
その下でphpが動作しているわけで。
そのphpの設定は php.ini にて定義されているんだが、
xdebug.remote_port
の定義されているポート番号と、
VScodeでのポート番号が合ってないと意味がない。

VScodeでは9003で有ることを期待していると launch.json から読み取れるけど、
php.ini でどうなっているかが画像に示されていないのでわからない。
そこを点検してほしい。

投稿2021/07/09 07:18

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

nomu_lui

2021/07/09 10:39

ご紹介いただいた記事、まさに知りたい情報が載っておりました ありがとうございます! xdebug.remote_portはデフォルトで9000になっているようで、VScodeのlaunch.jsonはなぜかデフォルトで9003になっていました。 launch.jsonの方を9000に合わせたらデバッグできました ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問