愿互联网精神在此永存

记录一次Nextcloud看不到Aria2下载的文件的解决

环境:Ubuntu22.04 + Nginx1.22.1 + PHP 8.0 + Nextcloud Hub 6 (27.1.3) + 宝塔面板

最近在vps上部署了Aria2下载了一些动漫到nextcloud的目录下,但是在nextcloud的网页端却找不到这些文件。经过搜索得知,Nextcloud的文件列表并不是实时读取,而是通过数据库来维护的,而数据库并不能实时更新,这时候就需要我们手动去更新文件列表。

Google上查到了如下Shell命令:

sudo -u www-data php occ files:scan –all

然而在我的环境下的运行结果是这样的:


这里提示了PHP版本的错误(其实如果用宝塔+LNMP部署Nextcloud,需要修正的还不止这个,后表)。于是我将情况丢给了ChatGPT,得到了如下回答:

但是事实上,

which php8.0

这条语句并没有任何输出。于是通过宝塔的软件商店手动找到PHP8.0的安装路径

/www/server/php/80

旋即又更改了指令

sudo -u www-data /www/server/php/80/bin/php /storage512/cloud/occ files:scan --all

事情并没有想象中那么简单,我的Shell再度报错如下:


这里并非简单的目录权限问题,因为我的Nextcloud文件夹权限早已设为775,config也非只读。经过调查得知,Nginx的Web用户为www而非www-data
最终,这条命令完美解决了问题:

sudo -u www /www/server/php/80/bin/php /storage512/cloud/occ files:scan --all


之后在宝塔面板中将这条命令加入计划任务,每半小时执行一次,终于可以高枕无忧了。

添加新评论