Nextcloud 20のOCP\AppFramework\QueryException: Could not resolve logger!への対応

使用しているレンタルサーバーのCORESERVERのバージョンが上がってから、Nextcloud (NC) 20.0.7にアクセスできなくなってしまった。

以下のコマンドでエラーが出ている。

php74cli occ status
OCP\AppFramework\QueryException: Could not resolve logger! Class logger does not exist in /virtual/senooken/public_html/storage.senooken.jp/lib/private/AppFramework/Utility/SimpleContainer.php:115

調べたところ、「[Bug]: OCP\AppFramework\QueryException: Could not resolve logger! Class logger does not exist Update failed · Issue #31512 · nextcloud/server」のやりとりで解決した。

エラーが起きているlib/private/AppFramework/Utility/SimpleContainer.phpにエラーを回避するための条件分を以下のように追加すればいい。

	public function resolve($name) {
+               if ($name == 'logger') { $name = 'OC\Log\PsrLoggerAdapter'; }
		$baseMsg = 'Could not resolve ' . $name . '!';

おそらく、システムのバージョンアップに伴い、PHPのログ関係のライブラリーが欠如したりしたのだと思われる。

ひとまず解決した。NC 20はEOLになっているので、バージョンを上げて解決しないか確認する。NC 21.0.9では発生しなかった。途中でバグ修正が入ったのだろう。

ひとまず動作するようになってよかった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です