Blog

PHPデバッグ可能なWordPress環境を爆速で作るGitリポジトリ公開

Shibata
Shibata 主任

主任のShibataです。
ここ最近、AWSサービス(Amplify)を利用したバックエンドを担当させて頂いています。
たまにはフロント触りたいなと思い、今回はWordpress(以下、WP)を投稿します。

WP については多くを語るまでもなく皆さんご存知のCMSツールです。
もしも「初めて聞いたよ!」という人は、とても丁寧に詳しく解説しているサイトが銀河のごとくヒットするのでぜひ検索してみてください。
WPはとても普及していて、CMS化が必要な案件のほとんどがWPだったりします。
やはりWP REST APIが標準で組めるようになった事が一番の理由でしょうね。
PHP以外の言語でもWPシステムが作れる事だけでなく、DB構造を維持したまま現行から新環境へのリプレイスも簡単。
何よりお客様自身で管理画面からサイトを更新できるのは現在もなお大きな強みだと思います。
(管理画面のテーマカスタマイズに渡すfunction.phpへの作り込みは変わりませんが…)

ただ、WPを開発するためにゼロから必要な開発環境を整えるのは少々手がかかります。
OSにPHPをインストールしたり、DBインストールしたり、Apacheをインストールしたり、さらにその後色々設定したり…etc
「XAMPPがあるよ」という声が聞こえてきそうですが、動きがモッサリでしかも個別にサービス制御しないといけなかったりで個人的には色々面倒な部類…。

なので、面倒なら全部Dockerでやっちゃえ!という事で今回WP環境を構築するGitリポジトリを作りました。
リポジトリをcloneしてコンテナ化するだけの簡単なお仕事でlocalhostのWP開発環境にアクセスする事が可能になっています。
さらにはvscode上でphp debugすることもできるので興味のある方はぜひお試しください。

以下やり方です。

事前準備

Docker Desktop

当たり前ですがDockerが必要です。
以下からダウンロードしてインストールしてください。
docker-desktop
なお、Docker起動にはDockerIDが必要なので持ってない方は取得してください。

PHP Debug

phpをデバッグするために必要です。
vscodeの拡張機能から「PHP Debug」をインストールしてください。

インストール(初回のみ)

Gitリポジトリのクローン

gitコマンドを使ってclone

$ git clone https://github.com/shibata-work/docker-for-wordpress.git

Dockerコンテナ化

docker-composeコマンドを使ってコンテナ化

$ docker-compose up -d

以上です(早っ!)

初回は、この時点で「http://localhost/」へアクセスするとWP初期設定画面が表示されます。
なおWEBサーバーのポートは80番を使っています。
もしも既に他サービスで80番ポートを利用していた場合は適当に変更してください。

デバッグ方法やDocker操作

デバッグ方法

既に launch.json ファイルに設定定義済みなので適当にブレークポイントを置いて再生するだけで開始されます。
あとはChrome等のブラウザで任意のロジックを通る処理をさせてあげるだけです。

Docker操作

Docker全体をSTOPする場合は以下

$ docker stop $(docker ps -aq)

Docker全体をSTARTする場合は以下
2回目以降WP開発環境を再開する場合など

$ docker start $(docker ps -aq)

以上です。
簡単にWP開発環境ができたかと思います。

かつてはただのブログシステムだったWPが今ではコンテンツ管理パッケージとして数多くの人々に利用されています。
今後も利用され続けていく事でしょう。
開発者はその準備に時間をかけることなく、すぐに作業に取り掛かれるような仕組みを予め作っておくことはとても大切な事です。