PHP intl 模塊是 PHP 語言的擴展,它在您的應用程序中提供國際化和本地化支持。這是一個在應用程序中翻譯消息的基本框架,它為 PHP 應用程序提供多語言支持,允許開發人員創建可以輕鬆翻譯成不同語言的網站和應用程序。該模塊包含各種處理文本、日期和數字的函數,包括排序規則、規範化和字符串解析。在此博客中,我們將討論什麼是 PHP Intl 模塊,如何將其安裝在 OneClick OpenLiteSpeed WordPress Web 服務器上,以及由於在 OpenLiteSpeed WordPress 安裝中缺少 PHP Intl 模塊而發生的常見錯誤。您可能已經在 WordPress 站點健康頁面上註意到了這個錯誤。

WordPress 站點健康屏幕頁面目錄中與 PHP Intl 模塊相關的錯誤

PHP intl 模塊在大多數 Web 應用程序中是一個非常強大的工具,它提供了許多包括但不限於以下功能:

文本整理:PHP Intl 模塊提供了對不同語言的文本進行排序的功能,允許您以對文本顯示所用的語言有意義的方式對文本進行排序。 文本規範化: PHP Intl 模塊提供了規範化文本的功能,這有助於確保文本在不同語言中的正確顯示,即使是在具有不同書寫系統的語言中。字符串解析:PHP Intl 模塊提供了解析字符串的函數,可以更方便地從不同語言的文本中提取信息。日期和時間格式化:PHP Intl 模塊提供了以不同語言格式化日期和時間的函數,允許您以一種在顯示它所用的語言中有意義的方式顯示日期和時間。數字格式化:PHP Intl 模塊提供函數用於格式化不同語言的數字,允許您以一種在其顯示語言中有意義的方式顯示數字。消息翻譯:PHP Intl 模塊提供翻譯消息的功能,允許您為您的網站提供多語言支持或申請。對不同語言的文本數組進行排序:PHP Intl 模塊提供了以一種在顯示語言中有意義的方式對文本數組進行排序的函數。在不同腳本之間轉換文本:PHP Intl 模塊提供了在不同腳本之間轉換文本的函數腳本,允許您正確顯示不同書寫系統的文本。

intl 模塊由兩部分組成:

一組函數,用於根據各種區域設置解析和格式化日期、時間、數字、貨幣值和其他類型的數據-具體約定。基於 RFC3066 (unicode) 標準創建、加載和緩存語言環境數據的框架。

由於在 OpenLiteSpeed WordPress 安裝中缺少 PHP Intl 模塊導致的常見錯誤:

如果 OpenLiteSpeed WordPress 安裝中缺少 PHP Intl 模塊,可能會出現許多錯誤。一些最常見的錯誤包括:

對數組進行排序時出現“非法字符串偏移”錯誤:嘗試使用 sort() 函數對數組進行排序時會發生此錯誤。 PHP Intl 模塊提供了許多用於對不同語言的文本進行排序的函數,因此如果缺少該模塊,則對非英語的文本進行排序可能會導致此錯誤。 “致命錯誤:調用未定義的函數 collat​​or_create()”錯誤:當嘗試使用 collat​​or_create() 函數時會發生此錯誤,該函數是 PHP Intl 模塊的一部分。該函數用於創建用於對不同語言的文本進行排序的排序器,因此如果缺少該模塊,則該函數將不可用並會出現此錯誤。 “注意:使用未定義的常量 INTL_ICU_VERSION”錯誤:當嘗試使用常量 INTL_ICU_VERSION 時會發生此錯誤,它是 PHP Intl 模塊的一部分。該常量用於判斷安裝在服務器上的ICU庫的版本,所以如果缺少PHP Intl模塊,則不會定義該常量而出現該錯誤。 “致命錯誤:未捕獲錯誤:未找到類’IntlDateFormatter’”“致命錯誤:未捕獲錯誤:未找到類’IntlCalendar’”“致命錯誤:未捕獲錯誤:未找到類’IntlTimeZone’”“致命錯誤:未捕獲錯誤:類’IntlGregorianCalendar’未找到” “致命錯誤:未捕獲錯誤:未找到類’Collat​​or’” “致命錯誤:未捕獲錯誤:未找到類’MessageFormatter’” “致命錯誤:未捕獲錯誤:未找到類’NumberFormatter’” “致命錯誤:未捕獲錯誤:未找到“規範化器”類” “致命錯誤:未捕獲錯誤:調用未定義函數 intl_get_error_code()” “致命錯誤:未捕獲錯誤:調用未定義函數 intl_get_error_message()”

如何安裝 PHP Intl OneClick OpenliteSpeed WordPress Web 服務器上的模塊?

在 OneClick OpenLiteSpeed WordPress Web 服務器上安裝 PHP Intl 模塊是一個相對簡單的過程。以下是要遵循的步驟:

通過 SSH 登錄到您的服務器 運行以下命令以安裝 PHP Intl 模塊: $ sudo yum install php-intl 重新啟動 OpenLiteSpeed 服務器以使更改生效: sudo service lsws重新啟動

對於 Ubuntu Linux,首先添加 LiteSpeed Debian 存儲庫,然後為您的 PHP 版本安裝 intl 模塊。

$ sudo apt-get 更新 $ wget-O-http://rpms.litespeedtech.com/debian/enable_lst_debian_repo.sh | bash $ sudo apt-get install lsphp81-intl//如果是 centOS 或 Yum 安裝程序-> $ sudo yum install lsphp81-intl $ killall-9 lsphp $ systemctl restart lsws

在上面的命令中,我們正在安裝 intl模塊適用於 PHP 8.1 版,如果是 PHP 8.0,請使用命令 $ sudo apt-get install lsphp81-intl

如果您使用的是 WordPress,請立即嘗試刷新站點健康頁面,錯誤將消失。不要忘記清除緩存插件。

您可以通過在您的網站根目錄中創建一個 phpinfo.php 文件(具有以下代碼內容)並在您的瀏覽器中訪問它來驗證安裝:

加載頁面後,搜索 intl 並確保它已啟用。

顯示在 OpenLiteSpeed Web 服務器上啟用的 PHP intl 模塊

注意:上述步驟適用於安裝在 Ubuntu 20.04 及更高版本上的 OpenLiteSpeed Web 服務器。包名和步驟可能因不同的發行版和版本而異。

結論:

PHP Intl 模塊是開發人員創建多線程的必備工具。語言網站和應用程序。憑藉其廣泛的國際化功能,它提供了一種標準化的方式來處理不同語言的文本、數字和日期。在 OneClick OpenLiteSpeed WordPress Web 服務器上安裝 PHP Intl 模塊是一個簡單的過程,可以幫助避免許多常見錯誤。如果您要構建多語言網站或應用程序,請考慮使用 PHP Intl 模塊來確保您的應用程序正確國際化。

By Maisy Hall

我是一名自由作家。 我也是素食主義者和環保主義者。 每當我有時間時,我都會專注於冥想。