Centos7下手动安装php7.4的intl扩展

PHP 是国际化扩展,是ICU库的一个包装器。所以在安装PHP intl扩展前要先安装ICU库。
什么是ICU?
ICU是成熟的,广泛使用的C / C ++和Java库集,可为软件应用程序提供Unicode和全球化支持。ICU具有广泛的可移植性,可以在所有平台上以及C / C ++和Java软件之间为应用程序提供相同的结果。
ICU是根据非限制性开放源代码许可证发行的,该 许可证 适用于商业软件以及其他开放源代码或自由软件。

以下是ICU提供的服务的一些要点:

代码页转换:在Unicode和几乎任何其他字符集或编码之间来回转换文本数据。ICU的转换表基于IBM数十年来收集的字符集数据,并且在任何地方都是最完整的。

排序规则:根据特定语言,地区或国家/地区的约定和标准比较字符串。ICU的归类基于Unicode归类算法以及通用语言环境数据存储库(特定于此类数据的全面来源)中特定于语言环境的比较规则 。

格式设置:根据所选区域设置的格式设置数字,日期,时间和货币金额的格式。这包括将月份和日期的名称翻译成所选的语言,选择适当的缩写,正确地订购字段等。此数据也来自通用语言环境数据存储库。

时间计算:除了传统的公历之外,还提供多种类型的日历。提供了一套完整的时区计算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的低风险集成。

wget 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 info 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的安装包需要重新下载

wget 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服务就可以了。

extension=/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扩展了!

评分

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注