飯田市でホームページ制作をしている牧内です。
レンタルサーバーのPHPバージョンを変更したところ、WordPressのホームページが表示されなくなった、というご相談がありました。サイトは長く更新されておらず、管理画面にも入れない状態でした。
結果として、PHP7.4への一時的な切り戻し、バックアップ、CA証明書ファイルの交換、WordPress本体・プラグイン・テーマの更新、PHP8.2への移行を行い、作り直さずに復旧できました。
この記事では、その手順を、実際に効いた順に整理します。同じ症状で検索された方が、迷わず進められることを目指しました。飯田市・南信州でホームページ制作会社をお探しの方にも、古いWordPressの対応例として参考になればと思います。
サーバー、テーマ、プラグインの組み合わせで状況は変わります。ここに書いた手順が、すべての環境で同じ結果になるとは限りません。
この記事の要点
- PHP変更後に500エラーが出たら、PHPを元のバージョンに戻して、まず管理画面に入れる状態にする
- 更新の前に、ファイル・データベース・旧テーマをバックアップする
- 更新時に「cURL error 60」が出る場合は、WordPress内の
ca-bundle.crtを新しいものに交換する - 更新の順序は、WordPress本体 → プラグイン → テーマ → PHP
- 一時的に戻したPHP7.4は、公式サポートが終了しているため、そのまま使い続けない
現象:PHP8への変更後に500エラー
レンタルサーバーのPHPをPHP8.4に変更したところ、サイトに「HTTP ERROR 500」が表示されました。管理画面にもログインできず、管理画面からの更新もできない状態でした。
調べると、環境は次のとおりでした。
| 項目 | 更新前の状態 |
|---|---|
| WordPress本体 | Ver.5.1.19(2019年登場) |
| テーマ | 国内の有料テーマ(2018年頃のバージョン) |
| プラグイン | 古いバージョンが複数 |
| SSL化 | 未対応 |
| PHP | 8.4に変更後、500エラー |
仮説:PHPと古いプログラムの互換性
500エラーは、PHPの互換性のほかに、プラグインの不具合やサーバー設定でも起きます。今回は、PHPを変更した直後に起きたこと、WordPress本体とテーマが数年更新されていなかったことから、古いプログラムが新しいPHPに対応できていないと推測しました。
検証:PHPを7.4に戻す
PHPのバージョンを7.4に戻したところ、ホームページが表示され、管理画面にもログインできました。これでPHPの変更が原因であることを確認できました。
ここでの注意点は2つです。
- PHP7.4は公式サポートが終了しているため、一時的な措置にとどめる
- 管理画面に入れる状態を確保したうえで、更新作業に進む
真因:WordPress・テーマ・証明書がまとめて古かった
原因は一つではありませんでした。次の3点が重なっていました。
- WordPress本体、テーマ、プラグインが、新しいPHPに対応していなかった
- WordPressの更新が、SSL証明書の検証エラー(cURL error 60)で失敗していた
- 更新時に確認が必要な、既存テーマのカスタマイズが残っていないか未確認だった
以下、実際に行った手順です。
手順1:更新前にバックアップを取る
古いWordPressから最新版への更新は、変更が大きくなります。更新前に、次のバックアップを取りました。
ファイル一式(FTP)
- WordPress本体
- テーマ、プラグイン
- アップロードされた画像・PDF
wp-config.phpなどの設定ファイル- 公開フォルダ直下の設定ファイル
今回は、WordPressがサブフォルダに入っていました。そのため、WordPress本体のフォルダだけでなく、公開フォルダ直下のファイルも確認しています。
データベース
記事や固定ページ、各種設定は、データベースに保存されています。ファイルだけでは復元できないため、SQL形式でエクスポートし、展開して中身と容量を確認してから保管しました。
記事のXMLエクスポート
管理画面の「ツール → エクスポート」で、投稿と固定ページをXMLで保存しました。データベース全体の代わりにはなりませんが、記事を別形式で残しておく手段になります。
旧テーマのファイル
テーマを更新すると、古いテーマファイルは置き換えられます。テーマに直接書き加えたコードがあると、更新で消えるため、旧テーマのファイルを保存して、独自のカスタマイズがないか確認しました。
手順2:「cURL error 60」で更新できないときの対処
WordPress本体の更新を始めると、更新ファイルのダウンロード段階で次のエラーが出て、失敗しました。プラグインの更新も同様でした。
text
cURL error 60: SSL certificate problem:
unable to get local issuer certificate
エラーの意味
HTTPS通信で、接続先のSSL証明書を検証できないときに出るエラーです。WordPressは、更新時に外部のサーバーから更新ファイルを取得します。このとき、wp-includes/certificates/ca-bundle.crt に入っている証明書の情報で、通信先を検証します。
対処:ca-bundle.crt を新しいものに交換する
古いWordPressの ca-bundle.crt が古くなり、検証に失敗していたと思います。次の手順で交換しました。
- サーバー上の
wp-includes/certificates/ca-bundle.crtを、ローカルにダウンロードして保存する - 最新版のWordPressのパッケージに含まれる
ca-bundle.crtを用意する - サーバー上のファイルを、新しいものに上書きする
交換後に、WordPress本体の更新を再実行すると、正常に進みました。プラグインの更新も、同様に通るようになりました。
証明書の検証を無効にする方法は使わない
検索すると、証明書の検証を無効にする設定が紹介されていることがあります。検証を無効にすると、通信先が本物かどうかを確認できなくなり、セキュリティ上のリスクが残ります。今回は、無効化せず、古い証明書ファイルの交換で対応しました。
cURL error 60は、サーバー側の証明書設定が原因になることもあります。この方法で、すべての環境で解決するとは限りません。
手順3:WordPress本体を更新する
更新は、次の順で進めました。
WordPress Ver.5.1.19 → 最新版(Ver.7系)
古いバージョンからの更新のため、処理に時間がかかり、途中で管理画面の表示が不安定になりました。最終的には更新が完了し、管理画面とサイトの表示を確認しました。
手順4:プラグインを更新する
本体の更新後に、プラグインを更新しました。このサイトでは、お問い合わせフォーム、画像表示、セキュリティ、カスタムフィールドなどが、プラグインで実装されていました。
更新できても、動作するとは限りません。特にお問い合わせフォームは、実際に送信テストをします。
手順5:テーマを更新する
使用していた有料テーマを、2018年頃のバージョンから最新版に更新しました。
- 手順1で保存した旧テーマのファイルを確認し、独自のカスタマイズ(直接書き加えたCSSやPHP)がないか調べる
- 提供元の公式サイトから、最新版のテーマファイルを取得する
- 管理画面のテーマアップロード機能で、最新版をアップロードし、旧テーマを置き換える
- サイトの表示を確認する
今回は、明確な独自修正は見当たりませんでした。テーマの更新は問題なく完了し、表示にも崩れはありませんでした。
手順6:PHPをPHP8.2に切り替える
本体・プラグイン・テーマの更新が済んでから、PHPをPHP8.2に切り替えました。
PHP 7.4 → 8.2
ホームページと管理画面が、正常に表示されました。PHPだけを変更しても復旧しなかったのは、PHP以外のプログラムも古かったためです。
手順7:ホームページのSSL化
このサイトは、SSL化されていませんでした。サーバーでSSL証明書を申し込み、HTTPSで表示できるようにしました。
SSL化と、手順2のcURL error 60は、別の問題です。サイトをSSL化しても、WordPressの更新エラーは解消しません。
手順8:メール用Web領域のPHPを確認する
このサーバーでは、メール用のWeb領域に、PHP5.6が設定されていました。メールの送受信は、通常PHPでは処理されていません。ただし、PHPを使うWebメールや独自プログラムがある場合は、PHPの変更で影響が出ます。
メール用Web領域のファイルと設定を確認したところ、PHPを使うプログラムは見当たりませんでした。そのため、PHPを5.6から8.2に変更しました。変更後は、メールの送受信を確認します。
復旧後の確認項目
- サイトのトップページと下層ページが、崩れずに表示される
- 管理画面にログインでき、投稿の編集ができる
- お問い合わせフォームの送信テストが通る
- HTTPSで、警告なしに表示される
- メールの送受信が正常に行える
- PHPのWarningやNoticeが画面に出ていない
古いWordPressを更新するときの順序
今回の手順をまとめると、次のとおりです。
- PHPを元のバージョンに戻し、管理画面に入れるようにする
- ファイル・データベース・旧テーマをバックアップする
- 更新エラー(cURL error 60など)の原因を取り除く
- WordPress本体 → プラグイン → テーマの順に更新する
- 表示と機能(特にフォーム)を確認する
- PHPを新しいバージョンに切り替える
- メールなど、同じサーバー上の関連設定を確認する
作り直さずに復旧できる場合
PHPの変更で表示されなくなると、サイトを作り直す必要があるのかと、心配される方が多いと思います。今回のように、原因がWordPress本体・テーマ・プラグインの古さにある場合は、既存のサイトを活かして復旧できることがあります。
ただし、すべてのサイトがそうとは限りません。テーマやプラグインの提供が終わっている場合や、独自のプログラムが多く組み込まれている場合は、コードの修正や一部の作り直しが必要になります。
まとめ
PHP8への変更で表示されなくなったWordPressは、PHPを一時的に戻し、バックアップを取り、cURL error 60の原因(古いCA証明書ファイル)を取り除いたうえで、本体・プラグイン・テーマを順に更新して復旧しました。最後にPHP8.2へ切り替えています。
WordPressは、PHP、データベース、テーマ、プラグインなど、複数のプログラムで動いています。どれか一つを新しくしても、他が古ければ動きません。PHPのバージョンアップのお知らせが来たときは、WordPress本体、テーマ、プラグインのバージョンを、先に確認しておくことをお勧めします。

飯田市でホームページ制作・広告運用をサポート|デザインスタジオiR
牧内理恵
まきうちりえ
飯田市在住、広告制作歴20年以上。これまで200名以上のクライアント様と向き合い、100件以上のサイト制作を手掛けてきたデザイナー兼エンジニアの牧内理恵です。御社の強みを引き出し、業績アップに繋がるWebサイト・ネットショップ・販促ツールをご提案します。拠点とする長野県内はもちろん、全国各地からのご依頼にも柔軟に対応しております。
「相談してよかった」と言っていただける、飯田下伊那地域のパートナーとして。
長野県飯田市を拠点に、ホームページ制作やECサイト構築、Web運用のトラブル解決を承っています。20年以上のキャリアで培った「伝わるデザイン」と「確かな技術」で、御社の業績アップを支えます。飯田・下伊那エリアはもちろん、全国からのオンライン相談も大歓迎です。
「ホームページを作りたい」「ホームページをリニューアルしたい」といったご依頼もお気軽にお声がけください。
※強引な勧誘は一切ありませんので、安心してお悩みをお聞かせください。


