一、前言
之前在容器环境下搭建起来了NextCloud网盘,主题功能是使用正常的,可以选取自定义的logo及背景图上传应用都是没有问题的。后续生产环境搭建NextCloud网盘采用了分布式部署,不再使用容器。在实际使用过程中定制化网盘的时候遇到了通过theming 应用上传logo等一直转圈无法上传成功应用的现象。基于这个问题展开了实验。
二、方案一
我通过在Google上搜索类似我的这种情况的解决方案,找到了解决方案,看到年代久远,版本差别较大可行性较低没有实施的必要。
大体思路:禁用theming应用,定义自己的主题目录,通过配置文件指定新的主题目录。下边是详细方案感兴趣可以了解一下。
https://docs.nextcloud.com/server/12/developer_manual/core/theming.html#changing-the-default-colours
三、方案二
通过市场三方应用实现定制,在应用市场发现这么一个app,没有去尝试。
https://apps.nextcloud.com/apps/theming_customcss
四、方案三
有人说安装opcache php扩展后意外解决了这个问题,还有人通过修改php上传文件大小的方式解决。但是这些在我这里都没有奏效。
索性灵光一闪,拿测试环境中php扩展对比一下看下是不是少什么扩展了。
如下是测试环境中nextcloud容器php安装开启的扩展。
root@ff90ca6713a3:/var/www/html# php -m
[PHP Modules]
apcu
bcmath
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gmp
hash
iconv
imagick
intl
json
ldap
libxml
mbstring
memcached
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
SimpleXML
sodium
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
对比生产环境发现有些没装,抱着试试的态度安装了两个文件、图像相关的php扩展后尝试发现已经可以上传logo了。
开启扩展为:
exif
fileinfo
很大可能性是fileinfo
扩展起的作用
至此我的问题已经解决,希望这种方法能对你有用。