1

可能重复:CodeIgniter 中的数据库有问题

好吧,我这两天google了,没用。我从 SO 和 codeigniter 的支持论坛收到了一些点击,它们大多是误导性线程和其他人的“哎呀”错误。我实际上有两个问题,但为了解决这个令人难以置信的问题,我可以坚持一个。

我的设置:

  • 新鲜的 CodeIgniter 2.1
  • IIS 7.5、FastCGI+PHP 5.4.4
  • Windows 7 专业版 x64

好吧,

  1. 在加载视图之前,我将以下行添加到我的“欢迎”控制器中。CodeIgniter 吐出“无法加载请求的类:数据库”。我也试过“数据库”,同样的事情。

    $this->load->library('database');

  2. 我试过$autoload['libraries'] = array('database');了,它会产生一个空白页。

  3. 我也尝试过$autoload['libraries'] = array('Database');生成预览页面,如 #1 所示。
  4. error_reporting(E_ALL)在欢迎控制器的内联负载上方添加了任何其他内容。

我只能归咎于我对 IIS 的缺乏经验,这可能会导致问题。

编辑:所以,#1 已经修复,自动加载数据库,而且,多亏了 Ben,我忘记了 " load->database(...)" 方法......

无论如何,当通过自动加载加载数据库时,我当前的错误现在只是一个白页。我的代码只是设置为自动加载数据库并显示 CodeIgniter 提供的默认视图。删除数据库自动加载会导致视图显示...

4

2 回答 2

3

您的 #2 选项很可能运行良好,并且其他一些未报告的 PHP 错误(检查您的 CI 日志)导致空白页。

要手动加载数据库,请使用 $this->load->database();

有关更多信息,请参阅此链接

library() 用于自定义库文件。

于 2012-06-27T04:29:26.483 回答
1

只是跟进任何有同样问题的人(包括我未来的自己)。

确保您在数据库配置中加载的任何 dbdriver 都在 php.ini 中加载了正确的库(dll 左右)

$db['default']['dbdriver'] = 'mysqli'; //MySQLi <-- mysqli.dll
$db['default']['dbdriver'] = 'mysql'; //MySQL <-- mysql.dll
$db['default']['dbdriver'] = 'pdo'; //PDO <-- pdo.dll

未能加载正确的 dll 将导致 CodeIgniter 失败并显示空白页。

于 2013-04-03T13:16:16.933 回答