自动加载数据库和会话库的问题 - codeigniter

时间:2014-12-17 13:35:36

标签: php database codeigniter session autoload

右,

我正在使用codeigniter构建登录系统。它工作正常,直到它在尝试查看网站时开始抛出错误。所以我花了几个小时在Google上试图找出可能出错的地方。我已设法将问题缩小到自动加载库

第一个错误是:

Unable to connect to your database server using the provided settings.

Filename: core/Loader.php

Line Number: 346

如果我从autoload.php

中的libraries数组中删除'database',则会自行更正
$autoload['libraries'] = array();

第二个错误来自自动加载会话。错误如下:

The Encrypt library requires the Mcrypt extension.

现在,我不太确定会话,但我知道我的数据库设置很好。

在没有任何问题的情况下,我可以在模型中手动加载数据时将数据传递到我的数据库中,如下所示:

$this->load->database();

所以我的问题是,为什么自动加载会突然抛出这些错误?有没有人有任何建议?

提前致谢

2 个答案:

答案 0 :(得分:1)

我认为您使用新版本的CodeIgniter 2.2.0

所以请检查

https://ellislab.com/codeigniter/user-guide/installation/upgrade_220.html

或将librarie Encrypt.php替换为system \ libraries文件夹中的旧版本librarie

我认为这应该是有效的。

答案 1 :(得分:1)

确保使用Web服务器加载适当的Mcrypt扩展。如果您的服务器配置支持,您可以随时在php.ini文件中添加以下extension=mcrypt.so

如果之前一切正常,似乎您对服务器配置进行了更改,从而触发了问题。据我所知和遇到的情况,CI 2有一些问题可能会产生这些错误。尝试运行不同版本的PHP。版本5.3或5.4是安全的解决方案。