さくらインターネットのレンタルサーバー、データベース、PHP、FeeBSD更新

木簡は平安時代の文書や帳簿まで現存し読解可能なケースがあるが、デジタルデータは保存期間が限られる。

アナログデータ(磁気テープなど)は再生機器の存続が不可欠で、機器が無いとデータにアクセスすることはできない。

デジタルデータはファイル形式(フォーマット)の進化が非常に速かったりHDDが壊れてしまえば内容を読み解くことはできない。

 

将来に渡って情報を残したい場合は石や木に彫るしか無いのか……

僕は「さくらインターネット」のレンタルサーバーを長年利用している。

ただしMySQLは5.1、5.5、5.7、PHPは7.4、Pythonは3.8を未だに利用している。

データベースをアップグレードしたい | さくらのサポート情報
こちらのマニュアルでは、データベースアップグレード機能についてご案内しています。コントロールパネルからの操作により、指定した日時に対象のデータベースを現在提供中のバージョンへ簡単にコピーを行う機能です。前提条件ウェブアプリケーションの設定変更はお客様自身で行っていただく必要があり

バージョンアップしないと、Pythonも未だ2.7しか使えない。

重要な設定も沢山出てる。

移行ツールを使って更新すると高速に動作するサーバーに移行できるらしい。

でもDBバージョンが古いので、移行できなかった。

毎年恒例の年末年始サイトのアップデートを実施するか……

国外IPアドレスフィルタ

海外に在住など、国外IPアドレスから対象機能へアクセスが必要な方は制限を「無効」にしてください。

 

という項目。

海外出張や長期滞在、海外赴任だってありえる会社に勤めているので、こんなのは設定できない。無視。

WAFの設定

WAFは「ワフ」と読み、Web Application Firewall(ウェブアプリケーションファイアウォール)のこと。

WAFの提供形態は「ソフトウェア型」「アプライアンス型」「クラウド型」の3つに大別される。

 

これも設定しろって。したけどさ。

MySQLのアップデート

これが少し怖い。データ消えたら全てが終わり。

だからずっと放置していた……。

 

ただMySQLはWordPressでしか利用してないので、wp-config.phpの中で次の記述部分を探し書き換えれば終わりだ。

「FreeBSD」のバージョンを13.xにアップデート

ようやく移行が可能となった。

朝9:00頃にボタンを押したら、終わったのは15:18。長かった……

SSD化をはじめとした機材の刷新により高速に動作する現行のサーバーへ移行を簡単に行える機能です。
本機能の利用は無料で、契約中の料金も変更はありません。
移行ツールの詳細についてはこちらをご確認ください。
お客様のサーバーは最新のサーバーをご利用されています。

2024年12月28日に移行が完了しております。

PHP 7.4から8.3にアップグレード

で、次にPHP8.3へのアップデート。

既に PHP 7.4は非サポート。

PHP7.4 (モジュールモード)から 8.3 (モジュールモード)に変更すると色々な問題が発生した。

プラグイン Crayon Syntax Highlighterが利用できない

次のようなエラーがでてサイト自体が見れなくなった。

ぐぐってみると後継の「Urvanov Syntax Highlighter」に変更することが多いっぽい。

WordPressのPHPを7から8にしたらプラグインのエラー"Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?"
WordPressのPHPを7から8にしたら次のエラーが発生しました。 PHP ...

面倒なので「Crayon Syntax Highlighter」を更新して対応する。

コードの修正 crayon_util.class.php

 

エラーの原因は、PHPのバージョン間での型の厳格化によるもの。

具体的には、implode()関数の第2引数に文字列が渡されているため。

wp-content/plugins/crayon-syntax-highlighter/util/crayon_util.class.php の該当箇所(73行目)を修正した。

修正前

修正後

第一引数がseparatorで第二引数がarray。逆だと8.0ではサポートされない。

コードの修正 crayon_langs.class.php

まだ問題が発生した。

次のように修正。

修正前

修正後

エラーの原因はget_class。

これはオブジェクトのクラス名を返す関数だけど、明示的に null を渡すことは、 許されなくなりなった。

そこでelement関数の第二引数でNULLが渡されたり、省略された場合はget_class($element)ではなくget_class()とする。

cocoon目次ショートコードが表示されない

このWordpressのデザインは「cocoon」を利用しているが、目次が出なくなった。

php8.0環境では目次が表示されません
3日前にwordpressでのサイトを公開したばかりのwordpress初心者です。よろしくお願いします。 15年に渡ってxoopsを使用しておりましたが、こちらのcocoonに出会ったことでリニューアルを決心し、3日前にリニューアルを実行しました。 公開時、php7.4で動かしていた際には...

次のようにwp-content/themes/cocoon-master/lib/toc.php を修正した。

おわりに

恒例の年末年始の大幅メンテナンスは完了した。

公式のPythonバージョンは未だに3.8。

既にサポート終了なのに、そこは「重要な設定」として問題が出ないのねww

タイトルとURLをコピーしました