今回起きた事象

前任者が作成したwordpressで構築されたWEBサイトでPHPのバージョンが5.6と古かったため、7.3にあげました。その際にでたエラー「this will throw an Error in a future version of PHP」の解消方法についてです。

PHPの構文記述の厳密さが原因

PHPは非常に厳密に記述方法が決められており、PHP7.2以降では文字列を囲うシングルコーテーションまたはダブルクォーテーションが抜けていると上記のようなエラーがでてくるようになりました。グローバル定数が定義されていない場合は文字列として扱われる仕様に変更されたためです。

古いバージョンのPHPからアップグレードする際は注意が必要です。

旧コード(シングルコーテーションがない)

<?php
$example = get_post_meta($post->ID, test_text, true);
?>

PHP7.2.x以降コード(シングルコーテーションあり)

<?php
$example = get_post_meta($post->ID, 'test_text', true);
?>

PHPバージョンアップデートエラーの修正方法

フロント画面にでているエラー内容をチェックし、実際のファイルの行数を把握してどこでエラーがでているのか把握しましょう。指定の行に文字列がシングルコーテーションで囲われていない部分があればそこを修正し、ファイルを上書きしましょう。

・png2wbmp()

PNG画像をWBMP画像に変更する関数。PHP8.0.0で削除されましたので必ず変更しましょう。

・jpeg2wbmp()

JPEG画像をWBMP画像に変換する関数。PHP8.0.0で削除されましたので必ず変更しましょう。

・each()関数

foreach関数のほうがループが速い。実装上の問題があることから、非推奨に変更。

・read_exif_data()関数

代わりにexif_read_data()を使用

Related Articles

FlaskでHTMLフォームを作る

FlaskはPythonのWebフレームワークで、HTMLフォームを作るために使用することができます。以下は、FlaskでHTMLフォームを作成するための一般的な方法です。 Flaskアプリケーションをインポートし、アプリケーションインスタンスを作成します。 /ルートに対して、HTMLフォームを返す関数を作成します。 form.htmlにHTMLフォームを作成します。 フォームからデータを受け取るために、/ルートに対して、POSTメソッドを処理する関数を作成します。 Flaskアプリケーションを実行します。...

Google Search Console上でドメイン認証する方法(mixhostレンタルサーバー編)

STEP1 お名前ドットコムなどのドメインレジストラでTXTレコード設定を行う通常のレンタルサーバーだと、お名前ドットコムのレジストラ管理画面上の「DNSレコード設定」からTYPE「TXT」で指定のValueを設定することで、サーチコンソール上のドメイン認証を行うことが可能です。STEP2 Mixhostの場合Mixhost管理画面cPanelの「Zone...

jupyter lab buildコマンドでRuntimeErrorがでる場合

jupyter lab buildコマンドでRuntimeErrorがでる場合

jupyter lab buildコマンドでRuntimeErrorがでる場合jupyter labの環境構築時に「jupyter lab build」コマンドを使用したところ、以下のようなエラーがでました。エラー結果にある「jupyterlab-debug-bxetcbes.log」のlogファイルを開いてどこでエラーがでてしまっているのかを確認します。buildエラー解消方法Nodeのバージョンは17.8.0でした。 エラーの内容としては「Error: error:0308010C:digital envelope...

Masa

Witten by Masa

情報工学系学部卒のエンジニアです。メインはフロントエンドですが、そのほかにもPython,PHP,GAS,など色んな言語、開発、データ分析、マーケティングなど手広くやってます。