Undefined array key “host” in ~~~~ lib/punycode.php PHPエラー 我流 たまたま 解決

ごけたです。
たまたまでも対応できれば素直に嬉しい。

はじめに

今回は「Wordpress」編です。
「東京エクストリームウォーク50km」の記事を書いている途中で
プレビュー確認した際
タイトルと目次の間に今回のエラーが表示されました。

我流ですがエラー表示を非表示にしてみました。

ページ構成

画像、ソースコード、その下に説明文の構成になっています。
画像はクリックすると拡大されて表示されます。
リンクは予告なく削除の場合もございます。
Wordpressテーマは「simplicity2」
OSはWindows11、ブラウザーはchrome、
レンタルサーバーはエックスサーバーです。

表示されたエラーコード

「はじめに」でも書きましたが
「東京エクストリームウォーク50km」の記事を書いている途中で
プレビュー確認した際
タイトルと目次の間に今回のエラーが表示されました。

Undefined array key “host” in /home/サーバードメイン/ドメイン/public_html/wp-content/themes/simplicity2/lib/punycode.php on line 80
そのエラー表示が上記になります。
テーマ内の「punycode.php」の80行目がおかしい以外全く分かりません。

「Undefined array key」を検索する

そのエラー表示の意味が分からないので検索してみる。
はずは前半の「Undefined array key」

PHPエラーの一種
「Undefined array key」は
配列にて存在しないキー名を指定した際に発生するエラーです。
このエラーは警告エラー(Warning)に分類されています。
だそうです。

「punycode.php」を検索

PHPでピュニコード変換をする方法の紹介です。 PHPで、ピュニコード変換をするには、PEARのライブラリをイ…

次にエラー行数のもとになる「punycode.php」を検索すると
「simplicity2」製作者様の別サイトに説明がありました。

日本語ドメインを英数に変換とあります。
ただ当サイトのドメインは「0street-0times.com」で
日本語ではありません

上記の2つをまとめると
投稿文中に「配列にて存在しないキー名を指定した」から
「日本語ドメインを英数に変換」が上手くいかず
エラー表示されたってこと??

エラー元を探す

何が投稿文中になるからエラー表示される原因なのか
投稿文を1行づつ表示していきましたが今ひとつ理解できず。

実際のエラーコードを確認して見る

「public_html/wp-content/themes/simplicity2/lib/punycode.php on line 80」
「punycode.php」ファイルの80行目に
どんなコードが記載されているか確認してみる。
コードを見れば解決崎が分かる場合も。

コードを表示する


使用テーマ「simplicity2」
「lib」内の「punycode.php」の「80行目」を確認する。
ダッシュボードの飛騨英メニューから
「外観」→「テーマファイルエディタ」→右上の「テーマ表示」のプルダウンメニューをクリック
子テーマから親テーマを選択し「選択」ボタンをクリック。


テーマ内から「lib」を探しクリック。
「lib」内から「punycode.php」を探しクリック。
画面に「punycode.php」のコードが表示されます。

コードを確認

「$host = $Punycode->decode($url_parts[‘host’]); 」
エラーの80行目を見ても全く不明です。
そもそもPHPはほぼ理解できません。

削除を試してみる 1

エラーの元になるもとを削除したらエラーが非表示なったことは
過去に何回かあるので

「$host = $Punycode->decode($url_parts[‘host’]); 」を含め
前後の行をまるっと削除してみる。
削除したら一番下の「ファイルを更新」ボタンをクリック。
投稿画面に戻り、プレビューボタンでエラー表示を確認。
まだ表示されている。

削除を試してみる 2

さらに下の2行も追加して削除してみる。
削除したら一番下の「ファイルを更新」ボタンをクリック。
投稿画面に戻り、プレビューボタンでエラー表示を確認。
なんとエラー表示が非表示に。

実は8つほど他の記事にも表示されていましたが
今回の削除ですべて非表示に。

最終的に80行目があったコードは

削除して残ったコードが上記のとおりです。
「’host’」と表示されたコードは1行だけになりました。

さいごに

今回の対応方法はあくまで我流です。
たまたま削除方法で非表示なった。が正しいです。

今後、Wordpressの更新、それに伴うテーマの更新。
PHPの更新、それに伴うテーマの更新。
これらが行われると、
その都度エラー表示が表示される可能性があります。
今回の削除方法で対応できるのかは不明になります。

最後までお付き合い下さいまして有難うございました。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク