本篇文章给大家分享的内容是PHP如何判断某项扩展是否开启,有着一定的参考价值,有需要的朋友可以参考一下

PHP发展到今天,已经非常全面,很多功能都已经囊括。但很多功能都是通过扩展的形式安装的,小编推测也许是为了让效率吧,用户可以自己有选择性的安装。

同一项功能可能有几种方式进行操作,比如获取接口数据就有三种方式,分别是curl库,fopen和file_get_contents。其中,curl的使用范围和效率相对都比较好。但是curl必须通过扩展形式添加。那么当我们进行开发时,可能会这样考虑,当开启了curl扩展时,我们就是用curl,当没有开启时,就是用另外两种方式。那么如何判断是否开启呢?下面就以curl为例:

方法一:

if (get_extension_funcs('curl')); // 这种方式其实是不全面的

该函数的作用是,返回相关扩展的所有函数。如果没有安装,则返回false。看似没有问题,但是该方法却是不准确的,因为有些扩展本身就不带函数,即使安装了,也不会有返回值。

方法二:

if (in_array('redis', get_loaded_extensions())); // get_loaded_extensions(),返回所有已安装的扩展,格式为一维数组

以上方法是可行且万无一失,但是却并非最简练。