All Articles

Laragon で PHP による動的サイトの開発環境を構築

Laragon * MailHog * Xdebug

WindowsVisual Studio CodeLaragonMailHogXdebugPHP による動的サイトの開発環境を構築した際のメモ。

今までは XAMPP を使用していましたが、32 bit 版しか提供されていなかったりするので、今後のことも考え、64 bit 版を提供しているものに変更しようと思いました。

そこで、WampServer にしようかと思いましたが、インストーラが 292.7 MB もあり、一度インストールしてしまえばファイルサイズの小さなアップデータも用意されているようですが、どうしようかなと迷っていると、インストーラが 83.9 MB の Laragon が見つかりました。

目次

Laragon のインストール

Laragon をダウンロード

GitHub - leokhoa/laragon から Latest release の laragon-wamp.exe をダウンロードします。

インストーラを使用したくない場合は、laragon.7z をダウンロードしますが、Apache, memcached, ngrok, PuTTY, Redis, telnet, WinSCP, phpRedisAdmin 等が同梱されていないので、必要な物があれば別途ダウンロードすることになります。

Laragon をインストール

ダウンロードした laragon-wamp.exe を実行します。

laragon.7z をダウンロードした場合は、インストール先フォルダに解凍します。

オプションの設定画面では、Windows の起動時に Laragon を実行したくないので、Run Laragon when Windows starts のチェックを外します。

Pretty URLs の機能は便利なので、Auto Virtual hosts のチェックは付けたままにします。

Notepad++CmderScoop でインストール済みで、同梱の物はコンテキストメニューに登録したくないので、Quick ways to open Text Editor & Terminal to the Right-Click Menu のチェックを外します。

Laragon の設定

laragon.exe を実行し、ダッシュボード右上の歯車アイコンをクリックして、設定画面を表示します。

ダッシュボードの Menu をクリックするか、ダッシュボード内を右クリックするか、通知領域アイコンを右クリックしてメニューを出し、Preferences… をクリックして設定画面を表示することも出来ます。

General タブの Run minimized にチェックを付けて Laragon の起動時にダッシュボードを最小化し、Start All automatically にチェックを付けて Laragon の起動時にサーバーを実行し、Document Root: に localhost のアドレスでアクセスするフォルダを設定します。

SSL を有効にする場合は、Services & PortsEnabled にチェックを付けます。

Mail Catcher タブと Mail Sender タブの Enabled は、代替を使用することにしたのでチェックを外します。

Mail Catcher の代替

PHP から UTF-8 の日本語メールを送信してみたら文字化けし、色々試してみたものの改善しないので、sendmail.exe が怪しいと考えて差し替えてみました。

fake sendmail for windows からダウンロードした sendmail.zip を解凍し、sendmail.exe を Laragon をインストールしたフォルダ\bin\sendmail\sendmail.exe と差し替えます。

Mail Sender タブで設定した Gmail Password: は Laragon をインストールしたフォルダ\bin\sendmail\sendmail.ini に暗号化されて保存されますが、差し替えた sendmail.exe では復号出来ないようなので、auth_password を平文に変更します。

; if your smtp server requires authentication, modify the following two lines

auth_username=Gmailのアドレス
auth_password=平文のパスワード

これで文字化けは解消しましたが、Mail Catcher は差し替えた sendmail.exe とは連携出来ないようで、Enabled にしてもポップアップは表示されず、Laragon をインストールしたフォルダ\bin\sendmail\output 内にテキストファイルも保存されません。

そこで、Mail Catcher と Mail Sender は諦め、MailHog を使うことにしました。

MailHog をダウンロード

GitHub - mailhog/MailHog から Latest release の MailHog_windows_amd64.exe をダウンロードします。

MailHog をインストール

ダウンロードした MailHog_windows_amd64.exe を MailHog.exe にリネームし、Laragon をインストールしたフォルダ\usr\bin 内に配置します。

Laragon のメニューを出して Laragon > Procfile > Procfile をクリックし、起動した Notepad++ で Procfile に追記します。

MailHog: MailHog.exe autorun
MailHog Admin: http://localhost:8025 autorun

MailHog: MailHog.exe autorun で Laragon の起動時に MailHog を自動実行し、MailHog Admin: http://localhost:8025 autorun で Laragon の起動時に MailHog の Web UI を表示します。

MailHog.exe が意図せず終了してしまった場合は Laragon > MailHog – Autorun をクリック、Web UI を閉じてしまって再表示したい場合は、Laragon > MailHog Admin – Autorun をクリックします。

PHP の設定

Laragon のメニューを出して PHP > php.ini をクリックし、起動した Notepad++ で php.ini を編集します。

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Tokyo"
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 1025
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "Laragon をインストールしたフォルダ/usr/bin/MailHog.exe sendmail"
[mbstring]
; language for internal character representation.
; This affects mb_send_mail() and mbstring.detect_order.
; http://php.net/mbstring.language
mbstring.language = Japanese

date.timezone = "Asia/Tokyo" でタイムゾーンを日本時間に、smtp_port = 1025 で SMTP ポート番号を 1025 に、sendmail_path = "Laragon をインストールしたフォルダ/usr/bin/MailHog.exe sendmail" で MailHog.exe のパスを、mbstring.language = Japanese のコメントアウトを外してマルチバイト文字列関数のデフォルト言語を日本語に設定しました。

Laragon のパスを登録

PHP 等をパスの指定なしで実行出来るよう、Laragon のパスを登録します。

Laragon のメニューを出し、Tools > Path > Add Laragon to Path をクリックします。

Tools > Path > Manage Path をクリックし、パスが登録されていることを確認します。

右上の Menu から Add Laragon to PathRemove Laragon from Path を行うことも出来ます。

Apache の別バージョンを追加

Apache をダウンロード

Apache VS16 binaries and modules download から使用したいバージョンのファイルをダウンロードします。

Apache をインストール

ダウンロードしたファイルを、Laragon をインストールしたフォルダ\bin\apache 内にバージョンが判別出来るように圧縮ファイル名(httpd-X.X.XX-winXX-VCXX)でフォルダを作成して解凍します。

Apache のバージョンを変更

Laragon のメニューを出し、Apache > Version [現在のバージョン] > 使用したいバージョン をクリックします。

Apache の不要なバージョンをアンインストール

Laragon をインストールしたフォルダ\bin\apache 内から不要になったバージョンのフォルダを削除します。

Apache のパスを再登録

Apache のパスが変わったので、Tools > Path > Remove Laragon from Path をクリックして Laragon のパスを削除し、Tools > Path > Add Laragon to Path をクリックして Laragon のパスを再登録します。

Tools > Path > Manage Path をクリックし、パスの登録状態を確認しながら、右上の Menu から行うことも出来ます。

MySQL / MariaDB の別バージョンを追加

MySQL / MariaDB をダウンロード

MySQL は MySQL :: Download MySQL Community Server から、MariaDB は Downloads – MariaDB から、使用したいバージョンのファイルをダウンロードします。

MySQL / MariaDB をインストール

ダウンロードしたファイルを、Laragon をインストールしたフォルダ\bin\mysql 内にバージョンが判別出来るように圧縮ファイル名(mysql-X.X.XX-winxXX / mariadb-XX.X.XX-winxXX)でフォルダを作成して解凍します。

MariaDB の解凍先も MySQL と同じ、Laragon をインストールしたフォルダ\bin\mysql 内です。

MySQL / MariaDB のバージョンを変更

Laragon のメニューを出し、MySQL / MariaDB > Version [現在のバージョン] > 使用したいバージョン をクリックします。

MySQL / MariaDB の不要なバージョンをアンインストール

Laragon をインストールしたフォルダ\bin\mysql 内から不要になったバージョンのフォルダを削除します。

MySQL / MariaDB のパスを再登録

MySQL / MariaDBのパスが変わったので、Tools > Path > Remove Laragon from Path をクリックして Laragon のパスを削除し、Tools > Path > Add Laragon to Path をクリックして Laragon のパスを再登録します。

Tools > Path > Manage Path をクリックし、パスの登録状態を確認しながら、右上の Menu から行うことも出来ます。

MySQL / MariaDB の root パスワードを変更

Laragon のメニューを出し、MySQL / MariaDB > Change root password をクリックします。

New Password: にパスワードを入力し、OK をクリックします。

phpMyAdmin のインストール

MySQL / MariaDB データの閲覧や編集には Laragon に同梱されている HeidiSQL が使えますが、phpMyAdmin も使えるようにインストールします。

phpMyAdmin をダウンロード

phpMyAdmin – Downloads から使用したいバージョンのファイルをダウンロードします。

phpMyAdmin をインストール

ダウンロードしたファイルを、Laragon をインストールしたフォルダ\etc\apps 内に phpMyAdmin という名前のフォルダを作成して解凍します。

phpMyAdmin の設定

ダッシュボード下の Database をクリックするか、Laragon のメニューを出し、Laragon > Database をクリックするか、MySQL / MariaDB > phpMyAdmin をクリックするか、//localhost/phpmyadmin/ にアクセスしてログインすると、「設定ファイルの中に記述されているパスフレーズ(blowfish_secret)が短すぎます。」というエラーが出るので、Laragon をインストールしたフォルダ\etc\apps\phpMyAdmin\config.inc.php を編集します。

/**
 * This is needed for cookie based authentication to encrypt password in
 * cookie. Needs to be 32 chars long.
 */
$cfg['blowfish_secret'] = 'パスフレーズ'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

$cfg['blowfish_secret'] = 'パスフレーズ'; のパスフレーズを32文字以上に変更します。

phpMyAdmin からログアウトしてログインし直すと、「phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。 代わりにデータベースの操作タブを使って設定することもできます。」と警告が出るので、こちら をクリックします。

「Create a database named ‘phpmyadmin’ and setup the phpMyAdmin configuration storage there.」と出るので、Create をクリックすると、phpmyadmin というデータベースが作成され、設定が行われます。

PHP の別バージョンを追加

PHP をダウンロード

windows.php.net – /downloads/releases/ から使用したいバージョンのファイルをダウンロードします。

PHP をインストール

ダウンロードしたファイルを、Laragon をインストールしたフォルダ\bin\php 内にバージョンが判別出来るように圧縮ファイル名(php-X.X.XX-Win32-VCXX-xXX)でフォルダを作成して解凍します。

PHP のバージョンを変更

Laragon のメニューを出し、PHP > Version [現在のバージョン] > 使用したいバージョン をクリックします。

PHP の再設定

PHP > php.ini をクリックし、起動した Notepad++ で php.ini を編集します。

MailHog のインストールで行った PHP の設定を再度行います。

PHP の不要なバージョンをアンインストール

Laragon をインストールしたフォルダ\bin\php 内から不要になったバージョンのフォルダを削除します。

PHP のパスを再登録

PHP のパスが変わったので、Tools > Path > Remove Laragon from Path をクリックして Laragon のパスを削除し、Tools > Path > Add Laragon to Path をクリックして Laragon のパスを再登録します。

Tools > Path > Manage Path をクリックし、パスの登録状態を確認しながら、右上の Menu から行うことも出来ます。

Xdebug のインストール

Xdebug をダウンロード

Xdebug: Support — Tailored Installation Instructions のフォームに phpinfo() の出力内容を貼り付け、Analyse my phpinfo() output をクリックします。

環境にあったdllへのダウンロードリンクが表示されるので、リンクをクリックしてダウンロードします。

Xdebug をインストール

ダウンロードした dll ファイルを、Laragon をインストールしたフォルダ\bin\php\バージョン\ext 内に配置します。

Laragon のメニューを出し、PHP > Extendions > xdebug-バージョン をクリックしてチェックを付けます。

Xdebug の設定

PHP > php.ini をクリックし、起動した Notepad++ で php.ini に追記します。

[Xdebug]
xdebug.remote_enable = 1

xdebug.remote_enable = 1 でリモートデバッグを有効にしましたが、リモートデバッグ中は重くなってしまうので、リモートデバッグセッションを自動で開始する xdebug.remote_autostart = 1 は設定せずに、ブラウザの拡張機能で切り替えることにします。

ブラウザの拡張機能をインストール

Xdebug: Documentation » Step Debugging を参考にブラウザの拡張機能をインストールします。

Visual Studio Code の拡張機能をインストール

Visual Studio Code に PHP Debug - Visual Studio Marketplace をインストールします。

PHP-CS-Fixer のインストール

PHP-CS-Fixer をダウンロード

GitHub - FriendsOfPHP/PHP-CS-Fixer から Latest release の php-cs-fixer.phar をダウンロードします。

PHP-CS-Fixer をインストール

ダウンロードした php-cs-fixer.phar を、Windows のユーザーフォルダ\.vscode 内に配置します。

PHP-CS-Fixer の拡張機能をインストール

Visual Studio Code に php cs fixer - Visual Studio Marketplace をインストールします。

Visual Studio Code の設定

メニューの ファイル > 基本設定 > 設定 をクリックして Settings を開き、右上の { } 設定(JSON)を開く をクリックして User Settings を開きます。

右側の ユーザー設定 に追記します。

{
  // Points to the php-cs-fixer exectuable, eg: win: php-cs-fixer.bat, other: php-cs-fixer; or points to php-cs-fixer.phar path, eg: /full/path/of/php-cs-fixer.phar
  "php-cs-fixer.executablePath": "~/.vscode/php-cs-fixer.phar",

  // Execute PHP CS Fixer on save
  "php-cs-fixer.onsave": true
}

"php-cs-fixer.executablePath": "~/.vscode/php-cs-fixer.phar" で PHP-CS-Fixer のインストールパスを設定、"php-cs-fixer.onsave": true で保存時の自動整形を有効にしました。