広告

Nextcloud エラーログ

Nextcloud

たまたま基本設定画面をみたとき、バックグラウンドジョブが10日ほど実行されていないというメッセージが表示されました。Nextcloud のエラーログを見ると、下のようなメッセージが大量に出ています。

Trying to access array offset on value of type bool at /home/(user ID)/hogehoge.net/public_html/apps/files_versions/lib/Storage.php#653

調べてみたところ次のようなことでした。

php のバージョンを7.4にしたことで生じたエラーメッセージのようです。なので Xserver のサーバーパネルから、php のバージョンを7.3に戻しました。

ただ今回は cron.php が実行されていなかったことが問題なので引き続き調べてみると、次のようなスレッドがありました。

cron.php の実行には CGI版ではなく、コマンドライン版を使うほうが良いということで、Xserver のサーバーパネルから cron の設定を変更しました。
具体的には /usr/bin/php7.3-cgi を /usr/bin/php7.3 とします。

/usr/bin/php7.3 -f /home/(user ID)/hogehoge.net/public_html/cron.php

これで、とりあえずエラーログは出なくなり、cron.php も無事、実行されるようになりました。

ちなみに、ssh でリモートログインして php7.4のCGI版で cron.php を実行すると、つぎのようなメッセージが出ます。

$ /usr/bin/php-fcgi7.4 -f /home/(user ID)/hogehoge.net/public_html/cron.php

PHP Notice: Undefined index: SCRIPT_FILENAME in /home/(user ID)/hogehoge.net/public_html/lib/base.php on line 147
PHP Notice: Undefined index: SCRIPT_NAME in /home/(user ID)/hogehoge.net/public_html/lib/base.php on line 154
PHP Notice: Undefined index: SCRIPT_FILENAME in /home/(user ID)/hogehoge.net/public_html/lib/base.php on line 155
PHP Fatal error: Uncaught Error: Call to a member function getLogger() on null in /home/(user ID)/hogehoge.net/public_html/cron.php:162
Stack trace:

Posted by @think