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

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

准备源码

yaml作为php的pecl扩展,其源码当然要到pecl网站上面寻找,http://pecl.php.net/package/yaml 。我们下载最新的2.0.2源码包。

centos,如何编译安装php72的yaml扩展 - 001_src_download

我们还需要准备一个叫做libyaml的源码包,这个libyaml是安装php的yaml扩展的前置条件,我们到下面这个网址可以下载到最新版本,http://pyyaml.org/download/libyaml/ 。这里我们下载到的libyaml的最新版是0.1.7 。

centos,如何编译安装php72的yaml扩展 - 005_libyaml

我们把两个源码放到一起,如下图所示。

centos,如何编译安装php72的yaml扩展 - folder

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

编译libyaml

当然你也可以选择先编译pecl的yaml,不过最后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扩展 - 007_libyaml

centos,如何编译安装php72的yaml扩展 - 008_libyaml

编译yaml的pecl扩展

这次的主角是yaml-2.0.2,我们的测试环境是centos上的宝塔面板里面的php71,所以可以参考苏南大叔以前的tidy扩展编译相关经验。https://newsn.net/say/php71-compile-tidy-extension.html 。如果你的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

在php.ini中启用yaml.so扩展

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

extension=yaml.so;

centos,如何编译安装php72的yaml扩展 - php72yaml

centos,如何编译安装php72的yaml扩展 - 102

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

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

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。