Yaconf – 一个高性能的配置管理扩展,Linux & Mac

致敬鸟哥

性能

  1. 我见过很多的项目中, 用PHP文件做配置的, 一个config目录下可能有十几个甚至数十个.php配置文件, 里面都是各种各样的array, 还有甚者会把一些词典文件(比如中文/英文对照)也放到配置中去. 这就导致配置文件的解析耗费了很大的性能(诚然, 用了opcache能好点, 但是实际上还是有执行的过程).

  2. 除了PHP的, 还有用json的, yaml的, 一个共同的特点就是这些配置的可读性比较差. 另外, 他们也都要runtime解析.

安装

# 下载
git clone https://github.com/laruence/yaconf.git

#安装
#查找phpize
locate
/www/server/php/72/bin/phpize

#使用phpize 生成:configure文件

#配制
./configure --with-php-config=/www/server/php/72/bin/php-config

#编译(必要时使用su命令)
make && make install

Installing shared extensions:     /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/
Installing header files:          /www/server/php/72/include/php/

#修改php.ini
vim /www/server/php/72/etc/php.ini
#添加
extension = /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/yaconf.so
yaconf.directory=/www/wwwroot/easyswoole.ipuxin.com/ini

#使用

Mac 下安装

pecl install yaconf

Installing '/usr/local/Cellar/[email protected]/7.2.27/include/php/ext/yaconf/php_yaconf.h'
Installing '/usr/local/Cellar/[email protected]/7.2.27/pecl/20170718/yaconf.so'

后记

Pear和Pecl的区别

Pear是PHP的上层扩展,Pecl是PHP的底层扩展

Pear(PHP Extension and Application Repository)由PHP编写的扩展及应用,可include到项目中使用,和composer类似
Pecl(PHP Extension Community Library)由c++编写的PHP扩展库,后缀是.so(shared object),和dll类似

发布了51 篇原创文章 · 获赞 27 · 访问量 3938

猜你喜欢

转载自blog.csdn.net/yuhezheg/article/details/104086339