PHP扩展未加载时需依次确认扩展文件路径、编辑php.ini启用扩展、必要时用绝对路径配置、重启服务、最后验证加载成功。

如果您在运行PHP脚本时遇到“Call to undefined function”错误,或通过phpinfo()发现所需扩展未启用,则很可能是PHP扩展未正确加载到配置中。以下是将PHP扩展加载到配置中的具体操作步骤:
一、确认扩展文件存在并获取其路径
PHP扩展以动态库形式存在(Linux/macOS为.so文件,Windows为.dll文件),需先确认扩展文件已编译或安装完成,并定位其物理路径。该路径将用于php.ini中extension指令的值。
1、打开终端或命令提示符,执行命令:php -i | grep "extension_dir",获取当前PHP扩展目录路径。
2、进入该目录,执行ls -l | grep 扩展名(如mysqli、gd、redis等)确认对应.so或.dll文件是否存在。
立即学习“PHP免费学习笔记(深入)”;
3、若扩展文件不在extension_dir目录下,需将其复制至该目录,或记录其完整绝对路径供后续配置使用。
二、编辑php.ini文件启用扩展
php.ini是PHP主配置文件,extension指令在此文件中声明后,PHP启动时才会加载对应扩展。必须确保修改的是CLI和Web服务器实际加载的php.ini文件,而非备份或错误路径下的副本。
1、执行php --ini查看已加载的配置文件路径,重点关注“Loaded Configuration File”行显示的路径。
2、用文本编辑器(如vim、Notepad++)打开该php.ini文件。
3、在文件中查找以;extension=开头的注释行,找到目标扩展对应的行(如;extension=mysqli或;extension=gd)。
4、删除该行开头的分号(;),取消注释;若该行不存在,则在文件末尾新增一行,格式为:extension=扩展名(Linux/macOS)或extension=扩展名.dll(Windows)。
5、保存php.ini文件。
三、使用绝对路径方式加载扩展(适用于非标准路径)
当扩展文件位于extension_dir之外,或多个PHP版本共存导致路径冲突时,可直接在php.ini中指定扩展的完整绝对路径,避免依赖extension_dir设置。
标签: mysql php linux redis php7 windows apache nginx ubuntu mac m
还木有评论哦,快来抢沙发吧~