升级了NextCloud后,在后台检查提示有occ db:add-missing-indices和occ db:convert-filecache-bigint问题,如下:
您的每项配置对于实例的安全性和性能都至关重要。 为了帮助您,我们正在做一些自动检查。 有关详细信息,请参阅文档链接。
- 数据库丢失了一些索引。由于给大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。您可以在 Nextcloud 运行时通过命令行手动执行 “occ db:add-missing-indices” 命令修复丢失的索引。索引修复后会大大提高相应表的查询速度。
- 在数据表 “oc_cards” 中无法找到索引 “cards_abiduri”。
- 数据库缺少一些主键。由于在大型数据表上添加主键可能需要一些时间,因此程序没有自动添加。通过运行 “occ db:add-missing-primary-keys”,这些缺失的主键可以在实例持续运行时手动添加。
- 在数据表 “oc_federated_reshares” 中缺少主键。
- 在数据表 “oc_systemtag_object_mapping” 中缺少主键。
- 在数据表 “oc_comments_read_markers” 中缺少主键。
- 在数据表 “oc_collres_resources” 中缺少主键。
- 在数据表 “oc_collres_accesscache” 中缺少主键。
- 在数据表 “oc_filecache_extended” 中缺少主键。
- 数据库中的一些列由于进行长整型转换而缺失。由于在较大的数据表重改变列类型会耗费一些时间,因此程序没有自动对其更改。您可以通过命令行手动执行 “occ db:convert-filecache-bigint” 命令以应用挂起的更改。该操作需要当整个实例变为离线状态后执行。查阅相关文档以获得更多详情。
- federated_reshares.share_id
- share_external.id
- share_external.parent
请仔细检查安装指南↗,并检查日志中是否有错误或警告。
官方给出的命令是:
sudo -u www-data(或者是www) php occ db:add-missing-indices
会提示PHP版本太低的问题:
This version of Nextcloud requires at least PHP 7.2<br/>You are currently running 7.0.33-0ubuntu0.16.04.16. Please update your PHP version
实际上是PHP默认的版本太低的原因,解决的办法用命令找出你的PHP路径:
# locate */php /etc/php /etc/alternatives/php /etc/cron.d/php /usr/bin/php /usr/lib/php /usr/local/php /usr/local/php/php /usr/local/php/bin/php /usr/local/php/include/php /usr/local/php/lib/php /usr/local/php/php/php /usr/share/php /var/lib/php /var/lib/dpkg/alternatives/phpq
然后,测试你的PHP版本:/usr/local/php/bin/php -v,和 /usr/bin/php -v,一般来说后者为默认的PHP路径,版本会低一些。
所以最后命令就变成了:
sudo -u www(或者是www-data) /usr/local/php/bin/php /data/wwwroot/xxx.wzfou.com occ db:add-missing-indices
也可以先进入到NextCloud根目录下,再执行命令:
sudo -u www(或者是www-data) /usr/local/php/bin/php occ db:add-missing-indices