PHP 如何查看已安装扩展

打开本地电脑的网站项目,突然发现原本能正常运行的支付功能报错了,大概率是因为PHP里负责支付的扩展没装上?别慌,普通人也能搞定这个问题,不用当“技术大神”也能快速排查。

先搞懂:PHP扩展到底是啥?

说个生活化的例子:你手机里的相机APP是“主程序”,但要拍夜景就得装夜景模式的插件,要拍慢动作就得装慢动作插件——这些插件就对应PHP的扩展。

PHP 如何查看已安装扩展

PHP作为做网站的常用工具,本身自带基础功能,而扩展就是额外功能包,比如要连数据库得装mysqli或pdo_mysql,要处理图片得装gd扩展,没装对应的插件,对应的功能就用不了,网站自然就报错了。

方法一:最省事,直接用PHP自带的命令行工具

这是新手最容易上手的方法,不用记复杂代码,打开电脑的命令提示符(Windows是CMD,Mac/Linux是终端)就行。

  • Windows用户按Win+R,输入cmd回车;Mac用户打开“启动台”里的“终端”,Linux直接打开终端。

输入一行命令:`php -m`,然后按回车。

  • 这时候会跳出一长串列表,上面的就是已经安装好的扩展。比如你要找支付常用的openssl,或者数据库用的pdo_mysql,直接在列表里搜,有就是装好了,没有就是缺了。

注意:如果你的电脑装了多个PHP版本,要确保用的是当前网站对应的PHP版本的命令,不然查到的是别的版本的扩展,白忙活。

方法二:用代码写个小页面,直接在浏览器看

如果觉得命令行麻烦,写个简单的PHP页面,打开浏览器就能看,适合习惯用图形界面的人。

  • 打开你本地网站的根目录(比如XAMPP的htdocs文件夹,WAMP的www文件夹),新建一个文本文档。
  • 把文档重命名为check_ext.php,注意后缀必须是.php,不是.txt。

打开这个文件,输入两行简单代码:

<?php print_r(get_loaded_extensions()); ?>

  • 保存后,打开浏览器,输入http://localhost/check_ext.php,回车。
  • 页面会输出一个数组,里面的每个元素就是已安装的扩展,和命令行查到的结果是一样的,找你需要的就行。

要是想看得更清楚,还能加一行代码phpinfo();,刷新后会弹出一个更详细的PHP信息页面,里面有专门的“Loaded Modules”板块,列了所有扩展,连扩展的版本、路径都能看到。

踩个小坑:别搞混CLI和FPM的扩展

很多人容易踩这个坑:本地命令行查的扩展,和网站运行时的扩展不一样。

举个例子:你用php -m查到装了gd扩展,但网站还是报错不能处理图片,这可能是因为你的网站用的是FPM(给网页用的PHP进程),而命令行用的是CLI(给命令行用的PHP进程),两者的配置文件是分开的。

解决方法也简单:如果是服务器端的网站,找运维人员确认当前网站绑定的PHP进程对应的配置文件,再查对应的扩展就行;本地开发的话,把两个版本的扩展都装上,就不会出问题了。

看完这两个方法,不管是本地做项目还是排查服务器的问题,都能快速找到需要的扩展,不用再对着报错信息抓瞎。

上一篇 TypeScript void 怎么用