从今天早上开始,在我将我的网站从本地机器迁移到服务器后,我遇到了一个问题。
为了取代上下文,我用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)并且仍然得到空白页的用户,请执行以下操作:
-
sudo apt-get install php5 libapache2-mod-php5 php5-mysql php5-cli mysql-server
-
sudo service apache2 restart
-
$autoload['libraries'] = array('database');
安装php5-pgsql为我修复了它(在Ubuntu上)
进入application/config/database.php,找到
$db['default']['dbdriver'] = 'mysql';
将'mysql'
替换为'mysqli'
$db['default']['dbdriver'] = 'mysqli';
就是这样!