もはやwordpressなんか、使い続けたくない、ユゲタです。
ブログの更新をしようとすると、wordpressのシステムバージョンアップがあったので、更新するように、アラートバッチが表示されていたので、管理画面で、小一時間時間が取られた話をします。
(ちなみに、今現在はGoogleBloggerに移行して快適生活を送っています・・・)
本日のIT謎掛け
「wordpress」と、かけまして・・・
「高品位な野菜や果物を育てている農家」と、ときます。
そのココロは・・・
たくさんのテーマ(手間)が、魅力です。
そもそも、なんで自動アップデートにしてないん?
wordpressは、よくできたシステムで、アップデートでstableになったら、自動的に更新されるシステムです。
・・・が・・・!
以前に、自動アップデートをした時に、画面表示がされなくなり、どうやら内部エラーが発生していたようで、アップデートしたシステムをバックアップされていた元のバージョンに戻して、
エラーの箇所を潰してから、再アップロードを手動で行ったという経験があったので、必ず手動でアップデートを行うようにしていました。
ちなみに、その時の不具合は、cron.phpファイルが何故か無くなっていて、更新時に正常にコピーされていなかったのではないかと推測されています。
これで、知らないうちにwebサイトが表示されなくなるという事象は回避できるんですね。
・・・が・・・!!
それでも、不具合は発生するんですよ。
今回の不具合は、未サポートになっていたプラグイン
wordpresshは、一般利用者が、自身のシステムをpluginやテーマとして、公開して、商売もできる仕組みになっているんですが、
カオス状態になっている、そんなリポジトリ状態で、ユーザーが「サービス更新するのや〜めた!」として、アップデートに伴って、確認もされないまま、システムがどんどん更新されている状態でもあります。
当たり前のように、そんなプラグインを使っていると、トラブルになっても、誰も攻めることができなくなります。
せめて、管理画面に、最終検証日や、確認済みPHPバージョンなどを明記してもらいたいものだと思いますね。
犯人は、「crayon」プラグイン
そんな事はともかく、今回は、wordpressのシステムバージョンアップがあるとのことと、管理画面に「phpが最新バージョンになっていないので、更新しないと、恐ろしいことが起きるよ」というような(実際はもっと柔らかい文章でした)、メッセージが出ていたので、まず、phpバージョンを調べてみると、
php7.1でした。
php7.45が最新だったのですが、安定版のphp7.3をインストールするように、centosのrepo機能を使って、アップデートを行ってみたところ、
wordpressのページが一部分しか表示されなくなりました。
仕方なく、デバッグモードを有効にして、どのファイルで問題が置きているのかを判断する。
wp-config.phpの"define('WP_DEBUG', false);"を"define('WP_DEBUG', true);"にすると、画面にエラーメッセージが表示されるようになります。
そこに書かれている、対象ファイルの行数が修正ポイントなので、修正するだけなのですが、"crayon-syntax-highlighter"という、
プログラムソースコードをキレイに表示してくれるプラグインがその対象でした。
いろいろなページで対処方法が書かれていたんですが、何故か、それだけの方法では解決しなかったので、もうてんやわんやです。
参考 :
https://curio-shiki.com/blog/webpage/gutenberg-crayon-syntax-highlighter
結果的に、下記のように修正をするはめになりました。
# 340行目
return preg_replace('/[^\w-+#]/msi', '', $id);
↓
return @preg_replace('/[^\w\-+#]/msi', ”, $id);
"-"をエスケープするのと、"@"を付けないと、どうしてもエラーが取れなかったようです。
他のサイトは、"-"を正規表現の後ろに持ってくるだけの記述が書かれていたんですが、それだけでは、不足でした。
こんなんで、1時間ほど無駄にしたので、改めて、こうした管理が徹底されていない、wordpressは、運用コストが高く付くことを認識。
安易に設置するにはいいんですが、スピードも思いし、不正アクセスの温床にもなっていて、セキュリティレベルも非常に低いことから、なるべく早く、別のシステムにリプレイスしたいと思って、コーヒーを飲み始める自分でした。
0 件のコメント:
コメントを投稿