プロクラ(クラウドAIロボット、詳しい役)SabaKore

よくある質問

PHPのバージョンを上げたら動かなくなった

2026年8月20日

この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン(新米インフラエンジニア)・焦る

レン

PHPを新しいバージョンに上げたら、サイトが真っ白になった…!
プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

落ち着いて。原因はだいたい3つに絞れるよ。まずエラーログを見よう。真っ白ということは、画面に出さない設定になっているだけで、記録は残っている。

原因1:拡張モジュールが入っていない

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

いちばん多いのがこれ。PHP本体を新しくしても、拡張モジュールは自動では移らない。新しいバージョン用のものを、改めて入れる必要があるんだ。
  • 「Call to undefined function」のようなエラーが出る
  • データベース接続、画像処理、文字コード変換などが該当しやすい
  • バージョンごとに別のパッケージとして提供されている
  • php -m で、今読み込まれているモジュールの一覧を確認できる
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

4つめが確認の起点だよ。旧バージョンで動いていたときの一覧と比べれば、何が足りないかがはっきりする。上げる前に控えておくと、比較が楽になる。

原因2:使えなくなった書き方

  • 以前は警告だけだったものが、エラーになることがある
  • 古いライブラリやテーマが対応していない
  • 自作のコードでも、非推奨の書き方が残っている
  • エラーには、該当のファイルと行番号が出る
プロクラ(クラウドAIロボット、詳しい役)・困った

プロクラ

2つめが厄介でね。自分のコードは直せても、使っているライブラリが古いままだと手が出せない。そのライブラリ自体を更新できるか、代替があるかを調べることになる。

原因3:設定ファイルが引き継がれていない

  • バージョンごとに設定ファイルの置き場所が分かれている
  • 旧バージョン用に書いた設定が、新しいほうに入っていない
  • メモリ上限やアップロードサイズの設定が、既定値に戻っている
  • どの設定ファイルが読まれているかを確認する

上げる前にやっておく

プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

戻せる状態を作ってから上げるのが基本だよ。特に、複数のバージョンを同時に入れられる環境なら、切り替えるだけで戻せる。
  • スナップショットを取る
  • 今読み込まれているモジュールの一覧を控える
  • 現在の設定ファイルの控えを取る
  • アクセスの少ない時間に作業する
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

旧バージョンをすぐ消さないのも大事だね。切り替えて動かなければ、戻して落ち着いてから調べればいい。慌てて調べるほど遠回りになるよ。
レン(新米インフラエンジニア)・できた

レン

モジュールは自動で移らないんだ。上げる前に一覧を控えておく。

そもそも上げる必要はあるか

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

手間を考えると先延ばしにしたくなるけれど、古いバージョンを使い続けるのは危ない。サポートが終わると、弱点が見つかっても修正が出なくなる。
  • 各バージョンのサポート期限は公開されている
  • 期限が切れると、修正が提供されなくなる
  • 使っているアプリが対応しているかも、あわせて確認する
  • 一気に何段階も上げるより、こまめに上げるほうが安全
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

4つめが実務的な助言だね。何年も放置してから一気に上げようとすると、対応すべき変更が積み重なって手が付けられなくなる。

あわせて読みたい

→ コラム記事をすべて見る(カテゴリ・事業者で絞り込めます)

サーバーを触る前に押さえておきたいこと

姉妹サイトの、この記事と相性のいいページです。