この記事のポイント
- Ubuntu 24.04 に Docker Compose で WordPress 6.5 + MySQL 8.0 の開発環境を構築する
- PHP 8.3.6(Ubuntu 24.04 の標準パッケージ)と WP-CLI 2.12.0 でプラグインひな形を生成する
- Composer 2.7.1 で PHPUnit を管理し、プラグインのユニットテストを実行する
- Ubuntu 22.04 のデフォルト PHP(8.1.2)との差を実測で確認済み。24.04 一択
WordPress のプラグイン開発を始めようとすると、まず環境構築で詰まります。「PHPのバージョンはどれ?」「ローカルのWordPressはどうやって動かすの?」と調べているうちに時間が溶けた経験がある方も多いはずです。
この記事では、Ubuntu 24.04 上で Docker Compose を使い、プラグイン開発に必要な一式を整える手順を順番に説明します。実際に Docker の公式イメージでコマンドを実行して取得したバージョンと出力を載せています。
動作確認環境
Ubuntu 24.04.4 LTS / Docker 29.6.0 / Docker Compose v5.1.4 / PHP 8.3.6 / WP-CLI 2.12.0 — 2026-06-22 実測
目次
- Ubuntu 24.04 を選ぶ理由:PHP バージョンの実測比較
- 手順1:Docker と Docker Compose をインストールする
- 手順2:Docker Compose で WordPress + MySQL を起動する
- 手順3:WordPress の初期設定をブラウザで行う
- 手順4:PHP 8.3 と WP-CLI をホストにインストールする
- 手順5:WP-CLI でプラグインのひな形を生成する
- 手順6:Composer で PHPUnit を導入してテストを動かす
- よくあるエラーと対処法
- まとめ
Ubuntu 24.04 を選ぶ理由:PHP バージョンの実測比較
Ubuntu のバージョンを迷っているなら、24.04 LTS を選んでください。理由は PHP のデフォルトバージョンが全然違うからです。
実際に Docker の公式イメージで apt-cache policy php-cli を実行して比較しました。

Ubuntu 22.04 の apt install php-cli は PHP 8.1.2 が入ります。Ubuntu 24.04 では PHP 8.3.6 です。WordPress の公式ドキュメントは PHP 8.1 以上を必須要件としていますが、PHP 8.1 は 2024年11月にセキュリティアップデートが終了しています。新規でプラグイン開発環境を作るなら 24.04 一択です。
手順1:Docker と Docker Compose をインストールする
Ubuntu 24.04 に Docker の公式リポジトリを追加してインストールします。
$ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg
$ echo “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable” | sudo tee /etc/apt/sources.list.d/docker.list
$ sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
$ docker –version
Docker version 29.6.0, build fb59821
$ docker compose version
Docker Compose version v5.1.4
インストール後、sudo usermod -aG docker $USER を実行して自分のユーザーを docker グループに追加してください。一度ログアウトして再ログインすると、sudo なしで docker コマンドが使えるようになります。
注意
docker-compose(ハイフン区切り)は古い v1 系です。Ubuntu 24.04 で apt から入る現行バージョンは docker compose(スペース区切りのプラグイン形式)です。本記事は後者で説明します。
手順2:Docker Compose で WordPress + MySQL を起動する
プラグイン開発用のディレクトリを作り、docker-compose.yml を置きます。
docker-compose.yml の内容はこちらです。
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: wppass
wordpress:
image: wordpress:6.5-php8.3-apache
depends_on:
– db
ports:
– “8080:80”
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: wppass
WORDPRESS_DB_NAME: wordpress
volumes:
– ./plugins:/var/www/html/wp-content/plugins/my-plugin
volumes の行がポイントです。ホストの ./plugins ディレクトリをコンテナの WordPress プラグインディレクトリに直接マウントしているので、ホスト側でコードを編集するとコンテナ内に即反映されます。
$ docker compose up -d
Container my-plugin-project-db-1 Starting
Container my-plugin-project-db-1 Started
Container my-plugin-project-wordpress-1 Starting
Container my-plugin-project-wordpress-1 Started
$ docker compose ps
NAME IMAGE STATUS
my-plugin-project-db-1 mysql:8.0 Up
my-plugin-project-wordpress-1 wordpress:6.5-php8.3-apache Up 0.0.0.0:8080->80/tcp

手順3:WordPress の初期設定をブラウザで行う
コンテナが起動したら http://localhost:8080 にアクセスします。初回は WordPress のインストール画面が表示されます。

サイト名・管理者ユーザー名・パスワード・メールアドレスを入力して「WordPress をインストール」をクリックします。開発環境なのでパスワードは任意で構いませんが、「弱いパスワードの使用を確認」チェックが出たらチェックを入れてから送信してください。

ダッシュボードが表示されれば成功です。左メニューの「プラグイン」からプラグイン管理画面も確認できます。

手順4:PHP 8.3 と WP-CLI をホストにインストールする
プラグインのひな形生成やテスト実行はホスト側の PHP と WP-CLI で行います。Ubuntu 24.04 なら apt から PHP 8.3.6 が入ります。

php8.3-cli php8.3-xml php8.3-mbstring php8.3-curl php8.3-mysql \
composer git
(中略:パッケージ一覧のダウンロード)
Setting up php8.3-cli (8.3.6-0ubuntu0.24.04.9) …
Setting up composer (2.7.1-2) …
$ php –version
PHP 8.3.6 (cli) (built: May 25 2026 13:12:06) (NTS)
$ composer –version
Composer version 2.7.1 2024-02-09 15:26:28
$ git –version
git version 2.43.0
続けて WP-CLI をインストールします。WP-CLI は phar ファイルを直接ダウンロードする方法が公式推奨です。
$ chmod +x wp-cli.phar
$ sudo mv wp-cli.phar /usr/local/bin/wp
$ wp –version
WP-CLI 2.12.0
$ wp –info
OS: Linux 6.8.0-83-generic x86_64
PHP binary: /usr/bin/php8.3
PHP version: 8.3.6

手順5:WP-CLI でプラグインのひな形を生成する
WP-CLI の scaffold plugin コマンドでプラグインの基本ファイルを自動生成できます。scaffold は WordPress インストールディレクトリが必要なので、docker exec でコンテナ内から実行します。
ポイント
wp scaffold plugin はホスト側からでなく、WordPressが入っているコンテナ内で実行する必要があります。ホストから実行すると「This does not seem to be a WordPress installation.」というエラーになります。
–plugin_name=”My Awesome Plugin” \
–allow-root –path=/var/www/html’
Success: Created plugin files.
Success: Created test files.
$ ls plugins/
bin/ composer.json my-awesome-plugin.php phpunit.xml.dist readme.txt tests/
$ head -8 plugins/my-awesome-plugin.php
/**
* Plugin Name: My Awesome Plugin
* Version: 0.1.0
*/
生成されたファイルは ./plugins ディレクトリ内に入ります。このディレクトリは docker-compose.yml でコンテナの /var/www/html/wp-content/plugins/my-plugin にマウントしているので、ブラウザの WordPress 管理画面のプラグイン一覧にも自動で表示されます。
手順6:Composer で PHPUnit を導入してテストを動かす
プラグインディレクトリに composer.json を作成し、テスト環境を整えます。
$ composer init –require=”phpunit/phpunit:^10″ –no-interaction
$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev)
Package operations: 23 installs, 0 updates, 0 removals
– Installing phpunit/phpunit (10.5.63): Extracting archive
$ ./vendor/bin/phpunit –version
PHPUnit 10.5.63 by Sebastian Bergmann and contributors.
Composer 2.7.1(Ubuntu 24.04 の apt パッケージ)を使いました。PHP 8.3 なら PHPUnit 10 系を問題なく動かせます。PHPUnit 9 系は PHP 8.2 以上で非推奨の機能が増えているため、新規開発では 10 系から始めた方が無難です。
テストを書く場所は tests/ ディレクトリです。最小限のテストファイルを作って実行確認します。
use PHPUnit\Framework\TestCase;
class SampleTest extends TestCase {
public function test_plugin_constant(): void {
$this->assertTrue(true);
}
}
$ ./vendor/bin/phpunit tests/SampleTest.php
PHPUnit 10.5.63 by Sebastian Bergmann and contributors.
.
OK (1 test, 1 assertion)
テストが通りました。この時点で「Docker Compose で WordPress が動いている」「ホストからWP-CLIでプラグインひな形を生成できる」「Composer + PHPUnit でテストを実行できる」という3点が揃っています。実際の開発は、ここからプラグインロジックを my-awesome-plugin.php に書き始める流れになります。

よくあるエラーと対処法
①「Error establishing a database connection」が表示される
原因と対処
MySQL コンテナの起動が完了する前に WordPress コンテナがアクセスしに行くと発生します。docker compose ps で両コンテナが Up になっているか確認し、docker compose restart wordpress で WordPress だけ再起動してください。初回起動から30秒ほど待ってからブラウザでアクセスするのが確実です。
②wp scaffold plugin が「This does not seem to be a WordPress installation.」
原因と対処
scaffold plugin は実際の WordPress インストールディレクトリが必要です。ホスト側のディレクトリで実行するとこのエラーになります。docker exec <コンテナ名> bash -c 'wp scaffold plugin ... --path=/var/www/html --allow-root' のようにコンテナ内で実行してください。
③ composer install が「Your lock file does not contain a compatible set of packages」
原因と対処
既存の composer.lock が別のPHPバージョン向けに生成されている場合に出ます。composer update で lock ファイルを再生成してください。
④ Docker コンテナ内でファイルを変更したが WordPress に反映されない
原因と対処
ホストの ./plugins をマウントしているのに変更が反映されない場合、docker compose down && docker compose up -d でコンテナを再作成してください。初回起動時にマウント先を正しく認識していない場合があります。
まとめ
Ubuntu 24.04 + Docker Compose で WordPress プラグイン開発環境を構築しました。
- Ubuntu 24.04 の apt で入る PHP は 8.3.6(Ubuntu 22.04 の 8.1.2 より新しい)
- Docker Compose で
wordpress:6.5-php8.3-apache+mysql:8.0をdocker compose up -d1コマンドで起動 - WP-CLI 2.12.0 で
wp scaffold pluginを使えばプラグインの基本ファイルが生成できる - Composer 2.7.1 + PHPUnit 10 で
./vendor/bin/phpunitからテストを実行できる
開発中はホストの ./plugins ディレクトリを編集するだけでコンテナ側に即反映されるので、ブラウザをリロードしながら動作確認できます。本格的にサーバーでプラグインを動かしたいときは VPS が便利です。



コメント