エラー・ワーニング

Warning: Use of undefined constant と Warning: Undefined array key 対策

php のバージョンを上げたら、今まで出なかった次のワーニングが出るようになった。

Warning: Use of undefined constant と Warning: Undefined array key

これは、phpのバ-ジョンアップで未定義の変数には警告を出すといった迷惑な仕様の改悪のたまものである。

この原因を対策を解説します。

Warning: Use of undefined constant の原因と対策

読んで字のごとく、

Use of undefined constantの後ろの文字列に着目。

例えば、
Warning: Use of undefined constant widget_footer1

この行を見ると
if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar(widget_footer1) ) :

以前のバージョンでは、これでも widget_footer1 は、文字列として解釈してくれていた。
新しい仕様では、未定義変数?だからダメ!になった。

対策は
if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar((‘widget_footer1’) ) :

文字列だとすればよい。


Warning: Undefined array key の原因と対策

読んで字のごとく、

Undefined array keyの後ろの文字列に着目。

例えば、
Warning: Undefined array key “backup_modyfy” in ~

この行を見ると
$dashboardmemo_yuzu_body = dashboardmemo_yuzu_body_default($dashboardmemo_yuzu_body,$_POST[‘backup_modyfy’],$_POST[‘versup_modyfy’]);

以前のバージョンでは、これでも $_POST[‘backup_modyfy’] は、未設定の場合 ” と解釈してくれていた。
新しい仕様では、未定義変数?だからダメ!になった。

対策は、この行の前に定義してやればいい
if(!isset($_POST[‘backup_modyfy’])){$_POST[‘backup_modyfy’]=”;}
if(!isset($_POST[‘versup_modyfy’])){$_POST[‘versup_modyfy’]=”;}
$dashboardmemo_yuzu_body = dashboardmemo_yuzu_body_default($dashboardmemo_yuzu_body,$_POST[‘backup_modyfy’],$_POST[‘versup_modyfy’]);

未定義ならば、” を代入して内容を定義してやる。


Warning: Use of undefined constant と Warning: Undefined array key 対策 のまとめ

未定義に対して「ワーニングを出す」仕様の改悪に対しては世界的に批判が出ている。
「今まで動いていたものが動かなくなる」これは上位非互換。
これは古の昔から禁じ手とされており、DOSがNECのPCを抜けなかった原因でもある。

昔からPHPの開発?仕様を決める組織は、「世間しらずのぼんくらの集まりである」。
どうしてそうなる?ってことを平気でやってくる。
結果、セキュリティーホールを量産するとか・・・

そして、またあきれた改悪をいれてきたというわけだ。

一般的にはこの対策が大量に出る場合には、PHPのバージョンを下げよといった人も出てきている。
私もそう思うwww

ちょっとしたプラグインで1~2行の問題なら、今回のような対策でいいけど、まともなシステムだとそうはならないわけで。
そしたら「おばか集団」が世間の批判に対し慌てて対策してくるその日まで。
以前のバージョンで走らせよう。

ちなみにPHPのバージョンを変えることができる範囲がごく狭いサクラサーバーとかロリポップとかってのは・・・知らんwww
だから、あれほどサーバーを変えなさいといったでわないか?!www

ましてサクラサーバーは、中共の犬、3代続く売国奴、中共党員の可能性を秘めた某デジタル大臣1押しのサーバー。
国のサーバーとしてサクラを使うとかいっているサーバーである。
キャッシュカードの情報は抜かれても足が付くので簡単につかわないとは思うが、それなりの立場になる人間に対して個人への恐喝、ハニトラ等々に使われる可能性はゼロではない。
というか、たぶんやるだろう。。。やってるだろう。

ということで、そういうことを考えたらサーバーはエックスが安くていいなと思ったわけです。

この書き込みがあなたの一助になれば幸いです。


スポンサードリンク