我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

苏南大叔在本篇文章中,将要给大家带来的centos下面编译yamlpecl组件的相关经验。这个yaml的扩展编译安装,和以往的php扩展安装有所不同,它需要两个部分的安装才能完成。

苏南大叔:centos,如何源码编译安装 php72 的 yaml 扩展? - centos-php-yml
centos,如何源码编译安装 php72 的 yaml 扩展?(图11-1)

大家请跟随苏南大叔进入本文的正题。本文测试环境:yaml@2.0.2centos@7php72

准备源码

yaml作为phppecl扩展,其源码当然要到pecl网站上面寻找。在下面的网址上,苏南大叔下载最新的2.0.2源码包。

苏南大叔:centos,如何源码编译安装 php72 的 yaml 扩展? - 001_src_download
centos,如何源码编译安装 php72 的 yaml 扩展?(图11-2)

我们还需要准备一个叫做libyaml的源码包,这个libyaml是安装phpyaml扩展的前置条件,苏南大叔到下面这个网址可以下载到最新版本,在这里苏南大叔下载到的libyaml的最新版是0.1.7

苏南大叔:centos,如何源码编译安装 php72 的 yaml 扩展? - 005_libyaml
centos,如何源码编译安装 php72 的 yaml 扩展?(图11-3)

苏南大叔把两个源码放到一起,如下图所示。

苏南大叔:centos,如何源码编译安装 php72 的 yaml 扩展? - folder
centos,如何源码编译安装 php72 的 yaml 扩展?(图11-4)

看起来是有些令人疑惑,两者名字一致,只是版本号不同。但是我们需要知道:两者是完全不同的东西,只是恰巧重名了而已,谁让它们是亲戚关系呢?

181118更新,最新版的yaml0.2.1yaml2.0.3搭配,成功编译yaml扩展。

苏南大叔:centos,如何源码编译安装 php72 的 yaml 扩展? - 最新yaml版本组合
centos,如何源码编译安装 php72 的 yaml 扩展?(图11-5)

编译libyaml

当然你也可以选择先编译peclyaml,不过最后make的时候,会报错给你,提示需要libyaml。所以,我们还是先编译libyaml吧,我们先进入libyaml的源码目录(就是版本号比较小的0.1.7这个),然后执行如下命令即可。

cd yaml-0.1.7    #确定进入即可
chmod 777 -R ./  #不一定需要
./configure
make
make install

这里有一个小插曲,就是执行configure命令的时候,可能会提示权限不足,我们给相关源码赋予了777权限,然后继续。下面是相关截图。

苏南大叔:centos,如何源码编译安装 php72 的 yaml 扩展? - 006_libyaml
centos,如何源码编译安装 php72 的 yaml 扩展?(图11-6)

苏南大叔:centos,如何源码编译安装 php72 的 yaml 扩展? - 007_libyaml
centos,如何源码编译安装 php72 的 yaml 扩展?(图11-7)

苏南大叔:centos,如何源码编译安装 php72 的 yaml 扩展? - 008_libyaml
centos,如何源码编译安装 php72 的 yaml 扩展?(图11-8)

编译yamlpecl扩展

这次的主角是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版本,请根据您自己的实际情况,修改为正确的命令行代码即可。

相关截图如下:

苏南大叔:centos,如何源码编译安装 php72 的 yaml 扩展? - 100
centos,如何源码编译安装 php72 的 yaml 扩展?(图11-9)

php.ini中启用yaml.so扩展

启用的办法,非常简单。修改php.ini即可。重启php-fpm服务后,就可以看到phpinfo中的相关变化了。

extension=yaml.so;

苏南大叔:centos,如何源码编译安装 php72 的 yaml 扩展? - php72yaml
centos,如何源码编译安装 php72 的 yaml 扩展?(图11-10)

苏南大叔:centos,如何源码编译安装 php72 的 yaml 扩展? - 102
centos,如何源码编译安装 php72 的 yaml 扩展?(图11-11)

yaml这个php扩展,是用于php处理yaml格式文件的。相比较xml格式来说,这个yaml格式并不常见,但是在markdown日益普及的今天,yaml格式还是需要引起大家的重视,因为markdown的扩展属性都是用这种yaml处理,写在md文档的顶端。

总结

苏南大叔安装了这个php扩展后,就会使用相关函数处理yaml格式的文件,所以,大家可以继续关注苏南大叔的yaml相关文章。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   php    pecl