When migrating core server (V1) to a new server, an error occurred when updating an article containing 4B code (utf8mb4), such as emojis, and SQL is not available in phpMyAdmin

⌛Time it takes to read this article: 2 pointWhen updating an article containing 4B codes (utf8mb4) such as emojis after migrating to the new server on the core server (V1), the error "Update failed. Database post could not be updated." We will explain the solution.

Migrating core server V1 to a new server and fixing Perl 5.26 incompatible, PHP 7.4 deprecated issues

⌛Time it takes to read this article: < 1 point本サイトは、レンタルサーバー GMO Digirock 社のコアサーバー(V1)にて、 Senri が管理運営しております。この度、このサーバーが以下の通り、新サーバーへのマイグレーションが決定し、より高性能なサーバーへのシステム移行が完了しました。コアサーバーは、全プランに最新システム、最大64コアの高速CPU、最大1TBの大容量メモリー、高速SSD RAIDを採用することで優れた安定性と速度を実現し、無料SSL・HTTP/3・TLS1.3にも対応しています。 マイグレーションにおける主な変更点は以下の通りです。 CPU 最大28コア ⇒ 最大64コア メモリー  最大384GB ⇒ 最大1TB PHP(デフォルト) 7.1 + FastCGI + OPcache + APCu(5.3/5.4/5.5/5.6/7.0FastCGI選択可) ⇒ 7.4+ FastCGI + OPcache + APCu(5.6/7.0/7.1/7.2/7.3/8.0/8.1FastCGI選択可) Perl(デフォルト) 5.16系 ⇒ 5.26系 MySQL(デフォルト) 5.7 ⇒ MariaDB 10.6 上記の通り、Webサーバーがハイスペックとなった事で、Webサイトの表示が飛躍的に速くなりました。これは大変喜ばしい事なのですが、新サーバーへのマイグレーションに伴い一部のCGIプログラムが動作しなくなりました。PHPに関しては、既に PHP 7.4 に対応済みであるため、問題はありませんでしたが、 Perl に関しては油断していました。Perl は、アクセスカウンタやアクセス集計、掲示板、ランチャーなどの CGIプログラムが動作しています。調査したところ、当サイトでの Perl 5.26 に関する非互換箇所は、以下の通りでした。いずれも、 500 ERROR が発生します。 セキュリティ問題により、カレントディレクトリを示す以下の表記がエラー扱いになる$thisfile = ‘./cgi.cgi’; 日本語変換ライブラリ jcode.pl が Perl 5.26 で動作しないrequire ‘./jcode.pl’; この問題に関しては、それぞれ以下のように対応することで解決しました。 カレントディレクトリの指定 以下の1行を追加します。 use lib "."; $thisfile = './cgi.cgi'; jcode.pl の非互換問題 jcode.pl に代わる日本語変換ライブラリ jacode.pl を導入し、以下のように呼び出し部分を変更する。jacode.pl の最新版は、jacode-2.13.4.18 よりダウンロードできます。 require './jacode.pl'; # JISコード変換 jacode::convert(\$mbody,'jis','sjis'); 以上、取りあえず、表面上の表示は正常になりましたが、未だ、全プログラムの検証は終えていないため、引き続きテストを行っていく予定です。 新サーバーへのマイグレーションで絵文字など、4Bコード(utf8mb4)を含む記事を更新するとエラーになる件 2022.06.10 追記 新サーバーへのマイグレーション後、絵文字などの4Bコード(utf8mb4)を含む記事を更新すると、以下のエラーが出て記事が更新できなくなりました。 更新に失敗しました。データベースの投稿を更新できませんでした。 こちらで何度か、DBの修復を試みましたが、上手くいきませんでした。 止むを得ず、コアサーバーのサポートへ連絡し、マイグレーション前のDBで修復を依頼しました。しかし、結果は NG でした。そこで、色々と試行錯誤したところ、以下の方法で無事、DBの修復ができました!絵文字を入力し、更新もできるようになりました。 1.「phpMyAdmin」にログイン ⇒ 変更したいデータベース名を選択2.ヘッダーの「操作」タブを選択 ⇒ 「照合順序」と書かれている箇所を見る。3.照合順序で “utf8mb4_general_ci” を指定し「実行」をクリック * 本件につきましては、以下の WordPress サポートフォーラムにもトピックをアップしておりますが、検証後、問題がないようでしたら、このスレッドはクローズする予定です。 * 対応する記事は、以下の通りです。 2022.06.30 追記 PHP 7.4 非推奨 / PHP 8.0 非互換問題 以下の記事へ加筆した内容を再掲します。WordPress プラグインの中で、PHP 7.4 で非推奨、PHP 8.0 で廃止される関数が見つかりました。 PHP 7.4 の環境において、デバッグモードで実行した際、以下のワーニングを確認しています。 [28-Nov-2021 05:19:48 UTC] PHP Deprecated: join(): Passing glue… read more "

コアサーバーでSSL証明書の更新をしくじり、サーバーがダウン & SSL証明書の発行者名がESETになっていた件

⌛Time it takes to read this article: 2 pointコアサーバーの無料SSL証明書が有効期限切れになってしまった場合への対処とセキュリティーソフトのESETをインストールした後、ブラウザでSSL証明書の発行者名がESETになってしまう事への対処方法を纏めました。

I installed the extension module XMLReader on FastCgi version of CoreServer (V1) and made the WordPress hpb Dashboard plugin available.

⌛Time it takes to read this article: 3 pointCoreServer(V1)のFastCgi版PHP7.4にXMLReaderをインストールし、WordPressのhpb Dashboardプラグインを利用可能にしました。このプラグインは、XMLReaderの拡張モジュールが必須です。

I installed the extension module XMLReader on FastCgi version of CoreServer (V1) and made the WordPress hpb Dashboard plugin available.

⌛Time it takes to read this article: 3 pointCoreServer(V1)のFastCgi版PHP7.4にXMLReaderをインストールし、WordPressのhpb Dashboardプラグインを利用可能にしました。このプラグインは、XMLReaderの拡張モジュールが必須です。

Changed HTTP500 server error message

⌛Time it takes to read this article: < 1 point本Webサイトは、コアサーバーにて運用されていますが、現在の契約ではCPUの許容負荷率が125%に制限されています。アクセスが集中し、サーバーへの負荷が制限値を超えると、PHP 7.1(FastCGI版)を実行中に上記の「500 Internal Server Error」がこれまで表示されていました。これでは、ユーザーにシステム障害と受け止められてしまい混乱を招く恐れがありましたので、このエラーをHTTP503と同様の扱いにし、以下のように日本語のエラー画面を表示するよう、サーバーの設定を変更しました。

[SEO Measures] Optimizing Google Search (Moving from breadcrumb data-vocabulary.org to structured data JSON-LD+schema.org, changing favicons)

⌛Time it takes to read this article: 5 pointGoogleからの警告「パンくずリスト > data-vocabulary.orgスキーマのサポートは終了します」への適切な対処方法として、Googleが推奨する構造化データJSON-LD+schema.orgへの移行方法を詳しく説明します。

WordPressのPHPデバッグで 警告「has_capがバージョン2.0.0 から非推奨」への対策

⌛Time it takes to read this article: 2 pointWordPressのPHPデバッグモードで 警告メッセージ「has_capがバージョン2.0.0 から非推奨になった引数付きで呼び出されました」への対策を詳しく解説します。

Solved the bug in WordPress 5.4 and the problem that the block editor could not be used in HPB custom posts.

⌛Time it takes to read this article: 2 pointWordPress5.4のバグ修正とカスタム投稿でブロックエディタが使えない問題に対応するため、HPB(ホームページビルダー)のテーマのプログラムを修正。また、Jetpackのサイトヘルスで「imagickがインストールされていない」という警告への対処