Nextcloud的一些错误提示


PHP 内存限制低于建议值 512MB

您可以通过以下步骤增加PHP内存限制:

  1. 打开php.ini文件

在终端中输入以下命令打开php.ini文件:

bash

sudo nano /etc/php/<version>/apache2/php.ini

请注意将“”替换为您正在使用的PHP版本。

  1. 更改内存限制

使用Ctrl+W搜索memory_limit。找到并更改下面一行中的内存限制值:

makefile

memory_limit = 512M

将值更改为建议的内存限制,如1G或2G:

makefile

memory_limit = 1G
  1. 保存并关闭文件

使用Ctrl+O保存更改,然后使用Ctrl+X退出nano。

  1. 重启Apache服务器

在终端中输入以下命令以重启Apache服务器:

sudo systemctl restart apache2

现在,您的PHP内存限制已更改为建议值。


内存缓存未配置。为了提升性能,请尽量配置内存缓存


对于Nextcloud而言,为了获得更好的性能和体验,内存缓存是必须的。如果未配置内存缓存,则应该按照以下步骤配置:

  1. 安装php-redis扩展

在终端中输入以下命令以安装php-redis扩展:

sudo apt-get install php-redis
  1. 启用Redis模块

在终端中输入以下命令启用Redis模块:

sudo phpenmod redis

  1. 配置Redis

打开Nextcloud的配置文件config.php:

sudo nano /var/www/nextcloud/config/config.php

添加以下代码到文件末尾:

'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
    'host' => 'localhost',
    'port' => 6379,
),

请注意,如果Redis服务器不在本地主机上,您需要将主机设置为相应的IP地址或域名。

  1. 重启Apache服务器

在终端中输入以下命令以重启Apache服务器:

sudo systemctl restart apache2

现在,您已经成功配置了内存缓存。Nextcloud将使用Redis作为内存缓存,从而提升性能和响应速度。


此实例中的 php-imagick 模块不支持 SVG。为了获得更好的兼容性,建议安装它


确实,在默认情况下,Ubuntu操作系统提供的php-imagick模块不支持SVG格式。为了让php-imagick模块支持SVG,您需要安装librsvg2-bin软件包。按照以下步骤进行操作:

  1. 安装librsvg2-bin软件包

在终端中输入以下命令以安装librsvg2-bin软件包:

sudo apt-get install librsvg2-bin
  1. 配置php-imagick模块

在终端中输入以下命令以编辑php-imagick模块的配置文件:

bash

sudo nano /etc/ImageMagick-6/policy.xml

找到以下行:

php

<!-- <policymap> -->

在该行下方添加以下代码:

php

<policy domain="coder" rights="read|write" pattern="LABEL" />
<policy domain="path" rights="read|write" pattern="@*" />

请注意,这将允许php-imagick模块读取和写入所有图像格式的标签,并访问所有路径。

  1. 重启Apache服务器

在终端中输入以下命令以重启Apache服务器:

sudo systemctl restart apache2

现在,您已经成功安装了librsvg2-bin软件包并配置了php-imagick模块。php-imagick现在将支持SVG格式,因此您可以在Nextcloud中使用SVG图像。


我在配置文件中只找到了我要修改它吗?


是的,如果您的php-imagick配置文件中只有<policymap>标记,那么您需要修改它。按照以下步骤进行操作:

  1. 编辑php-imagick模块的配置文件

在终端中输入以下命令以编辑php-imagick模块的配置文件:

bash

sudo nano /etc/ImageMagick-6/policy.xml
  1. 修改

找到以下行:

php

<policymap>

在该行下方添加以下代码:

php

<policy domain="coder" rights="read|write" pattern="LABEL" />
<policy domain="path" rights="read|write" pattern="@*" />

请注意,这将允许php-imagick模块读取和写入所有图像格式的标签,并访问所有路径。

  1. 保存并关闭文件

使用Ctrl+O保存更改,然后使用Ctrl+X退出nano。

  1. 重启Apache服务器

在终端中输入以下命令以重启Apache服务器:

sudo systemctl restart apache2

现在,您已经成功配置了php-imagick模块,php-imagick现在将支持SVG格式,因此您可以在Nextcloud中使用SVG图像。


您的安装没有设置默认的电话区域。这对验证配置设定中没有国家代码的电话号码而言是必需的。要允许没有国家代码的电话号码,请添加带区域相应的 ISO 3166-1 code ↗ 的“默认_电话_区域”到你的配置文件中。


这个错误提示意味着您需要在Nextcloud的配置文件中设置默认的电话区域,以便在没有国家代码的电话号码时进行验证。

要解决此问题,请按照以下步骤进行操作:

  1. 打开Nextcloud的配置文件

在终端中输入以下命令以编辑Nextcloud的配置文件:

lua

sudo nano /var/www/nextcloud/config/config.php
  1. 添加默认的电话区域

在该文件中找到以下行:

'instanceid' => '',

在该行下方添加以下代码:

'default_phone_region' => 'ISO-3166-1-Alpha-2 code',

将 "ISO-3166-1-Alpha-2 code" 替换为您所在的国家或地区的代码。例如,如果您位于美国,则可以使用“US”。

  1. 保存并关闭文件

使用Ctrl+O保存更改,然后使用Ctrl+X退出nano。

  1. 重启Apache服务器

在终端中输入以下命令以重启Apache服务器:

sudo systemctl restart apache2

现在,您已经成功为Nextcloud设置了默认的电话区域。如果您在验证配置中使用没有国家代码的电话号码,Nextcloud将使用此设置来进行验证。

PHP 模块 "gmp" 和/或 "bcmath" 未被启用。如果你使用 WebAuthn 无密码验证,这些模块是必需的


这个错误提示意味着您需要启用PHP模块 "gmp" 和/或 "bcmath"。这些模块是必要的,如果您计划使用WebAuthn无密码验证功能。

要启用这些模块,请按照以下步骤进行操作:

  1. 检查PHP版本

在终端中输入以下命令以检查您正在使用的PHP版本:

php -v

  1. 安装gmp和bcmath模块

如果您使用的是PHP 7.2或更高版本,则可以通过以下命令安装gmp和bcmath模块:

csharp

sudo apt-get install php-gmp php-bcmath

如果您使用的是较旧版本的PHP,则需要使用相应的软件包管理器安装这些模块。

  1. 重启Apache服务器

在终端中输入以下命令以重启Apache服务器:

sudo systemctl restart apache2

现在,您已经成功启用了PHP模块 "gmp" 和 "bcmath"。如果您计划使用WebAuthn无密码验证功能,这些模块是必需的。


此实例中的 php-imagick 模块不支持 SVG。为了获得更好的兼容性,建议安装它(二)


这个错误提示意味着您使用的 php-imagick 模块不支持SVG图像格式。为了获得更好的兼容性和功能性,建议您安装支持SVG格式的 php-imagick 模块。

要安装支持SVG格式的 php-imagick 模块,请按照以下步骤进行操作:

  1. 检查您的系统架构

在终端中输入以下命令以检查您的系统架构:

bash

uname -m

如果您的系统是64位,则继续进行下一步。如果您的系统是32位,则不支持SVG格式的 php-imagick 模块。

  1. 安装依赖项

在终端中输入以下命令以安装 php-imagick 模块所需的依赖项:

csharp

sudo apt-get install libmagickwand-dev pkg-config
  1. 下载并编译源代码

在终端中输入以下命令以下载并编译 php-imagick 模块的源代码:

bash

cd ~
git clone https://github.com/Imagick/imagick
cd imagick
phpize
./configure --with-php-config=/usr/bin/php-config --enable-imagick=shared
make
sudo make install
  1. 启用 php-imagick 模块

在终端中输入以下命令以在 PHP 中启用 php-imagick 模块:

rust

sudo bash -c 'echo "extension=imagick.so" > /etc/php/7.4/mods-available/imagick.ini'
sudo phpenmod imagick

请根据您正在使用的PHP版本进行相应更改。

  1. 重启 Apache 服务器

在终端中输入以下命令以重启 Apache 服务器:

sudo systemctl restart apache2

现在,您已经成功安装并启用了支持SVG格式的 php-imagick 模块。您可以验证它是否正常工作,将包含SVG图像的文件上传到Nextcloud并查看是否可以正常预览。