WSL2+PHP+VSCodeで開発環境構築(その2)

その1で WSL2 の Ubuntu 22.04 上に、phpenv から PHP 8.2.13 をインストールしたあとの話です。Laravel のプロジェクトを作成し、DBとメールの設定をします。

composer のインストールと Laravel プロジェクト作成

PHPの依存関係管理ツール composer をインストールします。

https://getcomposer.org/download/ のとおりにインストールすればOKです。

$ cd ~/.phpenv/bin
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
$ ls -F
composer.phar*  phpenv@  phpenv-install-all-darwin*
$ ln -s composer.phar composer
$ type -r
$ type composer
composer is /home/mit/.phpenv/bin/composer
$

composer で Laravel のプロジェクトを作成します。

$ cd ~/dev
$ mkdir rsv
$ cd rsv
$ composer create-project laravel/laravel rsv-prj

スケルトンプロジェクトを動かしてみます。

$ cd rsv-prj
$ ./artisan serv

   INFO  Server running on [http://127.0.0.1:8000].

  Press Ctrl+C to stop the server

Windows のブラウザから http://127.0.0.1:8000 にアクセスすると Laravel のデモページが表示されました。

PHP Debug

VSCode でデバッグできるようにするためには、「PHP Debug」拡張機能を入れます。

  1. 「実行とデバッグ(Ctrl+Shift+D)」をクリック
  2. 「launch.json ファイルを作成します」をクリック
  3. 「PHP」をクリック
  4. launch.json の「Launch Built-in web server」の「cwd」を「 “cwd”: “${workspaceRoot}/public”,」に変更(「/public」追加)
  5. launch.json を保存

この状態で、

  1. 「実行とデバッグ(Ctrl+Shift+D)」をクリック
  2. ドロップダウンから「Launch Built-in web server」を選択し、「デバッグの開始(F5)」ボタンクリック

すると、http://localhost:39523/ のようなURLでブラウザが開き、VSCode でデバッグが開始されました。

DB接続

MySQL のインストールと WSL2 からのアクセス許可は、別記事にしました。

Laravel のDB設定を変更します。

.env ファイルで設定します。

DB_CONNECTION=mysql
DB_HOST=mypc.local
DB_PORT=3306
DB_DATABASE=rsv
DB_USERNAME=rsv
DB_PASSWORD=**********

接続確認します。

$ ./artisan db
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 11.3.1-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [rsv]> 

無事接続できました。

メール設定

Laravel のメール機能は、デバッグ用に log ドライバなども用意されていますが、私は Windows に smtp4dev を常駐させているので、 smtp4dev に送信するように設定します。

メールの設定については、config/mail.php の ‘mailers’ リストを確認します。

    'mailers' => [
        'smtp' => [
            'transport' => 'smtp',
            'url' => env('MAIL_URL'),
            'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
            'port' => env('MAIL_PORT', 587),
            'encryption' => env('MAIL_ENCRYPTION', 'tls'),
            'username' => env('MAIL_USERNAME'),
            'password' => env('MAIL_PASSWORD'),
            'timeout' => null,
            'local_domain' => env('MAIL_EHLO_DOMAIN'),
        ],

smtp ドライバに設定するものはすべて環境変数から取得しているので、.env ファイルに記載します。

MAIL_MAILER=smtp
MAIL_HOST=mypc.local
MAIL_PORT=25
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="mtystg@tyd4.com"
MAIL_FROM_NAME="${APP_NAME}"

確認は簡単ではなさそうなので、とりあえず設定だけして終了。

コメントを残す

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