查看PHP是否启用某项扩展

原创 zhaoliang  2018-06-01 12:36  阅读 578 views 次

不同于以往工作环境,现在的产品研发流程是:RD开发->QA测试->OP上线部署,每次涉及到变更配置信息的时候都比较麻烦,我们感觉不方便,OP的同事也吐槽很容易忘记或改错了。

借鉴Java研发组的经验,我们PHP相关的项目也将配置信息由文件转换成Zookeeper统一管理,然而问题来了,开发环境的多数同事用的都是Windows环境,而Zookeeper的在Windows下的PHP扩展没有,或者极其难找,一般都需要自己拿编译器自己编译,费时而且门坎较高,想了想,只能通过查询扩展的方式简单变换一下:加载配置信息前先判定PHP有无安装Zookeeper扩展。

对Mac/Linux来讲(参见Mac下安装zookeeper),安装扩展各类开源扩展还是非常方便快捷的,使用php -m|grep zookeeper指令来查看确认一下是否已经安装了zookeeper扩展

判断扩展是否安装的方案:

一、判断所有安装扩展里面是否有对应的扩展

if( in_array('zookeeper',get_loaded_extensions()) )

二、直接判断有无要判断的扩展

if( extension_loaded('zookeeper') )

建议直接采用第二种方案,我的方案如下

if(! extension_loaded('zookeeper') ){
    if( empty($_SERVER['PROJECT_CONFIG_ENV_VAR']) ){
        die('请手工添加配置文件或配置ZK服务');
    } else {
        include CONF_PATH.'config_'.$_SERVER['PROJECT_CONFIG_ENV_VAR'].'.php';
    }
    return array_merge($config,$connect);
}

 

本文地址:http://blog.58cm.cn:8088/archives/517.html
版权声明:本文为原创文章,版权归 zhaoliang 所有,欢迎分享本文,转载请保留出处!

评论已关闭!