メインコンテンツに移動

メインナビゲーション

  • ホーム
  • サイトマップ
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • vscode:PHPデバッグ設定項目にpathMappingが間違うとブレイクポイントに止まらない

vscode:PHPデバッグ設定項目にpathMappingが間違うとブレイクポイントに止まらない

Visual Studio Code
windows
php

vscodeのPHPデバッグ設定

  • php.iniファイルに、XDebugをを以下のように設定します
    [XDebug]
    zend_extension = "D:\develop\servers\xampp-5.6.15\php-7.2.30-Win32-VC15-x86\ext\php_xdebug-2.9.5-7.2-vc15.dll"
    xdebug.remote_enable = on
    xdebug.remote_autostart = on
    xdebug.remote_handler = "dbgp"
    xdebug.remote_host = "127.0.0.1"
    xdebug.remote_port = 9000
    xdebug.remote_log="D:\develop\servers\xampp-5.6.15\tmp\xdebug.log"
    xdebug.max_nesting_level=1000
  • phpinfo()関数で、XDebugを確認
    XDebugの設定結果
  • vscodeのエクステンションから「php」キーワードで検索すると「PHP Debug」がありまして、これをインストールします
    vscodeのPHP Debugをインストール
  • vscodeの左側にRunというアイオンをクリックして、launch.json設定画面を開き、デバッグの設定を行います
    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "2drill.local",
                "type": "php",
                "request": "launch",
                "port": 9000,
                "stopOnEntry":false,
                "pathMappings": {
                    "${workspaceRoot}": "${workspaceRoot}"
                }
            },
            {
                "name": "Launch currently open script",
                "type": "php",
                "request": "launch",
                "program": "${file}",
                "cwd": "${fileDirname}"
            }
        ]
    }

    vscodeのPHP Debugのlaunch.jsonでの設定

  • 「Start Debugging」アイコンをクリックすると、PHPのデバッガーが開始し、ブラウザでリモートサイトにアクセスすれば、デバッグができるようになります

launch.jsonでの設定が間違うとデバッカーが起動できないか、ブレイクポイントに止まらない

  • phpのデバッグの設定にいくつかの注意点あります
  • パラメーター: pathMappings
    • ローカルPCでデバッグするときに、 リモートサーバー/ローカルソースコードが同じところにあるため、このパラメーターの設定はなくてもよいです
    • あるいは以下のように設定してもよいです
      "pathMappings": {
           "${workspaceRoot}": "${workspaceRoot}"
      }
    • ネット上にいろいろな詳細の具体的にリモート/ローカルソースパスを設定して、運が良ければデバッカーが起動後に、ソースコードのExceptionが発生するところに止まりますが、ブレイクポイントに止まらない現象があります
      Exceptionのところに自動的に止まる
    • 上記現況では、デバッカーが正常に動作しているように見えますが、実際にブレイクポイントに止まらないです。デバッカーが正常に動作していません
  • パラメーター:port(初期値は9000)
    • php.iniのデバッグ設定:xdebug.remote_port = 9000
    • launch.jsonとpho.iniのポートを合わせる必要があります
    • もしほかのソフトウェア(例:NetBeans)が既に9000を使用したら、ここで別のポート番号を変更する必要があります。ポート番号を変更しないと、デバッカーがブレイクポイントに止まらないようです
  • パラメーター:host
    • ホストの設定がなければ、デバッカーが全IPを対応します
    • ほぼ、hostの設定の必要はありません
Visual Studio Code
windows
development

リモートサーバのソースコード管理ツール:SFTP

  • 作業環境:リモートサーバーの開発環境で行い、ローカルで管理しないことにします(異なる端末で行います)
    • 開発者は一名で、同時に異なる端末でソースコードの編集は行わないので、ソースコードのバージョン管理はしなくて良いです
    • 異なる端末、違う時間帯でソースコードを編集作業するため、全部ローカルにダウンロードして、作業後にサーバーにアップロード(コミット)することが面倒なので、ローカルでソースコードを管理しないことにします
  • VS Code(Visual Studio Code)の拡張モジュールを探してみたところ、SFTPが要望に一致しています
    • VS Codeの拡張検索:sftp を入力して検索すると sftp1.8.4(現時点)があります。これをインストールします
    • インストール後にリロード(reload)リンクをクリックして、SFTPを立ち上げます

SFTP設定ポイント:サーバー名、ログインユーザー名、パスワード、名前

  • File >> Performances >> Settings >> Extensions >> sftp configuration がSFTPの基本管理を行います
    • ローカルでソースコード管理する必要はなければ、「Download When Open In Remote Explorer」をチェックしないままにします。
  • VS Codeのコマンドパレット(command palette、shift+ctrl+p)を開いてSFTPの接続情報(sftp.json)を設定します
    • 初期値としては以下のようです
      {
          "protocol": "sftp",
          "host": "localhost",
          "port": 22,
          "username": "",
          "remotePath": "/"
      }
      

       

  • 接続設定として、以下の要素が必須です
    • name: 任意の名前(空白でもかまわない)
    • host:  リモートサーバー名
    • port:  22(初期値のままでよい)
    • username:  リモートサーバーをログイン名
    • password:  リモートサーバーをログインパスワード
    • remotePath: リモートサーバー上にソースコードのパス
      接続設定イメージ
  • 注意点:name要素がなければ、エラーとして検出され、サーバーへの接続を行わないです
    接続設定にnameが足りない場合にエラー
    error message: Missing property "name"
  • 上記設定が完了すると、リモートサーバーへの接続ができ、サーバー上のソースコードなどの変更ができるようになります
Visual Studio Code
windows
development

初期インストールしたVSCode(Visual Studio Code)がすべてのタイプのファイルを関連付けていない

  • 初期状態のVSCodeがすべてのタイプのファイルを登録していないです
    • 例:Drupalのモジュール(.module)、インクルートされるファイル(.inc)がPHPで作成されています。
  • VSCodeでは、登録されていないタイプのファイルを「plain text」で開いています
    関連付けていないタイプのファイルをplain textで開く
    • 開いたファイルがテキストとして見なされているので、PHPのコード補完、コードの入ライドなどがありません

関連するエディターに結びづける方法:表示された「Plain Text」をクリックして関連するエディターを選択

  • 操作方法が比較的に簡単です。Windowの右下に表示された「Plain Text」をクリックすれば、プログラムエディター一覧が表示されます
    関連するエディターに結びづける
  • 関連のあるエディターを選んで、関連付けが完了です
  • 関連付けてから、コードの入ライド、補完ができるようになります

 

Visual Studio Code
windows
development

初期インストールしたVSCode(Visual Studio Code)がすべてのタイプのファイルを関連付けていない

  • 初期状態のVSCodeがすべてのタイプのファイルを登録していないです
    • 例:Drupalのモジュール(.module)、インクルートされるファイル(.inc)がPHPで作成されています。
  • VSCodeでは、登録されていないタイプのファイルを「plain text」で開いています
    関連付けていないタイプのファイルをplain textで開く
    • 開いたファイルがテキストとして見なされているので、PHPのコード補完、コードの入ライドなどがありません

関連するエディターに結びづける方法:表示された「Plain Text」をクリックして関連するエディターを選択

  • 操作方法が比較的に簡単です。Windowの右下に表示された「Plain Text」をクリックすれば、プログラムエディター一覧が表示されます
    関連するエディターに結びづける
  • 関連のあるエディターを選んで、関連付けが完了です
  • 関連付けてから、コードの入ライド、補完ができるようになります

 

ホーム

古松

検索

Article Category

  • apache(7)
  • css(19)
  • drupal(295)
  • Electron(4)
  • html(34)
  • javascript(27)
  • laravel(4)
  • linux(5)
  • macOS(2)
  • mysql(13)
  • php(19)
  • python(4)
  • SEO(12)
  • video(72)
  • Visual Studio Code(4)
  • windows(13)
  • wordpress(32)