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

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

スポンサーリンク

シェアする

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

フォローする

スポンサーリンク