PHP连接MySQL报错:Uncaught Error: Class 'mysqli' not found 求助
确认修改的是正确的php.ini文件
很多PHP环境存在多个php.ini配置文件(如php.ini-production、php.ini-development,或CLI与Web服务器各自的配置),你修改的php.ini-production大概率不是当前PHP运行环境加载的文件。新建一个PHP文件,写入<?php phpinfo(); ?>并运行,找到Loaded Configuration File项,这才是PHP实际使用的配置文件路径,去修改该文件中的extension=mysqli。检查extension_dir配置
在目标php.ini中找到extension_dir,确保它指向正确的扩展目录:Windows下通常是ext文件夹,Linux下是类似/usr/lib/php/[PHP版本号]的路径。建议设置绝对路径,比如Windows下extension_dir = "C:/php/ext",Linux下extension_dir = "/usr/lib/php/20210902"(版本号根据实际情况调整)。确认mysqli扩展文件存在
前往extension_dir指定的目录,检查是否有php_mysqli.dll(Windows系统)或mysqli.so(Linux系统)。如果缺失,说明PHP安装包不完整,需重新下载对应版本的PHP安装包,确保包含该扩展文件。重启对应服务
若通过Apache/Nginx等Web服务器运行PHP,仅重启电脑无效,需手动重启Web服务器服务:Windows可在服务管理器中重启Apache/Nginx;Linux执行sudo systemctl restart apache2或sudo systemctl restart nginx。如果是CLI模式运行PHP,重启终端即可。验证扩展加载状态
再次运行phpinfo(),查找是否存在mysqli模块的相关信息;或在CLI中执行php -m,查看输出列表里是否包含mysqli。若存在,说明扩展加载成功,此时再测试数据库连接代码。
内容的提问来源于stack exchange,提问作者user23003744

