Centos7でphp7.4のintl拡張機能を手動でインストールする

PHP intl は国際化拡張機能であり、ICU ライブラリのラッパーです。そのため、PHP intl 拡張機能をインストールする前に ICU ライブラリをインストールする必要があります。PHP intl 拡張機能を手動でインストールする方法は次のとおりです。

PHP これはICUライブラリのラッパーである国際化拡張機能です。そのため、PHP intl拡張機能をインストールする前にICUライブラリをインストールする必要があります。
ICUとは何ですか?
ICUは、ソフトウェアアプリケーションにUnicodeとグローバリゼーションのサポートを提供する、成熟したC/C++およびJavaライブラリセットであり、広く使用されています。ICUは幅広い移植性を備えており、あらゆるプラットフォーム、そしてC/C++とJavaソフトウェア間でアプリケーションに同じ結果をもたらします。
ICU は、商用ソフトウェアだけでなく、他のオープンソース ソフトウェアやフリー ソフトウェアでも使用できる、制限のないオープンソース ライセンスの下で配布されます。

ICU が提供するサービスの主な内容は次のとおりです。

コードページ変換:Unicodeとほぼすべての他の文字セットまたはエンコーディング間でテキストデータを変換します。ICUの変換テーブルは、IBMが数十年にわたって収集した文字セットデータに基づいており、入手可能な最も包括的なテーブルです。

照合順序: 特定の言語、地域、または国の規則と標準に従った文字列の比較。ICU の照合順序は、Unicode 照合アルゴリズムと、包括的なデータソースである Common Locale Data Repository のロケール固有の比較規則に基づいています。

書式設定: 数値、日付、時刻、金額を、選択したロケールの書式に従ってフォーマットします。これには、月名と曜日名を選択した言語に翻訳すること、適切な略語を選択すること、フィールドの順序を正しく設定することなどが含まれます。このデータも、共通ロケールデータリポジトリから取得されます。

時間計算:従来のグレゴリオ暦に加え、複数の種類のカレンダーも提供します。タイムゾーン計算APIの完全なセットも提供します。

Unicode サポート: ICU は Unicode 標準に厳密に準拠しており、多くの Unicode 文字プロパティ、Unicode 正規化、大文字と小文字の変換、および Unicode 標準で指定されているその他の基本操作のすべてに簡単にアクセスできます。

正規表現: ICU の正規表現は、非常に競争力のあるパフォーマンスを提供しながら、Unicode を完全にサポートします。

Bidi: 左から右 (英語) と右から左 (アラビア語またはヘブライ語) のデータを含む混合テキストの処理をサポートします。

テキスト境界: テキストの範囲内の単語、文、段落の位置を見つけたり、テキストを表示するときに適切な改行位置を決定したりします。
その他にも、多くの機能があります。詳細については、ICU ユーザーガイドをご覧ください。

まずICUソフトウェアパッケージをダウンロードしてください。最新バージョンについては、ICUの公式ウェブサイトをご覧ください。ウェブサイトのアドレスは次のとおりです。http://site.icu-project.org/
ICUはGitHubからダウンロードできます。システムバージョンに応じて、GitHubから最新バージョンのICUをダウンロードできます。最新バージョンは66.1で、主なアップデートはUnicode 13とCLDR 36.1です。新しいQ1バージョンは、Unicode 13の低リスク統合に使用されます。

https://github.com/unicode-org/icu/releases/download/release-66-1/icu4c-66_1-src.tgz からダウンロードしてください

パッケージを解凍する

tar -zxf icu4c-66_1-src.tgz

サーバーにICUをインストールし、インストールディレクトリを/usr/local/icuに設定します。

cd icu/source ./configure --prefix=/usr/local/icu make && make install

新しくインストールされたICUのバージョンを確認する

yum 情報 icu

50.2でした。公式サイトで確認したところ、CLDR 22.1、Unicode 6.2、序数のサポート、中国語と日本語の辞書ベースの割り込みイテレータが搭載されていることがわかりました。
この時点でICUライブラリはインストールされています。PHP7インストールパッケージのintl拡張機能をダウンロードしてインストールし、次のステップに進んでください。
まず、依存するソフトウェアパッケージをインストールします。以前に環境設定を行っていない場合は、再度インストールする必要があります。また、以前に設定済みのパッケージもインストールしてテストし、不足しているパッケージがないか確認しましょう。

yum -y install make gcc-c++ gd libxml2-devel libjpeg-devel libpng-devel net-snmp-devel curl-devel libxslt-devel pcre-devel libjpeg libpng libxml2 libcurl4-openssl-dev libcurl-devel libcurl libmysqlclient freetype-config freetype freetype-devel unixODBC libxslt


依存パッケージがインストールされたら、PHP7 インストール パッケージから拡張機能のインストールを開始します。
サーバーにPHP7のインストールパッケージがない場合は、再度ダウンロードする必要があります。

https://www.php.net/distributions/php-7.4.3.tar.gz をダウンロードしてください

PHP7 インストール ディレクトリの拡張機能保存ディレクトリに入り、intl 拡張機能をコンパイルして設定します。

cd php-7.4.3/ext/intl phpize ./configure make && make install


intl 拡張機能が正常にインストールされました。

cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/

lsコマンドを使ってディレクトリを確認してください。Intl.soが生成されています。以下のコードをPHP7のphp.iniファイルに貼り付け、PHPサービスを再起動してください。

拡張機能=/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/intl.so

VIを使用してphp.iniを編集します。空白行を見つけてIキーを押して編集モードを開始します。上記の内容を貼り付けたら、ESCキーを押して編集モードをキャンセルします。:wqコマンドを入力してファイルを保存し、VI編集を終了します。

vim /usr/local/php/etc/php.ini

システムの再起動後に PHP を再起動し、PHP プローブ ページに intl 拡張子があるかどうかを確認します。

おめでとうございます。intl 拡張機能が正常にインストールされました。

1/5 - (1票)

手紙への返信

メールアドレスが変更されることはありません。 支払い欄に必須の項目は必須です