0

0

PHP命令怎样查看已安装的PHP扩展 PHP命令查看扩展的基础教程

WBOY

WBOY

发布时间:2025-08-18 23:02:01

|

199人浏览过

|

来源于php中文网

原创

使用php -m列出已加载的扩展,php -i查看详细配置信息,结合grep过滤目标扩展,通过php --ini定位配置文件,检查extension_dir路径、版本兼容性及CLI与Web环境差异,并查阅错误日志排查加载失败问题。

php命令怎样查看已安装的php扩展 php命令查看扩展的基础教程

查看PHP已安装的扩展,最直接的方式就是通过命令行工具。这不仅能让你快速掌握当前PHP环境的概况,也是排查扩展加载问题时的首要步骤。

解决方案

要查看PHP已安装或已加载的扩展,你可以使用两个核心的PHP命令行参数:

php -m
php -i

php -m
会列出所有已加载的PHP模块(扩展)。这是一个非常简洁的列表,只包含扩展的名称,非常适合快速概览。

如果你需要更详细的信息,比如某个扩展的具体配置参数、版本号,甚至是PHP本身的编译信息,那么

php -i
就派上用场了。它会输出一个非常详尽的PHP配置信息页面,类似你在浏览器中访问
phpinfo()
页面看到的内容,只不过是在命令行里。

立即学习PHP免费学习笔记(深入)”;

如何快速列出所有已加载的PHP扩展?

我个人就经常用

php -m
来快速确认某个扩展是否已经成功加载。这个命令非常轻量,执行起来也很快。你只需要在终端里输入:

php -m

执行后,你会看到一个按字母顺序排列的扩展列表,比如

Core
,
date
,
libxml
,
openssl
,
pdo_mysql
等等。这个列表直接告诉你,当前PHP CLI环境下,哪些扩展是“活”着的。

有时候,你可能只想看看某个特定的扩展有没有加载。这时候,结合

grep
命令会非常方便。比如,我想知道
GD
扩展有没有,我会这样敲:

php -m | grep gd

如果输出里有

GD
,那就说明它已经加载了。如果没有,那可能就是没安装,或者安装了但没在
php.ini
里启用。这种组合用法,在日常的开发和运维中,简直是我的效率利器。它能避免我翻阅冗长的
php -i
输出,直接命中目标。

深入了解PHP扩展的详细信息:
php -i
的妙用

如果

php -m
只是告诉你“有没有”,那么
php -i
就是告诉你“有什么细节”。当你需要深入了解一个扩展的配置、它的版本、甚至它依赖的库路径时,
php -i
是不可或缺的。

输入以下命令:

php -i

你会看到一大段输出,里面包含了PHP的编译选项、服务器API(SAPI)信息、加载的

php.ini
文件路径、以及每个已加载扩展的详细配置。例如,如果你想查看
MySQLi
扩展的具体配置,你可以在
php -i
的输出中找到一个专门的
MySQLi
部分,里面会列出它的客户端库版本、是否支持SSL等信息。

Convai Technologies Inc.
Convai Technologies Inc.

对话式 AI API,用于设计游戏和支持端到端的语音交互

下载

当然,直接看

php -i
的全部输出可能会让人眼花缭乱。所以,通常我们会结合
grep
来过滤信息,就像这样:

php -i | grep -i pdo_mysql

或者,如果你想看所有与

MySQL
相关的配置,可以更宽泛一些:

php -i | grep -i mysql

这样做,就能迅速定位到你关心的那个扩展或配置项,避免在海量信息中迷失。这对于调试那些奇怪的扩展行为,或者验证某个配置是否生效,是极其有用的。比如,我曾经遇到过PDO扩展连接数据库失败,后来发现是

php -i
显示的客户端库版本和服务器不兼容,这种细节只有
php -i
能告诉我。

PHP扩展加载失败或未按预期工作?排查常见问题

有时候,我们明明安装了扩展,

php -m
却没看到它,或者
php -i
显示的信息不对劲。这通常意味着扩展没有正确加载,或者存在一些配置问题。这里有几个我常遇到的坑和排查思路:

  1. php.ini
    配置问题: PHP加载扩展需要
    extension=
    zend_extension=
    指令。你需要找到当前PHP实例实际加载的
    php.ini
    文件。使用
    php --ini
    可以告诉你PHP正在使用哪些配置文件。

    php --ini

    输出会列出

    Loaded Configuration File
    (已加载的主配置文件)以及
    Scan for additional .ini files in:
    (额外扫描的目录)。很多时候,扩展的
    ini
    文件就放在这些额外扫描的目录里。确保你的
    extension=xxx.so
    (Linux/macOS) 或
    extension=xxx.dll
    (Windows) 行是正确的,并且没有被注释掉。

  2. 扩展文件路径不正确:

    extension_dir
    配置项指定了PHP查找扩展的目录。如果你的扩展文件(
    .so
    .dll
    )不在这个目录里,或者你提供的路径不对,PHP就找不到它。你可以在
    php -i
    的输出中找到
    extension_dir
    的值。

  3. PHP版本或架构不兼容: 编译好的PHP扩展通常是针对特定PHP版本和系统架构(32位/64位)的。如果你安装的扩展是为PHP 7.x编译的,而你的PHP是8.x,那很可能就无法加载。同样,32位PHP不能加载64位扩展,反之亦然。这在升级PHP版本后尤其常见。

  4. CLI与Web SAPI差异: 值得注意的是,你通过

    php -m
    php -i
    看到的是PHP CLI(命令行接口)的扩展情况。如果你是在Web服务器(如Apache或Nginx + PHP-FPM)环境下运行PHP应用,它们可能加载的是不同的
    php.ini
    文件,因此扩展列表和配置也可能不同。务必检查Web服务器使用的PHP配置。通常,Web服务器会有自己的PHP信息页面(比如
    phpinfo.php
    文件),那才是Web环境下的真实情况。

  5. 错误日志: 当扩展加载失败时,PHP通常会在错误日志中记录详细信息。查看PHP-FPM的日志(比如

    /var/log/php-fpm/error.log
    )或Web服务器的错误日志(如Apache的
    error_log
    ,Nginx的
    error.log
    ),往往能找到关键的线索,比如“undefined symbol”或者“module not found”之类的错误。这是我排查问题时,除了
    php -i
    之外,第二个必看的地方。

排查这些问题时,耐心和细致是关键。一步步来,总能找到症结所在。

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2525

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1604

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1496

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

952

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1416

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1234

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1445

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1306

2023.11.13

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

61

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.6万人学习

Node.js 教程
Node.js 教程

共57课时 | 8.6万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号