什么是yaconf ?
它使用单独的一个配置目录(在yaconf.directory指定), 不和代码在一起.
它在PHP启动的时候, 处理所有的要处理的配置, 然后这些配置就会常驻内存, 随着PHP的生命周期存亡. 避免了每次请求的时候解析配置文件.
配置目录和代码分离以后, 可以借助一个配置管理后台, 来实现配置的统一化管理.
配置如果有变化, 它会reload, 不需要重启(检测的频率由yaconf.check_delay控制).
它支持丰富的配置类型, 包括字符串, 数组, 分节, 分节继承, 并且还可以在配置中直接写PHP的常量和环境变量等.
为什么要用 yaconf ?
一般我们项目中是用PHP文件做配置的, 一个config目录下可能有十几个甚至数十个.php配置文件, 里面都是各种各样的array, 这就导致配置文件的解析耗费了很大的性能
对于 yaconf 具体的解释 和 用法,请转步这里(我主要提供具体的下载安装步骤):
http://www.laruence.com/2015/06/12/3051.html
接下来就是安装了:(yaconf 目前只支持 PHP7 版本,如果不是,请走开…,不要浪费时间,当然可以了解一下)
1、Windows 下 yaconf 的安装
<1> php.ini 中 加入
extension=php_yaconf.dll
以及php.ini 末尾加上:
[yaconf]
yaconf.directory=”D:\phpStudy\yaconf”
yaconf.check_delay=60
yaconf.directory 是 你 配置文件夹的位置;yaconf.check_delay 是 配置文件的更新时间
<2> 下载 yaconf 扩展,放到 php/ext 下面
下载地址:
http://windows.php.net/downloads/pecl/releases/yaconf/
选择合适的版本下载,对照 你的PHP nts/ts vc11/vc14 X64/X86,之后重启 环境, phpinfo() 一下,看是否有 yaconf 扩展
<3> 在 yaconf 目录下新建一个文件 , 例如 movie.ini(必须以 .ini 后缀结尾),写上
a=’zhangqi’
在php 文件中取出这个配置项:
$a = yaconf::get('movie.a');
var_dump($a);
结果是:
string(7) “zhangqi”
2、Linux 下安装 yaconf
步骤:
下载 yaconf 扩展
安装 yaconf 扩展
php.ini 中引入扩展
重启 php
测试 yaconf 扩展是否可以用了
wget http://pecl.php.net/get/yaconf-1.0.2.tgz // 下载 yaconf 扩展
tar zxvf yaconf-1.0.2.tgz // 解压
cd yaconf-1.0.2
phpize // 安装 yaconf
./configure --with-php-config=php-config
make && sudo make install
【php.ini】文件中加入这三行
extension=yaconf.so
yaconf.directory="/usr/local/yaconf" // yaconf 的配置目录位置,待会创建目录
yaconf.check_deley=0 // 配置更新时间
// 创建 yaconf 目录
mkdir /usr/local/yaconf
// 重启 php
service php-fpm restart
(该命令不能用?可能是 php-fpm 命令不在init.d目录下,参考:
重启 php 的方式
)
【新建php文件】
<?php
phpinfo();
浏览器中访问,搜索 yaconf ,如果存在则安装成功!
【完结】