You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将CodeIgniter网站从线上迁移至本地服务器时遇报错求助

解决CodeIgniter迁移本地的两个错误:Session构造器弃用与mysql_pconnect未定义

你遇到的这两个问题都是因为本地PHP版本比线上服务器更新导致的——现在主流PHP版本已经弃用了旧语法和扩展,下面给你具体的修复步骤:

1. 处理CI_Session构造器弃用警告

这个警告是PHP 8.0+的新特性:与类同名的方法不再被当作构造函数,而旧版CodeIgniter的CI_Session类还在用这种过时写法。

修复方法:

  • 打开文件system/libraries/Session.php,找到第12行的function CI_Session()方法
  • 将它重命名为function __construct(),如果该方法原本没有调用父类构造,记得加上parent::__construct();(如果有继承关系的话)

修改后的代码示例:

function __construct() {
    parent::__construct();
    // 保留原来CI_Session方法里的所有业务代码
}

2. 解决致命错误:mysql_pconnect()未定义

这个是核心问题,直接导致网站无法运行。原因是PHP 7.0及以上版本已经彻底移除了mysql扩展,而你的CodeIgniter还在依赖已被移除的mysql数据库驱动。

修复步骤:

  • 打开application/config/database.php配置文件
  • 找到$db['default']['dbdriver']这一行,把值从'mysql'改成'mysqli'
  • 同步检查该文件里的其他数据库配置项:hostname(本地一般是'localhost')、username(XAMPP默认是'root')、password(XAMPP默认为空或你自定义的密码)、database(本地导入的数据库名称),确保这些和你本地XAMPP的MySQL配置完全匹配
  • 最后确认XAMPP中PHP的mysqli扩展已开启:可以在XAMPP控制面板的PHP设置里查看,或者创建phpinfo.php文件输出信息,搜索mysqli确认状态为enabled

完成以上操作后,重启XAMPP的Apache和MySQL服务,再访问网站应该就能正常运行了。

内容的提问来源于stack exchange,提问作者fatimah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:22:33