【问题标题】:Blank page on auto-loading database library自动加载数据库的空白页
【发布时间】:2012-06-27 04:23:26
【问题描述】:

可能重复:Problem with database in CodeIgniter

好吧,我在过去两天用谷歌搜索了这个,但无济于事。我收到了一些来自 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 提供的默认视图。删除数据库自动加载会导致视图显示...

【问题讨论】:

  • 什么是数据库类?它是您下载的自定义的吗,因为官方用户指南中没有。
  • @Shubham 都在system\database 文件夹中
  • @kinjal:我的意思是它不能使用 load->library 加载?.. 是吗?
  • 好的,我现在明白了。我想我错了。!

标签: php codeigniter iis


【解决方案1】:

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

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

更多信息请参见this link

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

【讨论】:

  • 检查您的数据库配置application\config\database.php。很可能您没有安装/启用 php_mysql 模块。
  • 编辑了我的问题,似乎数据库加载工作正常(更不用说我在控制器中加载错误,但我们不会碰它:P)。但是,白页仍然存在。
  • @kinjal 这就是问题所在。未正确配置 PHP + 未加载 mysql 模块。谢谢!
【解决方案2】:

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

确保您在数据库配置中加载的任何 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 失败并显示空白页。

【讨论】:

    猜你喜欢
    • 2016-02-22
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    相关资源
    最近更新 更多