大阪 ホームページ制作 ool > oolog > ホームページのメンテナンス > Use of undefined constant PHPバージョンアップによるエラー

Use of undefined constant PHPバージョンアップによるエラー

PHPのバージョンを5.3から7.3に上げる作業があった際、PHPのエラーが出たので書いておこうと思います。PHPにもバージョンがあって、Windowsのようにセキュリティサポートの期限があります。サーバーによっては、「この日までにアップデートしないと勝手にバージョン上げちゃうよ!」というサーバーがあるので要注意です。

PHPのバージョンとサポート期限

2019年中に7.1のセキュリティサポートも期限を迎えます。古いホームページでPHPのフォームをお使いの方などは注意が必要です。Windowsよりもずっとサポート期限が短いですね・・・

2020/07/14現在、php8.0のテスト版がリリースされています。
https://wiki.php.net/todo/php80

ver初回リリース最新リリース日アクティブサポートセキュリティサポート
7.42019/11/282020/07/092021/11/282022/11/28
7.32018/12/062020/07/092020/12/062021/12/06
7.22017/11/302020/07/092019/11/302020/11/30
7.12016/12/012019/04/042018/12/01 (終了)2019/12/01(終了)
7.02015/12/032018/12/062017/12/03 (終了)2018/12/03 (終了)
5.62014/08/282019/01/102017/01/19 (終了)2018/12/31 (終了)
5.52013/06/202016/07/212015/07/10 (終了)2016/07/10 (終了)
5.42012/03/012015/09/032014/09/14 (終了)2015/09/14 (終了)
5.32009/06/302014/08/14—-/–/– (終了)2014/08/14 (終了)

参考:PHPのリリース日とサポート期限

参照:https://www.php.net/index.php#id2020-07-09-4

WordPressを使っていると、ダッシュボードに「新しいPHPに変えて!」という警告が出ている方も多いのではないでしょうか。サーバーのコントロールパネルで変更できるので、是非アップデートしてあげてください。

Use of undefined constant とは?

本題に戻りますが、実は単純なエラーなのです。直訳すると「未定義の定数の使用」。PHP5.3以前ではエラーは出ていませんでしたが、今回の案件の場合は、「クォーテーションで囲まれてないよ!」ということでした。

実際のコードは次の通りです。

<?php echo$obj->get_radioVal('xxxx',やさい); ?>

間違いは、「やさい」という部分です。「やさい」の部分を’ ’で囲んであげるだけで問題は解消します。

<?php echo$obj->get_radioVal('xxxx','やさい'); ?>

同エラーが複数ありました。

PHPのヴァージョンを上げる前に

古いバージョンのPHPをお使いのサイトはローカル環境でテストしてみましょう。もしくは、別に借りているサーバーがあるのであれば、その中に入れてみるのもありだと思います。

今回他にも fclose();(ファイルを閉じる関数)で「パラメーターの中身がない!」というエラーも出てました。

何も考えず、PHPのバージョンを上げてしまってエラーが出た場合、直ぐに下げましょう笑。PHPの切り替えはサーバーによりますが、かなり簡単に上げ下げが可能です。焦らず戻せば被害は最小限で済みます。

サーバーから「10月中にPHPを7.3に自動的に上げちゃうからね!」という通知が来ていたので急いで行った作業ですが、そんな通知が来ていて、5,6年見直しを行っていないという方は要注意です。

対応はお早めに。

カテゴリー : ホームページのメンテナンス

Area

活動エリア

下記のエリアを中心に活動しています。

大阪府

京都府

兵庫県

  • 尼崎市
  • 伊丹市

奈良県