ホームページ  >  記事  >  バックエンド開発  >  php7に付属する拡張機能intlをcentos7.2システムにインストールする方法

php7に付属する拡張機能intlをcentos7.2システムにインストールする方法

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-06-29 09:14:402951ブラウズ

php7 の進歩は非常に大きなものですが、大きな進歩は大きな変化も意味します。古いバージョンの php の多くの拡張機能は互換性がなくなりました。幸いなことに、php7 には intl.so 拡張機能などの多くの拡張機能が付属しています。以下では、centos7.2 システムの php7.2.5 バージョンに組み込み拡張子 intl をインストールする方法を紹介します。

php7に付属する拡張機能intlをcentos7.2システムにインストールする方法

php7 以降のインストール拡張方法を記録する必要があります。インターネット上のいくつかのチュートリアルは非常に不完全です。他の人が意図的にそれを見逃したわけではありません。主に次の理由によります。書き込みプロセス中にこの領域に要件がなかったため、この問題は発生しませんでした。次に、遭遇する落とし穴について話しましょう。

まず、php7 は以前のバージョンに比べて大きく進歩しているので、それを使う必要がありますが、大きな進歩ということは大きな変化を意味しており、古いバージョンの php の拡​​張機能の多くは互換性がなくなりました。幸いなことに、php7 には intl.so 拡張機能などの多くの拡張機能が付属しています。以下は、centos7.2 システムの php7.2.5 バージョンに組み込み拡張子 intl をインストールします:

1. PHP intl は国際的な拡張子であり、ICU ライブラリのラッパーです。したがって、PHP intl 拡張機能をインストールする前に、まず ICU ライブラリをインストールする必要があります。ICU ライブラリをインストールする具体的な手順:

mkdir  /usr/local/icu 
cd   /usr/local/icu 
wget http://download.icu-project.org/files/icu4c/52.1/icu4c-52_1-src.tgz
tar xf icu4c-52_1-src.tgz 
cd icu/source 
mkdir /usr/local/icu 
./configure --prefix=/usr/local/icu 
make && make install

インストールの完了:

注: icu をダウンロードすることもできます。公式 Web サイトからのバージョン: http://site.icu-project.org/download 。

--prefix=/usr/local/icu は、icu のインストール パスです。これは、find / -name icu によっても見つけることができます。

2. 拡張機能 intl.so

1 をインストールします。 php7.2.5 ソース コードを入力します: cd /usr/local/php/php-7.2.5/ext/intl

2。実行: phpize コマンドが見つからない場合は、パス: /usr/local/php7/bin/phpize (php のインストール パス) を入力すると、次のように表示されます:

Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525

三。実行構成

 ./configure  --enable-intl --with-icu-dir=/usr/local/icu/  --with-php-config=/usr/local/php7/bin/php-config

注: フロントパスはicuのインストールパス、バックパスはphpのインストールパスです。

4.拡張機能をコンパイルします:

5 を作成します。ターゲット フォルダーにコピーして展開します

cp /user/local/php/php7.2.5/ext/intl/modules/intl.so  /user/local/php7/lib/php/extensions/no-debug-non-zts-20170718

注: / -name intl.so も見つかります。

6.拡張子を設定し、設定ファイルに追加します。

[intl]
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/"
extension=intl.so

大きな落とし穴::: phpinfo() を使用すると、設定された intl 拡張子が見つからず、設定が有効にならないことが示されます。 。 。 。 。 。

理由: php をコンパイルするときに、php.ini パスを指定する --with-config-file-path=PATH がありません。デフォルトのパスは /usr/local/php7/lib です。必要なのは、 php.ini を配置するには、このデフォルトのパスを入力するだけです。次のように、php のインストールおよび設定時に追加することもできます:

./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs

アクセス:index.php の phpinfo() ファイル。

推奨学習: php ビデオ チュートリアル

以上がphp7に付属する拡張機能intlをcentos7.2システムにインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。