インフラ・運用 2026.09.10

本番サーバーのPHP・MySQLバージョンを安全に確認する方法と緊急対応の見分け方

約4分で読めます

本番環境のPHP・MySQLバージョンを安全に確認する具体的な手順と、今すぐ対処が必要なケースの判断基準を実例を交えて解説します。

「うちのサーバー、PHPのバージョンいくつだっけ?」——それ、放置すると危険です

こんな経験はないでしょうか。

  • ホスティング会社からメールが届いた。「PHP 7.4のサポートが終了します」と書いてあるが、何をすればいいかわからない
  • WordPressのプラグインを更新しようとしたら「PHP 8.0以上が必要」と表示された
  • セキュリティ診断を受けたら「MySQLのバージョンが古い」と指摘されたが、どう確認すればいいかわからない

特に本番環境の場合、「とりあえずコマンド叩いてみよう」という軽率な行動が、予期しないサービス停止やデータ損失につながるリスクがあります。確認するだけのはずが、設定を書き換えてしまった——という話は、業界ではよく聞く失敗です。

この記事では、本番サーバーを傷つけずにPHPとMySQLのバージョンを安全に確認する手順と、確認後に「今すぐ動くべきかどうか」を正確に判断するための基準を、実際の対応事例を交えながら解説します。


なぜバージョン確認がこれほど重要なのか

PHPやMySQLには、それぞれ「公式サポート期限」があります。サポートが終了したバージョンには、新たに発見されたセキュリティ脆弱性のパッチが提供されません。つまり、古いバージョンを使い続けることは、施錠していない扉を放置するようなものです。

赤で示したPHP 7.4と8.0はすでにEOL(End of Life)を迎えており、現時点でこれらのバージョンを本番環境で稼働させているサイトは、脆弱性を抱えた状態で運用していることになります。

実際にFivenineでも、あるクライアント(神奈川県内の製造業)のサイトを引き継いだ際、本番環境がPHP 7.3で動いていたケースがありました。前任のベンダーが更新を先送りし続けた結果、Laravelのバージョンも古く、セキュリティパッチが当たっていない状態でした。そのまま気づかなければ、顧客情報漏洩のリスクに長期間さらされていたことになります。


サーバー・インフラでお困りですか?

障害対応・移行・パフォーマンスチューニングなど、ご相談ください

無料で相談する

安全なバージョン確認の手順

「本番環境で確認する」といっても、方法はいくつかあります。リスクの低い順に紹介します。

① コントロールパネル(最も安全)

さくらインターネットやロリポップ、XServerなどのレンタルサーバーを利用している場合、管理画面からPHPバージョンを確認・変更できます。コマンド操作が一切不要なため、これが最も安全な確認方法です。

  • さくらインターネット:サーバコントロールパネル →「スクリプト設定」→「PHP設定の確認」
  • XServer:サーバーパネル →「PHP Ver.切替」
  • ロリポップ:ユーザー設定 →「PHP設定」

② PHPinfo()ファイルを使った確認

SSHが使えない、または使いたくない場合はこの方法が現実的です。ただし、使い終わったら必ず削除してください(後述)。

<?php
// ファイル名: phpinfo_check.php
// ※確認後は即削除すること!
phpinfo();

このファイルをサーバーにアップロードし、ブラウザからアクセスします。PHP、Apache/Nginxのバージョン、読み込まれている拡張モジュールなど、サーバー環境の詳細が一覧表示されます。

⚠️ 重要: phpinfo() の出力には、サーバーの詳細な内部情報が含まれます。公開したままにしておくと、攻撃者にとっての「設計図」になりかねません。確認が終わったら5分以内に削除するのを鉄則にしてください。

③ SSHコマンドによる確認

VPS・専用サーバー、またはSSHアクセスが許可されている環境での確認方法です。直接コマンドで確認できるため、最も正確な情報が得られます。

# PHPバージョンの確認
php -v

# 出力例
PHP 8.2.12 (cli) (built: Nov  6 2023 08:09:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies

# インストール済みモジュール確認
php -m

# php.iniの場所を確認
php --ini

④ Laravelプロジェクトでの確認方法

Laravelを使用している環境では、artisan コマンドからも確認できます。

# Laravelのバージョンとサーバー情報を表示
php artisan --version

# 環境情報の詳細確認(本番では注意して使用)
php artisan about

# 出力例(一部)
  Environment .............................................................. production
  PHP Version .............................................................. 8.2.12
  Composer Version ......................................................... 2.6.5

今すぐ対処が必要かどうかの判断基準

バージョンを確認したあとに重要なのが「それで何をすべきか」の判断です。以下のフローで確認してください。

flowchart TD
    A[PHPバージョン確認] --> B{PHP 7.4以下?}
    B -->|YES| C[🔴 緊急対応が必要\nEOL済み・脆弱性リスク大]
    B -->|NO| D{PHP 8.0?}
    D -->|YES| E[🟠 早急に対応\n2023年末にEOL済み]
    D -->|NO| F{PHP 8.1?}
    F -->|YES| G[🟡 2025年末までに対応予定\n今のうちに計画を]
    F -->|NO| H[🟢 PHP 8.2 / 8.3\n現時点では問題なし]
    C --> I[専門家に相談して\n移行計画を立てる]
    E --> I
    G --> J[移行スケジュールを\n検討し始める]
状況リスクレベル推奨アクション目安期限
PHP 7.3以下🔴 最高即時対応・専門家へ相談今すぐ
PHP 7.4🔴 高緊急でバージョンアップ今すぐ
PHP 8.0🟠 中高早急にアップグレード1ヶ月以内
PHP 8.1🟡 中2025年末に向けて計画半年以内
PHP 8.2 / 8.3🟢 低現状維持・定期モニタリング不要
MySQL 5.7以下🔴 高8.0へのアップグレードを検討優先対応

よくある失敗パターンと対処法

失敗①「確認用ファイルを削除し忘れる」

phpinfo.php をアップロードしたまま数週間放置していた——というケースは実際によくあります。悪意ある第三者がクローラーでこのようなファイルを検索しており、放置するとサーバー構成が筒抜けになります。確認後は必ず削除し、できれば .htaccess でアクセス制限をかけた状態で使用してください。

# .htaccessで特定IPのみ許可する例
<Files "phpinfo_check.php">
  Order Deny,Allow
  Deny from all
  Allow from 203.0.113.0  # 自社のIPアドレスに変更
</Files>

失敗②「バージョンアップしたら動かなくなった」

PHP 7.4 → 8.x へのアップグレードは単純な数字の変更ではありません。PHP 8系では型の扱いが厳格化されており、7系で問題なく動いていたコードが致命的なエラーを起こすことがあります。特にWordPressのカスタムプラグインや、古いLaravelアプリケーションでは注意が必要です。

本番環境で直接切り替えるのは絶対に避けてください。ステージング環境で動作確認→バックアップ取得→本番適用の順番を守ることが鉄則です。

# 本番適用前に必ずバックアップを取得
# データベースのバックアップ
mysqldump -u username -p database_name > backup_$(date +%Y%m%d).sql

# ファイルのバックアップ(tar.gz形式)
tar -czf backup_files_$(date +%Y%m%d).tar.gz /var/www/html/

失敗③「MySQLを8.0にしたらLaravelの接続設定が変わった」

MySQL 8.0ではデフォルトの認証プラグインが caching_sha2_password に変更されています。古いLaravelプロジェクトでは接続エラーが発生する場合があり、config/database.php の修正か、MySQLユーザーの認証方式の変更が必要になることがあります。バージョンアップ後にエラーが出た場合はまずここを疑ってください。


サーバー・インフラでお困りですか?

障害対応・移行・パフォーマンスチューニングなど、ご相談ください

無料で相談する

サーバー管理、丸ごとお任せください

サーバー保守・運用

監視・障害対応・パフォーマンス改善まで、安定稼働をサポートします

200件以上の制作実績 顧客満足度97% 初回相談無料

※ 通常1営業日以内にご返信します

まとめ:確認したその日に動き始める

バージョン確認は「調べて終わり」ではありません。確認した結果をもとに、次のアクションへとつなげることが重要です。

特にPHP 7.x系が現役で稼働している本番環境は、今この瞬間も無防備な状態にあると認識してください。Fivenineでは過去に、PHP 7.3で動いていたECサイトがセキュリティインシデントに遭遇したケースを目にしています。対応コストは事前の移行費用の数倍に膨らみました。

「すぐに対応するのが難しい」という場合でも、せめて現状を正確に把握し、移行計画を立てることから始めてください。

バージョン確認の結果、「どこから手をつければいいかわからない」「ステージング環境を用意するのが難しい」という場合は、ぜひFivenine Designにご相談ください。神奈川を拠点に20年以上、Laravel・WordPress・Next.jsを中心とした開発・保守を手がけてきた経験から、お客様の環境に合った安全な移行プランをご提案します。

この記事をシェア

サーバー・インフラの課題を解決します

構築・移行・監視・障害対応まで、安定した運用環境をご提供します。 初回相談は無料です。

※ 1営業日以内にご返信いたします

この技術でお困りなら

無料でプロに相談できます

相談する
AIに無料相談