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. WordPress開発・運用

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

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

  2. フリーランス

    iPhoneの領収書整理を自動化してみた話 構成編

    こんにちわ、どばきちです。前回はiPhoneの領収書…

  3. 技術

    SSLサーバー証明書の更新期限通知がしたい

    こんにちわ、どばきちです。SSLサーバー証明書の更新…

  4. 技術

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

    こんにちわ先日Googleスプレッドシートにある内容を定期的…

  5. 技術

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

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

  6. 技術

    warpではzshのbindkeyが使えない

    こんにちわ。iterm2からwarpへの乗り換えをし…

コメント

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

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

2024年11月
 123
45678910
11121314151617
18192021222324
252627282930  
  1. フリーランス

    フリーランス生活2ヶ月でわかったこと
  2. 投資

    積立NISA・NISAでの勘違い
  3. フリーランス

    国民年金の申請は配偶者の分を忘れずに!
  4. フリーランス

    国民年金の切替えはマイナポータルで!
  5. フリーランス

    SBI証券のiDeco 掛金設定やっとできた!
PAGE TOP