Composer で PHP のバージョンを確認・指定する方法|composer.json の書き方
Composer のプロジェクトで、必要な PHP のバージョンを確かめる方法と、composer.json での指定のしかた。PHP を上げる前の確認にも使える。
Composer を使っているプロジェクトでは、PHP を上げる前に「依存しているパッケージが新しい PHP に対応しているか」を確かめられる。確認と指定のしかたをまとめた。
この記事の要点
- 必要な PHP の版は composer.json の
requireのphpに書く composer check-platform-reqsで、今の PHP で動くか確かめられるcomposer why-not php 8.4で、8.4 に上げられない原因のパッケージが分かるconfig.platform.phpを書くと、本番の PHP の版に合わせて依存を決められる
必要な PHP の版を書く場所
composer.json の require に、プロジェクトが動く PHP の版を書く。
| 書き方 | 意味 |
|---|---|
"php": ">=8.2" | 8.2 以上ならよい |
"php": "^8.2" | 8.2 以上で 9.0 より前 |
"php": "~8.3.0" | 8.3.x だけ |
今の PHP で動くか確かめる
| コマンド | 分かること |
|---|---|
php -v | コマンドで動く PHP の版 |
composer check-platform-reqs | 必要な PHP の版と拡張が、今の環境にそろっているか |
composer why-not php 8.4 | PHP 8.4 にすると困るパッケージ |
composer outdated | 新しい版が出ているパッケージ |
コマンドの PHP と Web の PHP は違うことがある
php -v はコマンドで動く PHP の版。Web で動く PHP(PHP-FPM など)とは別の版のことがある。サイトに関係するのは Web の側。
本番の版に合わせる(config.platform)
- 開発するパソコンと本番で PHP の版が違うと、本番で動かないパッケージが入ることがある
- composer.json の
config.platform.phpに本番の版を書くと、その版で動くパッケージだけを選ぶ - PHP を上げるときは、この値も新しい版に変えてから
composer updateする
PHP を上げるときの流れ
composer why-not php 8.4で、困るパッケージを洗い出す- それらのパッケージを、新しい PHP に対応した版に上げる
config.platform.phpとrequireのphpを新しい版に変える- テスト環境で
composer installして動かす - 問題がなければ本番を切り替える
よくある質問
composer.json の php の指定は、何のためにありますか?
そのプロジェクトが動く PHP の版を示すためです。
Composer は、この指定に合わない環境ではインストールを止めます。
`composer why-not php 8.4` で何が分かりますか?
PHP 8.4 にしたときに、困るパッケージとその理由が一覧で出ます。
PHP を上げる前の洗い出しに使えます。
参考にした情報
この記事の情報
2026年10月22日時点の公開情報にもとづく。最新は各公式のページを確認すること。
URL を入れるだけで、PHP2Shell の危険度と今やることが分かる。移行の相談もできる。
無料で診断する


