Nextcloudが要件以上のPHPバージョンを求めてきて動かなくなった

Nextcloudが動かなくなりました.
アクセスすると以下のようなエラーメッセージが表示されて動きません.

Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0".

Nextcloud
内部サーバーエラー
サーバーは要求を完了できませんでした。

再びこのようなことが起こった場合は、以下の技術情報をサーバー管理者に送ってください。

詳細は、サーバーのログを確認してください。

技術詳細
リモートアドレス: 180.131.110.140
リクエスト ID: QkMNcL7xRrQwxESLUU9Y

nextcloud php7.4

Nextcloudのバージョンアップはしていません.sourceを少し見ると7.3以上で大丈夫そうです.

lib/versioncheck.php:
if (PHP_VERSION_ID < 70300) {
        http_response_code(500);
        echo 'This version of Nextcloud requires at least PHP 7.3<br/>';
        echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.';
        exit(1);
}

NextcloudのISSUEを探すと以下のようなものを見つけました.

ここでは,Pollsを3.5に上げるとPHP 7.4以上を求めるようになってしまう,PHPを7.4以上にするかPollsをダウングレードすると直るという感じのようです.
そういえばNextcloudのメンテとしてアプリケーション更新はしていたのでこのレが当てはまっていそうです.この環境はDebian busterでphpは7.3です.Bullseyeに上げるとphp 7.4になりますが未だ準備が出来ていません.

$ rmadison php
php        | 1:7.0+49      | oldoldstable | all
php        | 2:7.3+69      | oldstable    | all
php        | 2:7.4+76      | stable       | all
php        | 2:8.1+92      | testing      | all
php        | 2:8.1+92      | unstable     | all
php        | 2:8.2+93~exp1 | experimental | all

ということでアプリケーションのダウングレードを行いました.

$ sudo -u www-data php ./occ app:disable polls (1)
$ sudo -u www-data php ./occ app:remove polls (2)
$ wget https://github.com/nextcloud/polls/releases/download/v3.4.2/polls.tar.gz -O /tmp/polls.tar.gz (3)
$ sudo -u www-data tar xvf /tmp/polls.tar.gz -C ./apps/ (4)
$ sudo -u www-data php ./occ app:enable polls (5)
$ rm /tmp/polls.tar.gz
  1. pullsを無効化
  2. pullsを削除
  3. pulls 3.4.2をダウンロード
  4. pulls 3.4.2を展開
  5. pullsを有効化

自分の環境ではこれだけでは治らなかったです.
以下のようにアプリケーション中から7.4を求めるものを探して同様に無効化,削除,旧バーションのダウンロードと展開,有効化を行い治りました.

$ sudo -u www-data find ./apps -type f -iname "*.php" -print0 | xargs -0 grep "70400"

Nextcloudの要件以上をアプリケーションで求め,インストールできてしまうというのは初めて遭遇しました.少し気をつけないといけませんね.
そして早めにDebian Bullesyeに上げてPHPを7.4にしたいところです.

Note

PHPのsiteから7.4を入手して設定も有りかもですがメンテナンスコストが上がってしまいますね…….

環境
$ sudo -u www-data php ./occ --version
Nextcloud 23.0.7
$ php -v
PHP 7.3.31-1~deb10u1 (cli) (built: Oct 24 2021 15:18:08) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.31, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.31-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies
$ lsb_release -dr
Description:    Debian GNU/Linux 10 (buster)
Release:        10
$ arch
x86_64

コメントを残す

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