WordPress開発・運用

[ConoHa]WordPressサーバ PHPVer7.4からVer8.3に更新した

こんにちわ

僕はConoHaWingで借りているサーバにこのブログで使うWordPressを置いて使っています。WordPressのバージョン更新があった場合はいつも更新通知が来ていてよしなに更新してくれているイメージがあったので、勝手にPHPバージョンも更新されているつもりでいたのですがそんなことはなかったので更新してみました。今回はその手順について書いていきたいと思います。

ConoHa Wing

何故PHPVer7.4に気付いたのか

元々はPHPバージョンを更新しようと思っていたわけではなくて、全然別のことを調べたくてConoHaのサーバにSSH接続して見てた時に何気なくPHPバージョンを確認したら7.4… 古くない??と気づいたわけであります。

$ php -v
PHP 7.4.33 (cli) (built: Jan 23 2024 15:07:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies

PHPバージョン更新手順

1.ConoHaのドキュメントに従ってPHPバージョンを「8.3」に変更する

下のリンクに従うだけで変更自体はすぐできます。自分でPHPのインストールなどする必要はなかったのでとても便利です。

ConoHa Wingご利用ガイド PHPの設定をする

2.バージョン変更の確認

PHPバージョンが7.4に気づいた時同様にPHPバージョンを確認しました

php -v
PHP 8.3.2 (cli) (built: Jan 17 2024 14:59:02) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.2, Copyright (c), by Zend Technologies

3. 実際の運用されている環境での確認

下の画像は実際に確認した時の画面なのですが、Warningが表示されてるようになっていました。。(自分のサイトでこの様なエラーが出ない場合は更新作業としてはこれで終わりになります)

Warning内容の抜き出した結果

Warning: Undefined array key "title" in /home/c3726346/public_html/dubakichi.com/wp-content/themes/mag_tcd036/widget/category_list.php on line 22
Warning: Undefined array key "exclude_cat_num" in /home/c3726346/public_html/dubakichi.com/wp-content/themes/mag_tcd036/widget/category_list.php on line 23

「Warning: Undefined array key」を対処する

僕はこのブログにMAGというテーマを使っているのですが、テーマが古い可能性であったり、そのテーマ内で起きているのでそもそも直していいのかライセンスを確認してみました。

1.テーマのPHPバージョン対応状況の確認

テーマのPHPバージョンへの対応状況と自分の環境が最新のテーマになっているか確認しました

TCDテーマのPHPバージョン対応表

確認結果は使用しているテーマのMAGはPHPバージョン8.3に対応していました

2. 最新テーマの適用状況の確認

テーマの適用状況をWordPressのテーマを追加画面に最新テーマのzipファイルを入れて確認しました

こちらも最新が適用されているので問題なさそう。

ということなので、テーマはPHPバージョン8.3に対応しているがWarningが出る様になっている状況。いわゆるただバグっている状況なのかなと思っています。

3.ライセンスの確認

僕のこのブログは制作代行とかではなく僕自身が使うためだけに用意しているものなので、そのライセンスについて確認しました

ご利用規約【通常ライセンス】

以下の画像の様に自由に改変して良いとのことなので修正して良いらしい

4.問題箇所を修正する

改めてWarning箇所の確認

Warning: Undefined array key "title" in /home/c3726346/public_html/dubakichi.com/wp-content/themes/mag_tcd036/widget/category_list.php on line 22
Warning: Undefined array key "exclude_cat_num" in /home/c3726346/public_html/dubakichi.com/wp-content/themes/mag_tcd036/widget/category_list.php on line 23

修正前

   $title = apply_filters('widget_title', $instance['title']); // the widget title
   $exclude_cat_num = $instance['exclude_cat_num']; // category id to exclude

修正後

$instanceのキーに対する存在確認を追加しただけ

$title = isset($instance['title']) ? apply_filters('widget_title', $instance['title']) : ""; // the widget title
$exclude_cat_num = isset($instance['exclude_cat_num']) ? $instance['exclude_cat_num'] : ""; // category id to exclude

今回の問題はPHP7.4からPHP8.0以降にバージョンアップしたことで、以下のPHPドキュメントにある「未定義の配列のキーを読み取ろうとした場合」に該当したものと思います。

PHP7.4からPHP8.0.xへの移行 下位互換性のない変更点

5.改めて修正後の動作確認

Warning表示が消えたことを確認。他のページもいくつか見てみたけど問題なさそうなのでOK。

おわりに

PHPのバージョンを上げるだけであれば、ConoHaがだいぶよしなにやってくれるところが多いので簡単でした。ただ、PHP8.0でバリデーションが厳密になった影響で今回は自分で修正しましたが本来テーマを作成されている会社さんに直してもらうのが良いかなとは思っています。次回のテーマ更新で修正されていなかったら毎回これを修正するのも面倒なので、お問合わせして直してもらおうかな、と思います。

でわでわ!

[Mac]codeコマンドでCursorが起動するようになってた前のページ

[docker]WordPressのローカル開発環境を用意してみた次のページ

関連記事

  1. 技術

    ドメイン移管でwhoisのネームサーバー変更は必須だった

    こんにちわ先日ドメイン移管をしたんですよ。ネームサーバーも変…

  2. 技術

    [AWS]Amazon Linux2 カーネル4.14から5.10へ

    こんにちわ、どばきちです。Amazon Linux2…

  3. 技術

    [docker][PHP]Laravel開発テンプレを作ってみた

    こんにちわ、どばきちです。いざ新規に何かしらの開発を…

  4. 技術

    [docker][PHP]Laravelでステップ実行してみる

    こんにちわ、どばきちです。前回はdockerでLar…

  5. 技術

    スプレッドシートの内容をChatworkに定期通知する<後編>

    こんにちわスプレッドシートの内容をChatworkに定期通知…

  6. WordPress開発・運用

    WordPressテーマ開発環境を準備する

    こんにちわ前回はWordPressのローカル開発環境を構築す…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

2024年12月
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
  1. フリーランス

    退職後すぐにすることリスト
  2. フリーランス

    【悲報】社会保険の任意継続途中で終わった
  3. 雑談

    FINAL FANTASY ピクセルリマスターが楽しい
  4. 技術

    [AWS]1コインサーバーでLAMP(Laravel8)を使う<前編>
  5. 雑談

    はじめまして。
PAGE TOP