[SOLVED] Ошибки "Undefined index" и "reset() expects parameter 1 to be array" при синхронизации через WebDAV

Имеется:

  • сервер: debian 7.3.1 x64
    ---- apache2 2.4.10
    ---- mysql 5.5.54
    ---- php5 5.6.30
    ---- nextcloud 11.0.2
  • клиент: GoodSync 9.x

Практически всё время при синхронизации в логах панели управления пишется следующее:

Error  PHP  reset() expects parameter 1 to be array, null given at /var/www/nextcloud/apps/files_versions/lib/Storage.php#783
Error  PHP  ksort() expects parameter 1 to be array, null given at /var/www/nextcloud/apps/files_versions/lib/Storage.php#782
Error  PHP  Invalid argument supplied for foreach() at /var/www/nextcloud/apps/files_versions/lib/Storage.php#759
Error  PHP  Undefined index: by_file at /var/www/nextcloud/apps/files_versions/lib/Storage.php#759
Error  PHP  Undefined index: all at /var/www/nextcloud/apps/files_versions/lib/Storage.php#757

При этом синхронизация работает. Но файл лога на сервере растёт с чудовищной скоростью :slight_smile: Возможно это связано как-то с тем, что при синхронизации не создаются архивы версий фалов - эту проблема у меня решается клиентом GoodSync.

Причина в ошибке “Undefined index … Storage.php#757”. Это сообщение каскадно тянет ещё несколько ошибок.
Вся проблема в квоте. На этой строчке в коде вычисляется свободное место с учётом объёма архивных файлов. Возможно ошибка возникает из-за того, что история файлов не архивируется при WebDAV. Что-то идёт не так хотя квота задана “неограничено”. Для исправления ошибки достаточно задать “бесконечную” квоту для пользователей, например, 100TB и ошибка исчезает.