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

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

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

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

デバッグ

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

Q&A

1回答

879閲覧

PHP Xdebugでindex.php以外デバッグができない

Yuta_swift

総合スコア0

PHP

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

デバッグ

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

0グッド

0クリップ

投稿2022/04/27 00:33

編集2022/04/27 22:45

PHPを用いてWebアプリを作成しています。
エラーが出た時にXdebugを使ってデバッグしながら作業を進めているのですが、index.php以外デバッグできない状況になりました。
デバッグができないとエラーの原因がわからないので前に進めません。
2週間くらい調べ漁りましたがわからなかったのでご教授お願いします。

【エラー詳細】
現状、index.phpのrouterでエラーが起きて落ちていると思われます。
index.phpのrouterまではしっかりデバッグができているので良いのですが、肝心のrouter.phpのrouter関数の中をデバッグすることができません。
router.phpのrouter関数の中身がデバッグできるようにするのがゴールです。

個人的には4枚目の写真のunverified breakpointが怪しいと思っています。
デバック可能なindex.phpではでませんが、デバッグ不可能なbrouter.phpは事象が発生します。

【添付写真】
1枚目:index.php(デバッグ可能)
2枚目:router.php(デバッグ不可能)※問題
3枚目:launch.json
4枚目:router.php(デバッグ不可能) unverified breakpoint ※問題 個人的に問題だと思っています

【環境】
MAMP
PHP Version:7.4.21
Xdebug version:3.0.4

index.php(デバッグ可能)
イメージ説明

router.php(デバッグ不可能)
イメージ説明

launch.json設定
イメージ説明

router.php(デバッグ不可能) unverified breakpoint ※問題
イメージ説明

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

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

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

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

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

m.ts10806

2022/04/27 00:44

何かのフレームワークですか? どういう設定で操作をして確認しているのかわかりませんが、 「そもそもrouter()関数を通ってない」という可能性はないですか?
Yuta_swift

2022/04/27 22:41

ご回答ありがとうございます! Xdebugはフレームワークというよりかは拡張機能と呼ばれるみたいです。 確認したところrouter関数自体は通っていると思われます。
m.ts10806

2022/04/27 23:30

いえXdebugの話ではなく、PHPコードの方です。 既存のフレームワークでしたら名前とバージョン、質問タグに追加を。 あと「思われる」ではなく根拠を。ステップ実行で確認できるのでは。
guest

回答1

0

index.phpでroute関数が呼び出せているかの確認が最優先かと思います。
phpでたファイルにアクセスするときはrequire_onceで指定するんじゃなかったんでしたっけ

投稿2022/04/27 00:57

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Yuta_swift

2022/04/27 22:38

ご回答ありがとうございます! 呼び出し自体は正常に行われています。 ※補足 router関数でそのページを表示するかを決めているのですが、その処理自体正常に行われています。 デバッグができないrouter.phpではbreakpointがunverified breakpointと表示されます。
sji

2022/04/28 18:17

サーバ側で実行されている router.php の設置位置は手元のものと同じでしょうか。 例えば手元の router.php の route 関数内で `var_dump('hogehoge');die;` のような記述を追加した際、きちんと「hogehoge」と表示されて死ぬようになりますでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問