緊急PHP2Shell(CVE-2026-109618 / 109619)公表から1日/PHP 8.1 以前は修正版なし今すぐ診断
  1. ホーム
  2. ブログ
  3. 移行の手順

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.4PHP 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 を上げるときの流れ

PHP の移行の5つの手順
PHP の移行の5つの手順
  1. composer why-not php 8.4 で、困るパッケージを洗い出す
  2. それらのパッケージを、新しい PHP に対応した版に上げる
  3. config.platform.php と require の php を新しい版に変える
  4. テスト環境で composer install して動かす
  5. 問題がなければ本番を切り替える

よくある質問

composer.json の php の指定は、何のためにありますか?

そのプロジェクトが動く PHP の版を示すためです。
Composer は、この指定に合わない環境ではインストールを止めます。

`composer why-not php 8.4` で何が分かりますか?

PHP 8.4 にしたときに、困るパッケージとその理由が一覧で出ます。
PHP を上げる前の洗い出しに使えます。

無料ツールPHP2Shell 脆弱性チェッカーPHP のバージョンとサーバー会社を選ぶだけで、危険度と今やることが分かります。

参考にした情報

この記事の情報

2026年10月22日時点の公開情報にもとづく。最新は各公式のページを確認すること。

URL を入れるだけで、PHP2Shell の危険度と今やることが分かる。移行の相談もできる。

無料で診断する

この記事の著者

編集部