CodeIgniter -数据库自动加载空白页


CodeIgniter - Blank page on database autoload

从今天早上开始,在我将我的网站从本地机器迁移到服务器后,我遇到了一个问题。

为了取代上下文,我用CodeIgniter框架开发了一个网站,在迁移之前一切都运行良好。

经过长时间的研究,似乎当我把这个:

$autoload['libraries'] = array('database');

我有一个空白的页面在我的网站,没有任何php/ci错误的日志。

如果我让这个:

$autoload['libraries'] = array();

网站工作正常(好吧,我不能登录,但我没有一个空白页)。

我添加了mysql。所以在php。ini文件中,但它也没有帮助我。

是否有人已经遇到这个问题?你怎么解决这个问题?

谢谢!B

在application/config/database.php中检查

$db['default']['dbdriver'] = 'mysql';

设置为

$db['default']['dbdriver'] = 'mysqli';

我有一个类似的问题,空白页似乎与加载数据库有关,无论是通过自动加载还是在模型构造函数中调用$this->load->database();。我最终不得不修改我的"php.ini"文件通过注释出extension=php_pdo_mysql.dll和取消注释extension=php_mysql.dll(即关闭PDO)。我的操作系统是Windows 8.1, Apache 2.2和PHP 5.3.27。

这个答案与另一个答案相似,但由于我刚刚注册,所以我不能添加评论来澄清。我花了几个小时的时间和大量的谷歌来解决这个问题,希望这对大家有所帮助。

您确定数据库连接凭据是正确的吗?如果您切换服务器,这似乎可能是问题。

另外,CodeIgniter为生产环境设置error_reporting(0)——因此是空白页。查看你的日志目录(是否可以被webserver进程写…?)查看其他信息

请重新启动服务器,然后再试一次。

用phpinfo()创建一个新的info.php文件

<?php
phpinfo();
?>

查看mysql扩展是否正在加载,如果它正在加载

尝试对目录执行chmod 0777

当你没有为php安装mysql模块时,就会发生这种情况。在windows中,我相信这是php安装程序自带的。如果您使用的是linux,例如在Fedora上,那么您可以这样安装它:

sudo yum -y install php-mysql

安装完成后重新启动web服务器。假设您正在使用apache httpd:

sudo service httpd restart

现在您应该再次看到页面(假设您在conf/database.php中有正确的设置)。

我刚刚遇到这个错误,在调试MYSQL驱动程序后我找出了问题。

问题是,在数据库配置文件上,我使用MYSQL作为驱动程序时,服务器上已经安装了MYSQLI,只需在配置文件上更改它,你就完成了。

听起来您的数据库没有正确配置,并且您的PHP安装阻止了错误。

查看您的日志文件或尝试将

ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);

index.php中,看看你得到了什么

对于我来说,使用Z-WAMP有同样的问题,必须从php.ini中取消注释"extension=php_mysql.dll"。还分配了"mysql.default_port = 3306"answers"mysql.default_host = localhost"。希望这篇文章能帮到大家

对于那些使用linux(特别是ubuntu)并且仍然得到空白页的用户,请执行以下操作:

  1. sudo apt-get install php5 libapache2-mod-php5 php5-mysql php5-cli mysql-server
  2. sudo service apache2 restart
  3. $autoload['libraries'] = array('database');

安装php5-pgsql为我修复了它(在Ubuntu上)

进入application/config/database.php,找到

$db['default']['dbdriver'] = 'mysql';

'mysql'替换为'mysqli'

$db['default']['dbdriver'] = 'mysqli';

就是这样!