Craft CMS のサーバー要件について(2024年版)

2024年3月に Craft 5 がリリースされました。

Craft 5 Released—with New Team Edition! | Craft CMS
https://craftcms.com/blog/craft-5

Matrix のネストやフィールドインスタンスなど、とても便利な新機能が追加されているのですが、必要となるシステム要件もアップデートされています。

そこで、過去の記事と同様、Craft 4 と Craft 5 のシステム要件の違いを確認してみましょう。
これは Craft CMS Advent Calendar 2024 11日目の記事です。

バージョンごとの要件を比較

Craft CMS のシステム要件は、公式ドキュメントに記載されています。(実際に確認される際は、メニュー上部にあるプルダウンで対象バージョンの切り替えが可能です。)

Requirements | Craft CMS Documentation | 4.x
https://craftcms.com/docs/4.x/requirements.html

Requirements | Craft CMS Documentation | 5.x
https://craftcms.com/docs/5.x/requirements.html

それぞれ違いがある項目について、比較してみます。

最低限必要なシステム構成

Craft 4Craft 5
PHPPHP 8.0.2 以上PHP 8.2 以上
データベースMySQL 5.7.8 以上(InnoDB)
MariaDB 10.2.7 以上
PostgreSQL 10 以上
MySQL 8.0.17 以上(InnoDB)
MariaDB 10.4.6 以上
PostgreSQL 16 以上
PHP 割り当てメモリ256MB 以上256MB 以上
ディスクスペース200MB 以上200MB 以上
ComposerComposer 2.0 以上Composer 2.0 以上

Craft 5 では、必須となる PHP およびデータベースのバージョンが変更になっていますので、インストール先のサーバーがそもそも対応可能かを確認してください。

(過去記事に記載の通り)以前の Craft 4 は Composer 2.0 以上が必須ではなかったと思うのですが、どこかのタイミングで変更になったようですね。

新たに環境を用意する時点で、公式ドキュメントの最新情報を確認するようにしてください。

開発元が推奨するシステム構成

Craft 4Craft 5
PHPPHP 8.1 以上PHP 8.2 以上
データベースMySQL 5.7.8 以上(InnoDB)
MariaDB 10.5 以上
PostgreSQL 10 以上
MySQL 8.0.36 以上(InnoDB)
PostgreSQL 16 以上
PHP 割り当てメモリ512MB 以上512MB 以上
ディスクスペース200MB 以上

Craft 5 の推奨環境から、MariaDB が削除されました。

その理由については、公式リポジトリの Discussion で Brandon さんが2023年12月にコメントされています。

[5.x][MariaDB] add Field::getValueSql Event / support virtual columns / how to increase query performance · craftcms/cms · Discussion #13997
https://github.com/craftcms/cms/discussions/13997

パフォーマンスと安定性への懸念、JSON カラムをサポートしていないことから MariaDB は非推奨となり、将来的には利用できなくする想定のようですので、頭の片隅に置いておきましょう。(現時点では、Craft 5 で MariaDB はサポートされています。)

PHP 拡張モジュール

Craft 4Craft 5
BCMath
ctype
cURL
GD または ImageMagick
iconv
Intl
JSON
Multibyte String
OpenSSL
PCRE
PDO MySQL Driver または PDO PostgreSQL Driver
PDO
Reflection
SPL
Zip
DOM
BCMath
ctype
cURL
GD または ImageMagick
iconv
Intl
JSON
Multibyte String
OpenSSL
PCRE
PDO MySQL Driver または PDO PostgreSQL Driver
PDO
Reflection
SPL
Zip
DOM

PHP 拡張モジュールについては、Craft 4 と Craft 5 で変更はありません。

追加で確認しておきたいこと

必要に応じて・・・ではありますが、次の2点については事前に確認しておくことをオススメします。

max_input_vars

過去記事でも触れていますが、PHP の max_input_vars がデフォルト値の 1,000 で足りるかを検討してください。

編集画面に複数の Matrix ブロックを含む場合など、この値を超えた入力データが保存されない可能性があります。

最大アップロードサイズ

Craft CMS のシステムデフォルトのアップロード上限サイズは 16MB です。
そのため、PHP の設定で upload_max_filesizepost_max_size に余裕を持たせていても、アップロードエラーになるかもしれません。

その場合、.envCRAFT_MAX_UPLOAD_FILE_SIZE を追記しましょう。

CRAFT_MAX_UPLOAD_FILE_SIZE=134217728,  // 最大アップロードサイズを 128MB に変更

General Settings | Craft CMS Documentation | 5.x
https://craftcms.com/docs/5.x/reference/config/general.html#maxuploadfilesize

最後に

今回も、備忘録を兼ねて Craft CMS のシステム要件を確認してみました。

PHP 8.2、MySQL 8.0.17 以上が必須(かつ、MariaDB がいずれサポート対象外になるかも)ということで、レンタルサーバーで運用しているサイトはサーバー移行も視野に入れないとな・・・と思ったところでした。