linux下如何安装yaconf扩展

本文介绍了Yaconf的安装与使用。先需安装git,通过git clone下载yaconf,编译生成so文件,创建ini文件夹存放配置文件。安装完成后,要在fpm和cli模式的php.ini配置文件中添加yaconf.so扩展,还介绍了简单安装方法。最后说明了在cli终端和ThinkPHP 5.1中测试使用Yaconf获取配置参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先要知道yaconf是干啥滴!https://blog.youkuaiyun.com/weixin_39166924/article/details/95740573

下载安装包 (首先要安装git) https://www.jianshu.com/p/89a2917ff5c1
找个合适的位置 我是放在了/usr/software 专门放安装软件的位置

git clone https://github.com/laruence/yaconf.git

下载完成进入yaconf目录 cd yaconf 编译生成so文件 ( 找到安装php的目录 )

cd yaconf
/usr/bin/phpize7.0   #我是将phpize安装到了该位置 就用你自己安装的位置就行
./configure --with-php-config=/usr/bin/php-config      #后边写你自己php-config所在的位置

进行编译安装

make -j && make install

找个地方创建一个文件夹 比如我在/media/sf_ubt/下创建了ini文件夹用来存放所有的配置文件后缀统一都是.ini 比如我创建了ceshi.ini 然后在里面写入内容为:
name=“hsl”
password=111111
保存即可
当然也可以写其他格式的比如map类型的 https://blog.youkuaiyun.com/weixin_39166924/article/details/95740573文章当中都有介绍

安装完成了之后我们需要修改php.ini配置文件添加上yaconf.so扩展

这个地方要特别注意 我的linux环境下有两个php.ini配置文件 我发现我在程序里面打印phpinfo看到的php.ini路径和在cli模式下执行php -i | grep php.ini 看到的php.ini路径是不一样的 这说明fpm和cli下php.ini配置文件根本就不是一样 所以我们要找到这两个php.ini配置文件都加上扩展 这样可以保证在fpm模式下运行和在cli模式下运行都是正常的!

这里说另外一种简单的安装yaconf的方法 直接执行命令:pecl install yaconf 这一句话可以代替上边所有的操作 然后再往下走即可

extension=yaconf.so
yaconf.directory=/media/sf_ubt/ini    #写你自己创建的文件夹路径
yaconf.check_delay=100    #心跳检查时间,若为0则不检查,但如果有修改,需重启PHP

不要忘记重启服务

service php7.0-fpm restart
service nginx restart

然后可以通过php -m 查看是否安装好了yaconfg扩展 如果有yaconf说明cli模式下php.ini当中有了yaconf扩展
然后打印phpinfo 在界面上看看是否有了yaconf扩展
要保证两者都有才行

在cli终端测试一下 随便在哪个地方创建个php文件写上:

<?php
$yaconf = new Yaconf();
echo $yaconf::get('ceshi.name'); //其实就是在获取php.ini配置文件当中yaconf.directory指向的路径下的ceshi.ini里面的name的值
?>
php test.php 即可得到结果

在thinkphp5.1当中测试一下: 我们在fpm的php.ini配置文件当中可能会这么写:

extension=yaconf.so
[yaconf] yaconf.directory="/var/www/html/tp5"  表示配置文件都存放在了改目录下
yaconf.check_delay=60

在项目根目录下创建think.ini配置文件 里面写上:
name=‘hsl’
password=111111

由于默认Yaconf使用多个配置文件,建议在项目中使用setYaconf方法指定Yaconf使用的独立配置文件,例如
建议在应用的公共函数文件中进行设置 common.php
think\facade\Config::setYaconf('thinkphp');
在相关位置直接使用:
Config::yaconf('name') 即可获取配置参数的值
或者直接使用类:echo \Yaconf::get(‘thinkphp.name’);die;
详解:https://www.cnblogs.com/tinywan/p/9528200.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值