web-dev-qa-db-ja.com

デバッグLaravel VSCodeでのアプリケーション

LaravelベースのWebサイトをデバッグするためにVSCodeを正常に構成した人はいますか?数多くの記事やチュートリアルをたどった後、VSCodeに「XDEBUGをリッスン」するように依頼できるようになりましたが、実行できませんでした通常 VSスタイルのデバッグF5キーを押すだけで、お気に入りのブラウザーで現在のWebサイトを起動でき、完全なVisual StudioやEclipseの場合と同じように、ブレークポイントに達するとVSCodeに割り込むことができます。

私のマシンには次のものが正しくセットアップされています:

  • VSCode 1.25.1
  • XAMPP 1.8
  • XDEBUG(構成済みで動作中)
  • VSCodeのPHPデバッグ拡張機能

launch.jsonでどの起動構成を使用する必要があるかわかりません。 PHPデバッグ拡張機能に付属する2つの構成は、次のようになります。

{
    "name": "Listen for XDebug",
    "type": "php",
    "request": "launch",
    "port": 9000
},
{
    "name": "Launch currently open script",
    "type": "php",
    "request": "launch",
    "program": "${file}",
    "cwd": "${fileDirname}",
    "port": 9000
}           

最初の構成は正しく機能しますが(VSCodeでそのモードでデバッグを開始し、ブラウザーでWebサイトを個別に起動すると、ブレークポイントに到達します)、2番目の構成は失敗します。 Controllerクラス(Laravelフレームワーククラス)が見つからないことを示しています。名前空間でクラス名を修飾しても効果はありません。

私の推測では、これは起動構成のセットアップ方法と関係があると思います。アクティブなスクリプトを独立したユニットとして起動しようとするため、異なるファイルにあるフレームワーククラスの定義を見つけることができません。どういうわけか、単一のアプリケーションとしてWebサイトの立ち上げを提供する必要があります。

誰かがそれを成功させて、私がここで欠けているものを教えてくれますか?

4
dotNET

ついにそれが機能するようになりました。他の誰かがそれを必要とするならば、ここに物があります。

  1. XDEBUGがApacheサーバーでセットアップされ実行されていることを確認してください。
  2. お気に入りのブラウザ用のデバッガ拡張機能をインストールします。 Chrome、Edge、FireFoxの拡張機能を利用できます(VSCode内から検索してインストールできます)。
  3. セットアップ launch.json2つの構成を並行して起動するようにします。これは、いわゆる複合構成を介して行われます。これがPHP + XDEBUGとEdgeブラウザを起動する私のものです:

    {
        "version": "0.2.0",
        "compounds": [
            {
                "name": "Launch & Debug",
                "configurations": [ "Launch Program", "Launch localhost" ]
            }
    ],
    "configurations": [
        {
            "type": "php",
            "request": "launch",
            "name": "Launch Program",
            "cwd": "${workspaceRoot}",
            "port": 9000
        },
        {
            "name": "Launch localhost",
                "type": "Edge",
                "request": "launch",
                "url": "http://localhost/public",
                "webRoot": "${workspaceRoot}"
            }
        ]
    }
    
  4. サイトアドレス、xdebugポートなどのローカル設定に従って、上記の構成を更新します。
  5. F5キーを押すと、デバッグセッションが開始されます。ブラウザが自動的に起動し、ブレークポイントに到達できるようになります。
7
dotNET