Home >Backend Development >PHP7 >How to install the extension intl that comes with php7 in centos7.2 system
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.
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!