Home  >  Article  >  Backend Development  >  How to install the extension intl that comes with php7 in centos7.2 system

How to install the extension intl that comes with php7 in centos7.2 system

醉折花枝作酒筹
醉折花枝作酒筹forward
2021-06-29 09:14:402947browse

The progress of php7 is huge, but great progress also means great changes. Many extensions of old versions of php are no longer compatible. Fortunately, php7 comes with many extensions, such as the intl.so extension. The following will introduce how to install the built-in extension intl in the php7.2.5 version of the centos7.2 system.

How to install the extension intl that comes with php7 in centos7.2 system

It is really necessary to record the installation extension method of php7 and above. Some tutorials on the Internet are really incomplete. It is not that others deliberately missed it, mainly because they There was no requirement in this area during the writing process, so this problem would not have been encountered. Now let’s talk about the pitfalls encountered.

First of all, php7 has made huge progress compared to previous versions, so it is necessary to use it. However, great progress means big changes. Many extensions of old versions of php are no longer compatible. Fortunately, php7 comes with many extensions, such as the intl.so extension. The following will install the built-in extension intl in the php7.2.5 version of the centos7.2 system:

1. PHP intl is an international extension and a wrapper for the ICU library. Therefore, before installing the PHP intl extension, you must first install the ICU library. The specific steps to install the ICU library:

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

Installation completed:

Note: You can also download the icu version from the official website: http:/ /site.icu-project.org/download .

--prefix=/usr/local/icu is the installation path of icu, which can also be found through find / -name icu.

2. Install the extension intl.so

1. Enter the php7.2.5 source code: cd /usr/local/php/php-7.2.5/ext/intl

2. Run: phpize. If the command cannot be found, complete the path: /usr/local/php7/bin/phpize (which is the installation path of php), and the following will appear:

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

三. Run configuration

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

Note: The front path is the installation path of icu, and the back path is the installation path of php.

4. Compile extension: make

5. Copy and expand to the target folder

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

Note: You can also find / -name intl.so.

6. Set the extension and add it to the configuration file:

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

Big pit::: When using phpinfo(), the configured intl extension cannot be found, indicating that the configuration does not take effect. . . . . .

Reason: When compiling php, there is no --with-config-file-path=PATH to specify the php.ini path. The default path is /usr/local/php7/lib. You only need to put php.ini Just enter this default path. You can also add it when installing and configuring php, as follows:

./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

Access: phpinfo() file in index.php.

Recommended learning: php video tutorial

The above is the detailed content of How to install the extension intl that comes with php7 in centos7.2 system. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete