Nextcloud的一些錯誤提示

Athenavi發表於2023-03-01

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並檢視是否可以正常預覽。


相關文章