BackEnd

Laradock環境にPHPStormからXdebugする

投稿日:

はじめに

こんにちは。カイザーです。XdebugをLaradockで使用する方法について、まとまった記事が少なかったため、まとめてみることにしました。

Laradock側の設定変更

まず、Laradock側でXdebugを起動させるため、コンテナ内の設定ファイルを変更します。

xdebug.iniファイル

Laradock内の「php-fpm/xdebug.ini」「workspace/xdebug.ini」を修正します。

.env

Laradockの.envファイルを修正し、Xdebugを有効化します。

コンテナの再構築

設定できたら、コンテナを再構築します。

PHPStormの設定

次に、PHPStorm側でリモートデバッグの設定をしていきます。

Preferences

Build, Excution, Deployment > Docker

Laradockに接続するため、Dockerの設定を先に行います。

「+」で新規追加し、 Docker for Mac を選択。
「Connection Successful」と表示されればOKです。

Languages & Frameworks > PHP

PHP関係のパスを通します。
Dockerコンテナ内のプロジェクトのパスと、ローカルプロジェクトパスを関連づけます。

■CLI Interpreter
「…」をクリックし、 From Docker, Vargrant, VM, Remote... を選択し、以下設定で新規追加し、それを設定します。

  • Server: Docker(ラジオボタン選択)
  • Image name: laradock_workspace:latest
  • PHP Executable(PHP interpriter path): php

■Docker container
フォルダアイコンをクリックして、開いた画面の編集ボタン(鉛筆)をクリックし、以下設定します。

  • Container path: /var/www (laradockの .env ファイルの APP_CODE_PATH_CONTAINER に記載されているパス)
  • Host Path: Laravelアプリプロジェクトのルート ( app ディレクトリのある位置)
Debug

Debug portを「9001」に設定します。(xdebug.iniで設定したポート番号です。)

Servers

Xdebug受け入れ用のサーバ設定を行います。

  • Host: localhost
  • Port: 80
  • Debugger: Xdebug
  • Use path mappings: ☑️
  • Absolute path on the server: /var/www (laradockの .env ファイルの APP_CODE_PATH_CONTAINER に記載されているパス)
    ※Projects files配下の、 File/Directoryが、Laravelアプリプロジクトルートのパスのみに設定する。

Run/Debug Configurations

PHPStormでデバッグを有効にするための設定です。

まず、Run/Debug Configurationsを開きます。

「+」から PHP Rmote Debug を追加し、以下のように設定します。

  • Filter debug connection by IDE key: ☑️
  • Server: 先ほどServersで作成したものを選択
  • IDE key: PHPSTORM (xdebug.iniで設定したxdebug.idekey)

デバッグを実行してみる

電話アイコンをクリックし、虫アイコンをクリックすると、デバッグが開始されます。
その後、ブレークポイントを設定した上で、該当箇所をブラウザでアクセスすると、ブレークポイントに引っかかります。

さいごに

PHPStorm+Xdebugを使うと、ネイティブアプリのようなデバッグ環境を作ることができました。
PHPはデバッガなしでも開発できますが、Laravelなどのフルスタックフレームワークを使用していると、どうしてもデバッガを置きたいシーンが良くあります。
ぜひ、参考にしてみてください。

おすすめ書籍

PHPフレームワーク Laravel Webアプリケーション開発 バージョン5.5 LTS対応 PHPフレームワーク Laravel入門 初めてのPHP

blog-page_footer_336




blog-page_footer_336




-BackEnd
-,

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

Rust入門してみた (構造体 / トレイト)

1 はじめに2 構造体2.1 メソッド2.1.1 関連メソッド2.2 トレイト2.2.1 構造体のフィールドの1つとして、トレイトのインスタンスを持つ場合2.3 derive属性3 おすすめ書籍 はじ ...

aws

Amazon API Gatewayざっくり概要

1 はじめに2 Amazon API Gatewayとは?2.1 なにができる?2.2 作成できるAPIの種類2.3 REST APIとHTTP APIの違い3 Amazon API Gatewayの ...

PHPerだけどKotlinを勉強したって良いよね その2〜コンストラクタ編〜

1 はじめに2 コンストラクタ2.1 プライマリコンストラクタ2.2 セカンダリコンストラクタ2.3 ニックネームのみを入力した人2.4 ニックネームと email を入力した人2.5 Faceboo ...

php logo

PHP入門 〜文字列と数値の操作〜

1 はじめに2 基本ルール2.1 開始と終了のタグ2.2 ホワイトスペース2.3 大文字と小文字の区別2.4 コメント2.5 変数の定義3 文字列の操作3.1 文字列の定義3.2 無駄なスペースを削除 ...

laravel logo

[Laravel] ログの扱い方 [5.8]

1 はじめに2 環境3 Monologについて4 コード上で設定する方法5 config/logging.phpで設定する方法6 おまけ:ログレベルについて7 さいごに8 おすすめ書籍 はじめに こん ...

フォロー

blog-page_side_responsive

2019年6月
 1
2345678
9101112131415
16171819202122
23242526272829
30  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。