![]()
こんにちは、トウゴです。
今回は、PHPのバージョンを変更したらエラーが出てしまった時の対処法(解決方法)についてまとめました。
同じような状況になった方は参考にしてみてください。
解決方法
先に解決方法を書いていきます。
発端となった出来事や、詳しい解説はそのあとに記載していきます。
対象となるエラーについて
この解決方法は、以下のエラーログが表示された際にとれる解決方法です。
Warning: Use of undefined constant ‘CONCATENATE_SCRIPTS’ – assumed ‘‘CONCATENATE_SCRIPTS’'(this will throw an Error in a future version of PHP
これ以外のエラーの場合はこの方法では解決できない可能性が高いので、他の解決方法を探してください。
※上記エラーの後に「何行目にあります」的な内容の英文が入っている場合もありますが、その場合でもエラー文が上記と同じなら対応できます
ちなみにこの解決方法は、「使用しているレンタルサーバーがロリポップ!」の場合にとれる解決方法です。
ロリポップ!以外のレンタルサーバーの場合は同じ方法がとれない可能性もありますので、ご注意ください。
また、行う際には必ずバックアップを取ってから行ってください。
ロリポップ!を使っている方だとバックアップオプション(※有料)があるのでそちらでも良いですし、他のレンタルサーバーでもバックアップオプションがあると思います。
また、WordPressのプラグインにもバックアップのものがあるので、そちらを利用してみても良いでしょう。
エラーログを表示させる方法
「ロリポップ!レンタルサーバー」を利用している方は、以下のサイトで解説されている方法でエラーログを表示させることができるようになります。
リンク先の「2.PHPプログラム内で何らかの問題が発生した場合」という項目にエラーログを表示させる方法が書いてあります。
探しにくいという方のために、その方法だけここにも記載しておきます。
【手順】
- ロリポップ!ユーザー専用ページからログインして、「サーバー管理・設定」>「PHP設定」を選択
- エラーが発生しているドメインの「php.ini」の「設定」をクリックし、「display_errors」を「On」に変更
- 画面下部の「php.iniの変更」をクリック
- エラーが発生しているドメインのサイトに行き、エラーログを確認する
上記の手順で「display_errors」を「On」に設定すると、エラーログが表示されるようになります。
確認をする際はPHPのバージョンを元のバージョンに戻しておき、自分のサイトがちゃんと表示される状態にしておきましょう。
エラーログはページ上部に表示されます。
違和感があるためすぐにわかるので、ページ内を探す必要はありません。
表示されたエラーが、「Warning: Use of undefined constant ‘CONCATENATE_SCRIPTS’ – assumed ‘‘CONCATENATE_SCRIPTS’'(this will throw an Error in a future version of PHP」でしたら、次に記載する解決方法を試してください。
エラー解消の手順
- ロリポップ!ユーザー専用ページにログインし、「ロリポップ!FTP」をクリックする
- エラーが出るドメインのデータがあるフォルダを選択し、「wp-config.php」というファイルを選択する
- 現在の属性を400から600に変更し、保存するをクリックする
- 書き込みができるようになるので、まずは全選択しコピーして、メモ帳などにペーストしておく
- コピペしたら、下の方にある「define(‘CONCATENATE_SCRIPTS’, false);」という記述の「‘」と「’」を書き換える
- 書き換えたら一度保存し、保存に成功したら現在の属性を600から400に変更する
ここでの表示だとどこが違うのか非常にわかり辛いのですが、「‘CONCATENATE_SCRIPTS’」の「‘」と「’」が「wp-config.php」内の、同じように記述されている他のタグと少しだけ違う記号になっているんですよね。
上の手順4でメモ帳にコピペしますが、そこで確認すると違う記号だというのがとても分かりやすいです。
今回のエラーを翻訳すると、「警告: 定義されていない定数「CONCATENATE_SCRIPTS」が使用されています。「CONCATENATE_SCRIPTS」とみなされます(PHPの将来のバージョンではエラーが発生します)」となります。
要するに、「CONCATENATE_SCRIPTS」の記述がおかしいけど、今のPHPのバージョンでは正しいとみなしておくよ、でも将来のバージョンではエラーになるよということですね。
その記述のおかしい部分が「‘」と「’」の違いだったということです。
そのため、該当の部分を正確な記号に書き換えるとエラーが出なくなるということです。
上の手順6をした後は、「PHP設定」からPHPのバージョンを変更してください。
変更が適用されてからサイトを確認し、ちゃんと表示されればOKです。
発端となった出来事や解決までの過程
ここからは発端となった出来事や、上記の解決方法をするまでにやったことなどを紹介していきます。
発端
出来事というほどでもないですが、まず何故PHPのバージョンを変更しようかとなったかというと、WordPressの管理画面に警告が出たからですね。
WordPressにログインするとダッシュボードが表示されるのですが、色々な通知などが表示されています。
そこで割と長い期間、サイトヘルスの項目が黄色の状態で表示されていました。
PHPのバージョンが古いから変更してねっていうのが主な理由で黄色だったのですが、変更してサイトが見れなくなったら嫌だなとかで変更を躊躇っていました。
それが先日新たに「PHPを変更しなさい」というような警告が表示されるようになり、これはいよいよやらないとダメだなと思い変更することになりました。
PHPのバージョンを変更したら…
変更前はバージョンが7.4で、それを8.3(CGI版)に変更しました。
変更自体はロリポップ!レンタルサーバーの方で、簡単な操作で行うことができるのですぐ終わったのですが、変更が適用されてからサイトを見てみたら…エラーページになっているじゃないですか!
私の場合は真っ白な画面ではなく、「このページは動作していません」というメッセージと下の方に「HTTP ERROR 500」と書かれた画面が出てきました。
これはヤバいけど原因がすぐにはわからなかったので、とりあえず元のPHPのバージョンに戻し、サイトが表示されるようにだけはしました。
原因をつきとめて対応しないとバージョンを変更することができないので、まず原因を探るところから始めました。
対策①:不要なプラグインを削除する
まずは有効化していないプラグインや、最初は必要だったけど今はいらなさそうなプラグインを削除するところから始めました。
このブログサイトも運営期間がそこそこ長めですし、元は別のブログサービスからWordPressに移行したサイトですし、現在のテーマの前に無料テーマを使っていた時期もあり、その時にだけ必要なプラグインというものがいくつかありました。
それらが無効化されていたり、よくよく確認したら今はもう必要ないものもあったので、まずはそれらを削除してみました。
【結果】プラグインは原因ではありませんでした
不要なものを削除しましたが、その後またバージョンを変更してサイトを確認してみたら500エラーが出たので、プラグインは原因ではありませんでした。
ただ不要なプラグインは放置していても良いことはないので、整理したのは無駄ではなかったかなと思います。
対策②:不要なテーマを削除する
対策①でも少し触れたとおり、現在のテーマの前に別のテーマを使っていました。
それがまだ残ったままだったので、原因になっているかなと思いそちらも削除しました。
【結果】テーマは原因ではありませんでした
プラグインと同じく、テーマを削除してからPHPのバージョンを変更して確認しましたが、また500エラーが出たのでテーマは原因ではありませんでした。
しかしこのテーマ関連で気になったことがあり、このサイトで使っているテーマは「THE THOR」という有名な有料テーマなのですが、このテーマはクラシックエディタ専用のテーマになっています。
でも現在WordPressはブロックエディタが標準になっており、クラシックエディタを使うためにはClassic Editorというプラグインを入れる必要があります。
しかしこのClassic Editorは既にサポート外となっており、更新もされていない状況のようでした。
Classic Editorは現役で使っているプラグインでしたので、対策①では削除の対象外だったんですね。
もしClassic Editorが原因だった場合、削除すると今のテーマを使えなくなるため、新しいテーマを探す必要があります。
THE THORを作っている会社がブロックエディタ用のテーマを作っていたため、そちらに変更しないといけないかなと思ったのですが、まあまあのお値段するため購入を迷っていました。
テーマを変更したらまたデザインを直さなければならなくなりますしね。
このまま新しいテーマに変更しても良かったのですが、よくよく考えたら「500エラーになる原因」的な内容で検索をしていなかったなと思い、その内容で検索してみてわからなかったらテーマ変更をしようと決めました。
対策③:500エラーの原因を検索する
確か「500エラー PHP変更 原因」のような、PHPのバージョンを変更したことによる500エラーだとわかるような語句で検索してみました。
検索してみたら、その流れからロリポップ!レンタルサーバーの500エラーが出た時の対策方法を解説しているページを発見できました。
ロリポップ!を使っているので、参考になるのではないかと確認したところ、エラーログを表示させる方法が出ました。
簡単なやり方だったのですぐに表示されるようにしたところ、「解決方法」で書いたエラーログが表示されました。
それが解決の糸口になったんですよね。
エラーログが英語だったので翻訳をして、出た日本語訳の方で検索してみました。
するとこちらのサイトが出てきたんですね。
読んでみると、まるっきり同じ状況じゃないですか!!
翻訳されたエラーログを見た時に、何かしら記述がおかしいんだろうなというのはわかったのですが、どこがおかしいのかまではわからなかったんですよね。
なのでこの「‘」と「’」が原因だというのはこちらのサイトを見てわかったので、本当にありがたかったです。
さて、今回の原因となった「‘」と「’」ですが、編集しようと「wp-config.php」を開いて該当部分を確認しましたが、恐らくフォントの関係からか、正直ロリポップ!FTPで確認した段階では何が違うんだ?というくらい同じように見えていました。
バックアップの意味もあり、先に修正前の「wp-config.php」にあるコードを全て選択し、メモ帳にペーストしておいたのですが、そちらで見ると明らかに違いがわかりました。
なので修正のために編集する前に、全選択してコピペしておいた方がわかりやすいですし間違った時に直せるので安心ですよ。
(上の手順にも書いてあります)
この記述がPHP8でエラーになったのは、ざっくり言うとPHP7よりPHP8の方がエラーになる基準が厳しくなったからだそうですね。
エラーログの翻訳にもある通り、今のバージョンでは本来の記述とみなしておくけど、将来バージョンが上がるとエラーになるということで、言葉通りエラーになったわけですね。
何故「‘」と「’」が本来の記述ではないもので書かれているのかはわかりませんが…これはどこかに問い合わせたら直されるんですかねぇ…?
対応してみての感想
まるっきりサイトを見ることができなくなったのは初めてだったのでかなり焦りましたが、何とか解決ができて無事にPHPのバージョンも上げられて良かったです。
WordPress管理画面の警告もなくなりましたし、サイトヘルスも良くなったので安心しました。
今回PHPのバージョンを上げる時も、エラーになってもある程度落ち着いてできたのは、バックアップオプションを付けていてバックアップをしていたからです。
もししていなかったら、まずはバックアップをする方法を探したり、プラグインなりを入れたりというところから始めなければならなかったですし、エラーに対して落ち着いて対処できなかったかなと思います。
ロリポップ!レンタルサーバーでは月額440円でバックアップオプションが付けられるので、個人的には付けておいた方が良いと思っています。
サーバー代と合わせてもそんなに高額ではないので、保険として付けておくことをおすすめします。
ちなみにロリポップ!には色々なプランがありますが、その中でもハイスピードプランとエンタープライズプランは自動バックアップが元々付いています。
エンタープライズプランは会社のホームページのような、大規模なサイト運営に適したプランなので、個人でサイトやWordPressなどのブログを運営する場合はハイスピードプランをおすすめします。
あとエラーログを表示させるのは初めて設定したのですが、かなり役に立ったので簡単に設定できてありがたいなと思いました。
以前イラレが頻繁に落ちる原因と解決方法をまとめた記事を書きましたが、
こんにちは、トウゴです。今回は私が経験した「Windows版Adobe Illustratorが頻繁にクラッシュする」状況の原因と解決した方法をまとめました。この状況に関して、同じようになった方をあま[…]
この時の原因を突き止めたのも「イベントビューアー」でイラレのエラーを確認できたからなので、エラーログを確認し、それをコピペして検索するとかなり解決が早くなりました。
大体英文で出てくるので、ちょっと身構えてしまうと思いますが、慌てずエラー文をコピー>メモ帳などにペーストして、落ち着いて検索しましょう。
しかし本当に少しでも記述が違うだけで(しかも見る環境によっては違いが本当にわからない)まったくサイトが見られなくなるのは大変だなと思いました…。
解決までに何日間かかかったし、テーマ変更のために出費も覚悟していたので、解決した時は本当に感動しました。
そして上で紹介した、エラー文を検索した時に見つけて解決の参考にさせて頂いたサイト様には本当に本当に感謝しています。
直接コメントしてお礼を伝えようかと思ったのですが、大分更新が止まっているようなので保留しております…。
素晴らしい記事を書いてくださり、ありがとうございます!!
終わりに
自分のサイトが見れなくなるとかなり焦りますよね。
実際私もバージョンを上げないと管理画面に警告が出たままだし、だからといって上げると見れなくなるしでかなり悩みました。
そんな時にヒントとなる記事を見つけることができたので、解決しかなり安心したので、同じようにこの記事が解決の参考になったら幸いです。
最後までお読みくださりありがとうございました。
