可通过phpinfo()、extension_loaded()、get_loaded_extensions()、php -m命令及检查php.ini五种方法检测PHP扩展是否已加载:分别用于可视化查看、运行时判断、批量检查、终端验证和配置排查。

如果您在开发或部署PHP应用时需要确认某个扩展是否已加载,可以通过多种方式检测PHP扩展的存在性。以下是几种常用的检测方法:
一、使用phpinfo()函数查看扩展列表
该方法通过输出PHP配置的完整信息页面,直观展示所有已启用和已编译的扩展模块。
1、新建一个PHP文件(例如check_ext.php),写入内容:
2、将该文件上传至Web服务器可访问目录下
立即学习“PHP免费学习笔记(深入)”;
3、通过浏览器访问该文件URL,查找页面中"Loaded Extensions"或对应扩展名称所在区块
4、若扩展名出现在列表中且状态为enabled,表示该扩展已成功加载
二、使用extension_loaded()函数检测
该函数在运行时动态判断指定扩展是否已被加载,适用于脚本中条件执行逻辑。
1、在PHP代码中调用函数并传入扩展名字符串,如:extension_loaded('mysqli')
2、函数返回布尔值:true表示扩展存在并已加载,false表示未加载或未安装
3、可在条件语句中直接使用,例如:if (!extension_loaded('curl')) { die('cURL extension is required.'); }
三、使用get_loaded_extensions()函数获取全部扩展名数组
该方法返回当前PHP进程中所有已加载扩展的名称列表,便于遍历比对或批量检查。
1、调用函数获取数组:$exts = get_loaded_extensions();
2、使用in_array()检查目标扩展是否存在:in_array('json', $exts)
3、可结合foreach循环输出全部已加载扩展:foreach ($exts as $ext) { echo $ext . "\n"; }
四、使用php -m命令行方式查看已启用模块
该方法适用于服务器终端环境,无需Web服务即可快速获取扩展状态。
1、在命令行中执行:php -m
2、输出结果为所有已启用扩展的纯文本列表
3、配合grep筛选特定扩展:php -m | grep -i 'gd'
4、若无任何输出,则表示该扩展未启用或未安装
五、检查php.ini配置中extension指令是否启用
该方法用于验证扩展是否已在配置文件中声明并取消注释,是加载失败时的首要排查点。
1、通过php --ini命令定位当前生效的php.ini路径
2、用文本编辑器打开该php.ini文件
3、搜索类似extension=openssl或extension=php_openssl.dll的行
4、确认该行未被分号(;)注释,且扩展文件实际存在于extension_dir指定目录中











