Category
Archives
Cocotiie
Trial And Error!やってみよう!の精神でWeb制作をしています。初心者の方にも伝わるよう、心がけています。少しでも誰かの助けになれれば嬉しいです。宜しくお願い致します。

2006年:Web制作に関する覚書きブログをはじめる。

2018年:Cocotiie(ココッティー)として運営開始。
20th Anniversaryを迎えました

[WordPress]「サイトで技術的な 問題が発生しています」 となったら

WordPressのプラグインの更新をしたり、サーバーでPHPのバージョンを上げたりした際に、サイトが表示されず、「サイトで技術的な 問題が発生しています」と表示される事があります。焦りますし、怖いですよね。

INDEX

予防策

  • プラグインの更新は自動設定にしない
  • 作業前にバックアップを必ず取る
  • ローカル環境でテストしてから作業する (確実な方法)
  • PHP Compatibility Checkerで確認する

PHP Compatibility Checkerは、あまり更新されていないので、最近はあまり頼りになりません

復旧するには

「サイトで技術的な 問題が発生しています」となると、自動的に管理者のメールアドレスに通知が届きます。

プラグインのアップデートでトラブルになった場合

ダッシュボードにアクセスできる場合は、とりあえずプラグインを「無効」にします。

アクセスできない場合は、管理者宛てのメールに ”もしサイトが壊れていてダッシュボードに正常に接続できない場合、WordPress には特別な「リカバリーモード」があります。これによりダッシュボードに安全にログインし、さらに調査をすることができます。” とあるので、アクセスします。

PHPのアップデートでトラブルになった場合

メールには、何が原因でこの様な事態になってしまったのか、下記の様に細かく書かれています。

この問題を解決するためにヘルプを求めた場合、以下の情報を尋ねられるかもしれません。
WordPress バーション6.8.2
現在のテーマ:
現在のプラグイン: Biz Calendar (バージョン 2.2.0)
PHP バージョン8.3.22

エラー詳細

エラータイプ E_ERROR が /home/users/1/・・・・・/web/wp-hp/wp-content/plugins/biz-calendar/biz-calendar.php ファイルの 73 行目で発生しました。 エラーメッセージ: Uncaught Error: Call to undefined function create_function() in /home/users/1/・・・・・/web/wp-hp/wp-content/plugins/biz-calendar/biz-calendar.php:73

ダッシュボードにアクセスできないと思いますので、リンクからアクセスし、問題のプラグインを「無効」にし、サイトが表示できるようになった確認します。

問題のプラグイン情報を調べ、代替えに乗り換えるなり、修正案で切り抜けるか調査します。

とにかく急ぐ時は、とりあえずPHPのバージョンを戻せばサイトが表示されます。(完全に壊れていれば別ですが)改めて、問題を調査してからリトライした方が良いと思います。

Biz Calendar PHP8で起きるエラー

一例としてBiz Calendarのエラーについてシェアします。
Biz Calendar (バージョン 2.2.0)で、更新が止まっています。このバージョンのままでは使えません。

メールに書いてあるように、plugins/biz-calendar/biz-calendar.php ファイルの 73 行目に問題があるようです。検索したところ、ありがたい事に情報提供がありました。

該当ファイルをFTPでダウンロードし、73行目を下記の様に書き換えます。

//new
add_action( 'widgets_init', function(){register_widget( "bizcalendarwidget" );});

書き換え後(古いコードは削除しても、//コメントアウトしてもOKです)

public function __construct(){
		register_activation_hook(__FILE__, array(&$this,'on_activation'));
		add_action( 'admin_init', array(&$this,'on_admin_init') );
		add_action( 'admin_menu', array(&$this, 'on_admin_menu'));
		add_action( 'wp_enqueue_scripts', array(&$this,'on_enqueue_scripts'));
		add_action( 'wp_ajax_upload_holidays', array(&$this,'upload_holidays') );
		//add_action( 'widgets_init', create_function( '', 'register_widget( "bizcalendarwidget" );' ) );
		// new
		add_action( 'widgets_init', function(){register_widget( "bizcalendarwidget" );});
	}

ファイルをアップロードし、プラグインを「有効」にして表示確認をします。

よかったらシェアお願いします
  • URLをコピーしました!
  • URLをコピーしました!

コメント ※ハンドルネームでお願いします

コメントする

INDEX