PHP 如何开启扩展
很多朋友在做网站或者写小程序时,会用到PHP,但刚接触时经常会碰到“功能用不了”的问题——比如想上传图片却没反应,想连数据库也报错,这多半是扩展没开启。别担心,这不是什么复杂的技术难题,今天就用大白话讲讲怎么搞定它。
先搞懂:PHP扩展到底是啥?
咱们可以把PHP比作一台刚买的洗衣机,本身只能洗衣服(基础功能),但想烘干衣服、给衣服消毒,就得装烘干机、消毒器这些配件——这些配件,就是PHP扩展。

比如你要做个能上传图片的网站,就得装gd扩展(负责处理图片);要连MySQL数据库,就得装mysqli或pdo_mysql扩展;要是想发邮件,还得装openssl或smtp相关扩展。没装对应扩展,这些功能自然就用不了。
第一步:先确认你的PHP配置文件在哪
要开启扩展,得先找到PHP的配置文件,不同系统找的方法不一样,咱们分两种情况说:
如果是Windows系统,一般是php.ini文件,位置可能在C:\windows或者PHP安装目录里;如果是Mac或Linux系统,大多在/etc或者PHP安装目录下,文件名也是php.ini。
怎么快速找到?打开命令行(Windows是CMD,Mac/Linux是终端),输入php --ini,回车后就能看到“Loaded Configuration File”这一行,后面跟的就是你要用的配置文件路径,直接去这个位置找就行。
第二步:找到要开启的扩展,改一行配置
用记事本或者代码编辑器打开刚才找到的php.ini文件,别被里面的一堆字母数字吓到,咱们只需要找带extension的行。
比如你想开启gd扩展,就找像;extension=gd这样的内容——注意前面有个分号!在PHP里,分号代表“这行是注释,不生效”。
只要把;删掉,改成extension=gd,再保存文件就可以了。如果是Windows系统,扩展文件是.dll格式,Linux/Mac是.so格式,只要你删了分号,PHP会自动去对应目录找这个扩展文件,不用额外操心。
举个例子:我之前做个用户头像上传功能,一开始总报错,查了半天才发现,;extension=fileinfo这行的分号没删,开启后头像上传的功能就正常了,就是这么简单。
第三步:重启服务,让修改生效
改完php.ini还不够,得让PHP重新读一遍配置文件,不然修改不会生效。
如果你用的是Apache服务器,就重启Apache;如果是Nginx+PHP-FPM,就得重启PHP-FPM服务;要是是本地测试工具,比如XAMPP、WAMP,直接重启整个工具就行。
重启后,想确认扩展开没开,再打开命令行输入php -m,回车后会列出所有已开启的扩展,看看你要找的那个是不是在列表里,在的话就说明成功了。
常见小问题怎么解决?
有时候删了分号还是没生效,多半是这两个原因:一是扩展文件没找到,比如你的PHP版本是7.4,php.ini里写的是extension=gd,但扩展文件其实是gd74.dll(Windows),这时候要把扩展名改成对应版本的文件名;二是php.ini没改对,有的系统会有多个php.ini,刚才用php --ini查到的才是生效的那个,别改错了其他文件。
总的来说,开启PHP扩展就像给洗衣机装配件,先找对配置文件,删掉对应扩展前的分号,重启服务,基本就搞定了。遇到小问题别慌,顺着步骤查,很快就能解决。