centos,如何源码编译安装 php72 的 yaml 扩展?
发布于 作者:苏南大叔 来源:程序如此灵动~苏南大叔在本篇文章中,将要给大家带来的centos
下面编译yaml
的pecl
组件的相关经验。这个yaml
的扩展编译安装,和以往的php
扩展安装有所不同,它需要两个部分的安装才能完成。
大家请跟随苏南大叔进入本文的正题。本文测试环境:yaml@2.0.2
,centos@7
,php72
。
准备源码
yaml
作为php
的pecl
扩展,其源码当然要到pecl
网站上面寻找。在下面的网址上,苏南大叔下载最新的2.0.2
源码包。
我们还需要准备一个叫做libyaml
的源码包,这个libyaml
是安装php
的yaml
扩展的前置条件,苏南大叔到下面这个网址可以下载到最新版本,在这里苏南大叔下载到的libyaml
的最新版是0.1.7
。
苏南大叔把两个源码放到一起,如下图所示。
看起来是有些令人疑惑,两者名字一致,只是版本号不同。但是我们需要知道:两者是完全不同的东西,只是恰巧重名了而已,谁让它们是亲戚关系呢?
181118更新,最新版的yaml0.2.1
和yaml2.0.3
搭配,成功编译yaml扩展。
编译libyaml
当然你也可以选择先编译pecl
的yaml
,不过最后make
的时候,会报错给你,提示需要libyaml
。所以,我们还是先编译libyaml
吧,我们先进入libyaml
的源码目录(就是版本号比较小的0.1.7
这个),然后执行如下命令即可。
cd yaml-0.1.7 #确定进入即可
chmod 777 -R ./ #不一定需要
./configure
make
make install
这里有一个小插曲,就是执行configure
命令的时候,可能会提示权限不足,我们给相关源码赋予了777
权限,然后继续。下面是相关截图。
编译yaml
的pecl
扩展
这次的主角是yaml-2.0.2
,我们的测试环境是centos
上的宝塔面板里面的php71
,所以可以参考苏南大叔以前的tidy
扩展编译相关经验。
如果你的libyaml
已经顺便编译并安装了,那么yaml
的相关pecl
扩展的安装,也应该非常顺利。命令如下:
cd yaml-2.0.2
chmod 777 -R ./
/www/server/php/72/bin/phpize
./configure --with-php-config=/www/server/php/72/bin/php-config
make && make install
注意上述代码中的72
字样,您操作的时候,可能这个72
已经变成了73
或者75
等等更高的php版本,请根据您自己的实际情况,修改为正确的命令行代码即可。
相关截图如下:
在php.ini
中启用yaml.so
扩展
启用的办法,非常简单。修改php.ini
即可。重启php-fpm
服务后,就可以看到phpinfo
中的相关变化了。
extension=yaml.so;
yaml
这个php
扩展,是用于php
处理yaml
格式文件的。相比较xml
格式来说,这个yaml
格式并不常见,但是在markdown
日益普及的今天,yaml
格式还是需要引起大家的重视,因为markdown
的扩展属性都是用这种yaml
处理,写在md
文档的顶端。
总结
苏南大叔安装了这个php
扩展后,就会使用相关函数处理yaml
格式的文件,所以,大家可以继续关注苏南大叔的yaml
相关文章。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。