PHPの環境を作って、Laravelインストールして、デバッグするまでの一連の手順をメモ。
環境
OS:Windows10
IDE:VSCode
Shell:Powershell(cmdでも可)
PHP:7
環境構築
VSCodeのインストール
普通にダウンロードしてインストールします。
PHPのインストール
ここから環境に合ったものをダウンロードして適当なフォルダに展開し、パスを通します。
以下のコマンドで正しくインストールできたか確認しましょう。
> php -v
PHP 7.2.3 (cli) (built: Feb 28 2018 05:47:26) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
vscodeの設定
vscodeのユーザー設定に、以下を書かないとダメらしいです。パスは適当に読み替えてください。
{
"php.validate.executablePath": "D:\\php-7.2.3-Win32-VC15-x64\\php.exe",
"php.executablePath": "D:\\php-7.2.3-Win32-VC15-x64\\php.exe",
"php.suggest.basic": false,
}
php.iniの設定①
展開したphpフォルダのphp.iniを編集します。
opensslの設定は後でLaravelをインストールするときに必要だったような…忘れましたが。
-; extension_dir = "ext"
+extension_dir = "ext"
-;extension=openssl
+extension=openssl
Composerのインストール
Windowsなのでここからインストーラーをダウンロードしました。多分、コマンドラインからでもインストールできると思います。
以下のコマンドで正しくインストールできたか確認しましょう。
> composer -V
Composer version 1.6.3 2018-01-31 16:28:17
xdebugの入手
ここから環境に合ったものをダウンロードして、先ほど解凍したphpフォルダのextフォルダ内に置きます。
php.iniの設定②
xdebug用の設定を追加します。dllのバージョンは読み替えてください。
[xdebug]
zend_extension="php_xdebug-2.6.0-7.2-vc15-x86_64.dll"
xdebug.remote_enable=1
xdebug.remote_autostart=1
npmのインストール
すみません省略します。。。普通にnodejsのインストーラを使うか、nodistを使ってnodejsをインストールしてください。
laravelプロジェクト作成
laravelインストール
laravelのインストールにはcomposerのcreate-projectを使う方法と、composerでlaravelインストーラーを落とす方法があるらしいのですが、今回は後者を使用します。
まずは、laravelインストーラーをグローバル領域にダウンロード。
> composer global require "laravel/installer"
これでlaravelコマンドが使えるようになりますので、プロジェクトを作成します。
> laravel new hello-laravel
カレントディレクトリの直下にプロジェクトフォルダhello-laravel
が作成され、必要なファイルがコピーされます。フォルダさえできてしまえば、あとはvscodeでそのフォルダを開き、ctrl+@
でターミナルを開いて操作するのがおすすめです。
必要なモジュールをインストール
以下を実行して必要なモジュールをlaravelにインストールします。
> composer install
> npm install
vscodeのデバッグ設定
vscodeでプロジェクトフォルダを開き、画面左の虫マークを選択してデバッグモードに入り、歯車マークを押してPHP
を選択すると、PHP用のlaunch.json`が生成されます。私はデフォルトのままです。
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000
},
サーバー実行
ターミナルから以下を実行し、開発サーバーを立ち上げます。
> php artisan serve
Laravel development server started: <http://127.0.0.1:8000>
この状態で、http://localhost:8000
にてlaravelのトップページが表示できるようになっていると思います。
デバッグ実行
vscodeでF5を押します。ステータスバーがオレンジになったでしょうか?
後は適当なところにブレークポイントを置いて、サーバーにアクセスすればブレークできます。とりあえず試すなら、/route/web.php
のreturn view('welcome');
の行にブレークポイントを置いて、トップページにアクセスしてみれば確認できます。
おわりに
最初はdockerでapache立ててphp入れて、とかいろいろやっていたんですが、PHPはビルトインサーバーが普通に使えるので、ちょっと試すだけならローカルでデバッグしちゃったほうが簡単な気がしました。