PhpStorm(IntelliJ IDEA)でLaravelプロジェクトの新規作成からローカルデバッグ環境構築まで


動作環境

Windows 7
IntelliJ IDEA 2018.3.4
PHP 7.3.2
Xdebug v2.7.0RC2
Laravel Framework 5.8.2

前提条件

  • IntelliJ IDEAにPHPプラグインがインストールされていること

背景

普段Unity+Riderで開発をしています
デバッグ時にはデバッグボタン押すだけでブレークポイントが有効になりステップ実行が可能になります
効率的にデバッグをこなす上でブレークポイントの有効可は必須なので今回の環境構築を行いました
1クリックでローカルサーバの起動→デバッグ開始できるようにします

PHPのインストール

PHP download
- Cドライブ直下に展開 (C:\php-7.3.2)
- php.ini-developmentをコピーしてphp.iniにリネーム
- php.iniないの下記設定のコメントアウトを解除

;extension_dir = "ext"
;extension=openssl
;extension=mbstring
;extension=pdo_mysql

Xdebugのインストール

Xdebug

  • php --infoで出力される情報をコピーして上記サイトに貼り付けAnalyse my phpinfo() outputをクリック
  • 環境に合わせたxdebugのダウンロードリンクが出てくるのでダウンロード(自分の環境ではphp_xdebug-2.7.0RC2-7.3-vc15-x86_64.dll)
  • C:\php-7.3.2\ext配下にコピー
  • php.iniにzend_extension = php_xdebug-2.7.0RC2-7.3-vc15-x86_64.dllを追記

  • ext\php_xdebug~にするとデバッグ時にエラーが出たのでextは抜きました

PhpStorm(IntelliJ IDEA)でLaravelプロジェクトの新規作成

  • Create New Project -> PHP Composer Project

  • Project name: laravel-sample

  • composer.pharにチェック

  • Download composer.pharにチェック

  • PHP Interpriter: PHP(7.3.2)を選択

  • Filter package: laravel/laravelを入力して一覧から選択してFinish

起動確認

php artisan key:generate # APP_KEYの生成
php artisan serve

でローカルサーバを起動しlocalhost:8000にアクセスして起動できることを確認します。

Built-in Web Serverの設定

php artisan serveでローカルサーバ起動しましたがXdebugを使ってデバッグでするためPhpStormで設定を行います

  • Run -> Edit Configurations...
  • PHP Built-in Web Serverを追加 - Name: Build-in Web Server - Host: localhost - Port: 8000 - Document root:<プロジェクトのディレクトリ>/public - Interpreter options: -dxdebug.remote_enable=1 -dxdebug.remote_autostart=1 -dxdebug.remote_host=localhost -dxdebug.remote_port=9000

xdebugの設定

  • File -> Settings -> PHP

    • CLI Interpriter: PHP(7.3.2)
  • File -> Settings -> PHP -> Debug -> Xdegug

    • Debug port: 9000
  • File -> Settings -> PHP -> Servers

    • 「+」ボタンでServer追加
    • Name: localhost
    • Host: localhost
    • Port: 8000
    • Debugger: xdebug
    • Use path mappingsにチェック
    • 作成したプロジェクトのルートディレクトリのAbsolute path on the Serverに同じパスを入力

デバッグ実行

  • Run -> RunでBuilt-in Web Serverで設定したサーバを選択して実行

または

  • 赤枠のマークをクリックして実行

ブレークポイントを仕掛けてhttp://localhost:8000にアクセスすると下の画像のようにステップ実行が可能となっているはずです

受話器のマークが赤枠のようになっていないことに気をつけてください

良いデバッグライフを(๑•̀ㅂ•́)و✧