2024.01.04PHP警告エラーの原因と対処方法Web制作PHPで発生する警告・エラーメッセージと対処方法WordPress本体やプラグイン、PHPアップデート直後に、WordPressサイト上で多数のWarningから始まる警告文やエラーが表示されて上手く動作しないことがあります。原因は単純記述ミスから、やや難解なメッセージまでいろいろあります。海外サイトなどでないとエラーメッセージの警告内容が言及されていないエラーも発生する度に毎回調べるのが手間なので自社用リファレンスとして、PHPのエラーメッセージの内容と原因、対処方法などを随時更新されるページ形式で一覧にまとめてみました。所定箇所の関数コールがprivateが非推奨と判断されpublicでの呼び出し推奨となっているため。該当箇所のprivate宣言をpublicに変更することで、Warning警告文を回避。注意したいのは、プラグインが対応している場合もあるため、サイト全体をバックアップ後に該当プラグインをアップデートして、それでも警告がでる場合の最終手段。場合によってはpublic宣言することで別の不具合を生じさせる恐れもあるため十分な知識と注意が必要。PHP7からPHP8にバージョンアップしたことで、これまでわりと大雑把な記述でも警告がでなかった条件分岐なども、明確な変数などの未定義判定をしたりアクセス修飾子と呼ばれるpublicとprivate関数の厳密化が明確になってきているようです。ほとんどの場合はpublic宣言するかissetによる変数のnull判定記述を追加することで回避できるようです。Warning(警告)の場合はエラーとはことなりプログラム実行には支障はありませんし、ローカル関数を開発者以外がパブリック化することはセキュリティ上も好ましくなく警告自体を非表示にすることは可能で現状のPHP8でも実は記述修正なしでも使用可能なのですが、なんとなくスッキリしないので都度修正をかけておいた方が後々のバージョンアップを前提と考えると推奨されるでしょう。inエラー発生時の条件PHP7.4.33からPHP8.1.22へバージョン変更のタイミング問題の原因と解決策PHP7からPHP8へバージョンが変わったことにより推奨記述方法が変更され、従来の記述で非推奨となる記述箇所はすべて対象となり警告文がでる。PHPの$_POSTはスーパーグローバル変数が定義されていたが、フォームから送信されたデータを格納するデータがないため配列にて存在しないキー名を指定した際に発生するエラーです。記述すべき箇所に記載されていましたがPHP7ではスルーされていたようですが、PHP8ではきちんと警告されるようになったようです。配列に正しい値を入れれば警告はなくなります。今回は不要な記述であったためコメントアウトすることで対処しました。inエラー発生時の条件PHP7.4.33からPHP8.1.22へバージョン変更のタイミング問題の原因と解決策PHP7からPHP8へバージョンが変わったことにより推奨記述方法が変更され、従来の記述で非推奨となる記述箇所はすべて対象となり警告文がでる。該当するPHPの処理内で参照される変数が未定義の場合に生じる警告エラーのようです。通常はisset()関数で変数の設定を判定してif判定することで警告文を回避できます。今回はページタイプで分ける必要があったので、!is_page()でif分岐させて警告文を回避できました。inエラー発生時の条件PHP7.4.33からPHP8.1.22へバージョン変更のタイミング問題の原因と解決策PHP7からPHP8へバージョンが変わったことにより推奨記述方法が変更され、従来の記述で非推奨となる記述箇所はすべて対象となり警告文がでる。該当するPHPの処理内で参照されるIDが空の場合に生じる警告エラーのようです。foundページも対象条件にする必要があり、条件に&&追加することで警告文を回避できました。問題の原因と解決策サーバー設定の影響でPHPバージョンアップ後にサイトヘルスに改善警告が表示され、なんどか再インストールやテーマインポートをした状態で上手くインポートできなかったためか、エラーが表示される。FatalエラーはWarningのような警告とことなり、サイト表示上致命的なエラーを意味しており、正常にページ表示ができなくなります。エラーメッセージの内容は書いてある通り、対象箇所から呼び出している関数が見つからないことによる致命的なエラーを意味してます。原因はインクルードしたPHP関数がプラグインのPostSnippetsからショートコードでコールしていたため、インクルードPHPに記載されているすべての関数が実行されないことが原因であったため、header.phpにショートコードで呼び出されている関数PHPをインクルードさせてあげることで解決しました。各アップデート後は結構な割合でエラーが発生しやすいお薦めの関連記事JavaScriptエラーの原因と対処方法一覧よく使うJQueryのまとめ(粗びき)前のページ掲載情報につきましては当社が独自に調査、検証および収集した情報です。情報の妥当性や確実性を一切保証するものでなく、情報や内容が訂正や修正、変更されている場合があります。よって、当社サイトの利用により生じたいかなる損害等についても運営側にて一切の責任を負いません。掲載情報の修正・変更等をご希望の場合はお知らせください。MEDIAを使用した企業メディアです。流動的に更新しています。合同会社の企業メディアブログです。Web制作オンライン学習と企業ネットコンサルティングのための学び方、製品やサービス紹介、ビジネス系のさまざまな記事を更新しています。HOMEWeb制作WordPressCREATEWebハックWebツールブラウザ上で動作する便利なWebツールです。