CodeIgniter连接phpMyAdmin数据库报错:Call to undefined function mysql_pconnect()
解决CodeIgniter无法连接数据库:Call to undefined function mysql_pconnect()
这个错误的核心原因很明确:你正在使用的CodeIgniter版本依赖已被PHP彻底移除的旧mysql扩展,而你的PHP版本(大概率是PHP 7+)已经不再支持mysql_pconnect()这类旧函数了。
下面是具体的修复步骤:
1. 修改数据库驱动配置
打开你的config/database.php,把dbdriver从mysql改成mysqli:
$db['default']['dbdriver'] = 'mysqli';
其他配置项保持不变即可——你的用户名、密码、数据库名这些看起来都是正确的,而且mysqli驱动支持你设置的pconnect=TRUE(持久连接)。
2. 确认PHP已启用mysqli扩展
修改配置后如果还是报错,需要检查你的PHP环境是否开启了mysqli扩展:
- 创建一个
phpinfo.php文件,内容为<?php phpinfo(); ?>,访问这个页面 - 在页面里搜索
mysqli,如果能找到相关模块信息,说明已经启用;如果找不到,需要修改php.ini文件:- 找到
;extension=mysqli这一行,去掉前面的分号; - 重启你的Web服务器(比如Apache、Nginx)
- 找到
3. (可选)升级CodeIgniter版本
如果你的CodeIgniter版本非常老旧(比如2.x及更早),即使换了mysqli驱动,可能还会遇到其他兼容性问题。建议升级到最新的稳定版(比如3.x或4.x),新版本不仅支持现代PHP扩展,还修复了很多安全漏洞和bug。
验证修复
修改完成后,重新访问你的站点,如果之前的错误消失,说明数据库连接已经恢复正常。
内容的提问来源于stack exchange,提问作者SdR
相关产品推荐
相关产品推荐

