PHP 检查扩展库或函数是否可用的代码

yipeiwu_com5年前PHP代码库
本文介绍的函数其实是PHP手册上本来就有的,但是由于这些函数独立性较强,查找不易,所以单独介绍一下,方便查阅。
1. 获取所有可用的模块 - get_loaded_extensions 该函数返回所有已经加载的(可用的)模块。
用法:
复制代码 代码如下:

print_r(get_loaded_extensions());

2. 获取指定模块的可用函数 - get_extension_funcs 该函数返回指定模块所有可用的函数。传入的参数(模块名称)必须是小写
用法:
复制代码 代码如下:

print_r(get_extension_funcs("gd"));

3. 获取所有已经定义的函数 - get_defined_functions 该函数返回所有已经定义的函数,包括内置函数和用户自定义函数。
用法:
复制代码 代码如下:

function myrow($id, $data){
return "<tr><th>$id</th><td>$data</td></tr>\n";
}
$arr = get_defined_functions();
print_r($arr);

输出:
复制代码 代码如下:

Array
(
[internal] => Array
(
[0] => zend_version
[1] => func_num_args
[2] => func_get_arg
[3] => func_get_args
[4] => strlen
[5] => strcmp
[6] => strncmp
...
[750] => bcscale
[751] => bccomp
)
[user] => Array
(
[0] => myrow
)
)

其中 $arr["internal"] 是内置函数, $arr["user"] 是用户自定义函数。
4. 检查指定函数是否存在 - function_exists 该函数返回指定函数是否已经定义。
用法:
复制代码 代码如下:

if (function_exists('imap_open')) {
echo "IMAP functions are available.<br />\n";
} else {
echo "IMAP functions are not available.<br />\n";
}

相关文章

php全局变量和类配合使用深刻理解

情况1: father.php如下定义: 复制代码 代码如下: <?php $jack = 1000; ?> children.php 如下定义: <?php requ...

PHP curl批处理及多请求并发实现方法分析

PHP curl批处理及多请求并发实现方法分析

本文实例讲述了PHP curl批处理及多请求并发实现方法。分享给大家供大家参考,具体如下: 在面试过程中遇到一个问题,加入一个一个网站访问一次需要两秒,我们如何实现在2秒左右请求三次?...

PHP使用DOM对XML解析处理操作示例

PHP使用DOM对XML解析处理操作示例

本文实例讲述了PHP使用DOM对XML解析处理操作。分享给大家供大家参考,具体如下: DOM(Document Object Model):文档对象模型。核心思想是:把 xml文件看作是...

PHP实现通过正则表达式替换回调的内容标签

本文实例讲述了PHP实现通过正则表达式替换回调的内容标签。分享给大家供大家参考。具体实现方法如下: function my_wp_plugin_tag_action($content...

Fatal error: session_start(): Failed to initialize storage module: files问题解决方法

之前编译安装的LNMP环境+phpmyamdin4.02的版本,今天突然出现这个问题:复制代码 代码如下:Fatal error: session_start(): Failed to...