php-intl 国际化支持拓展,在比较新的一些框架中会要求安装。例如:cakephp3和symfony3.比较集中的问题是现在的intl拓展要求4.8 以上的icu版本。而默认源的版本是4.2。
# We start to uninstall default php-intl wich is compiled with ICU 42 (need at least 49)
yum remove php-intl
yum -y install php-devel php-pear
cd /root
mkdir src
cd src
# Download icu4c source
wget http://download.icu-project.org/files/icu4c/51.2/icu4c-51_2-src.tgz
tar zxf icu4c-51_2-src.tgz
cd icu/source
# Compiling and installing in /opt/icu5c-51_2 folder
./configure --prefix=/opt/icu5c-51_2 && make && make install
# Compiling PHP intl extension via pecl
pecl install intl
downloading intl-2.0.1.tgz ...
Starting to download intl-2.0.1.tgz (149,430 bytes)
.................................done: 149,430 bytes
111 source files, building
running: phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
Specify where ICU libraries and headers can be found [DEFAULT] : /opt/icu5c-51_2
# Create icu.conf file in /etc/ld.so.conf.d/ with the content:
/opt/icu5c-51_2/lib/
# Run
# Edit /etc/php.ini add ~ line 937 the line
extension=intl.so
#Then reload the php-fpm
service php-fpm reload