自动加载数据库库的空白页面

时间:2012-06-27 04:23:26

标签: php codeigniter iis

可能重复:Problem with database in CodeIgniter

好吧,我在最近两天搜索了这篇文章但无济于事。我从SO和codeigniter的支持论坛收到了一些点击,他们主要是误导线程和其他人的“哎呀”错误。我实际上有两个问题,但是我可以坚持一个问题,以解决这个问题的困惑。

我的设置:

  • FRESH CodeIgniter 2.1
  • IIS 7.5,FastCGI + PHP 5.4.4
  • Windows 7 Professional x64

好吧,

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

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

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

  3. 我也试过了$autoload['libraries'] = array('Database');,它产生了预览页面,如#1所示。
  4. 我在欢迎控制器的内联加载上方添加了error_reporting(E_ALL),但没有显示任何其他内容。
  5. 我只能归咎于我对IIS的经验不足可能导致这个问题。

    编辑:所以,#1已修复,自动加载数据库,并且感谢Ben,我忘记了“load->database(...)”方法......

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

2 个答案:

答案 0 :(得分:3)

您的#2选项最有可能正常工作,而其他一些未报告的PHP错误(请检查您的CI日志)会导致空白页。

要手动加载数据库,请使用  $这 - >负载>数据库();

请参阅this link了解更多

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

答案 1 :(得分: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失败并显示空白页面。