带CodeIgniter的空白屏幕

问题描述:

我刚将一个网站移到了生产服务器上,并且一次工作的CodeIgniter安装现在返回一个空白屏幕。我相信这是由于空白,但你应该如何找到这样的东西?带CodeIgniter的空白屏幕

检查事项:

  • 里面的config.php,请确保您的$config['base_url']设置正确
  • 是你能够复制你的.htaccess呢?
  • 在两台机器上都有相同的PHP版本吗?如果你的回答是肯定的,我会再次问你:你确定吗?
  • 你的$ db ['default'] ['hostname']的值是多少?
  • 您是否在本地和生产服务器上具有相同的数据库设置?有可能是与主机名,用户名,密码和数据库名称的差异

其他事情可以做:在您的生产服务器和检查

  • 设置$db['default']['db_debug']TRUE
  • 部署一个新的CodeIgniter安装如果你能看到东西
  • 如果你仍然看到一个空白页面,部署一个包含文本的PHP文件并告诉我们你看到的是什么
+0

事实证明,服务器运行的是PHP 4而不是5.希望托管公司明天为我更新它。感谢回复。 – Tisch 2009-08-11 20:12:45

+0

@randell我的应用程序在CI上并运行在heroku服务器上.Index.php是echo“Hello”,但是我的默认控制器不运行,我不确定heroku和我的应用程序的php版本(CI ='2.1。 2',PHP = 5.5.16) – HaRsH 2014-08-30 09:31:10

+2

@HaRsH,确保'display_errors'和'display_startup_errors'设置为'true'。还要确保'error_reporting'设置为'E_ALL'。例如,请参阅http://*.com/a/21429652/106778。 – Randell 2014-08-31 11:09:50

我遇到同样的问题,我通过将我的日志文件夹设置为可写入来解决它。 看来,如果您打开日志记录,并且您的服务器上的日志文件夹不可写,则CodeIgniter会向您显示一个空白页面。

+2

你刚从3小时的狩猎中拯救了我。我们确实需要检查该目录的可写入性。 – 2011-11-22 01:54:35

该问题可能是由于缺少php模块“mysqli”。这是您调用数据库的驱动程序。我会检查:

php -i | grep mysqli

php -m

+0

这已经解决了我的问题两次了。如果PHP没有安装适当的数据库扩展,CodeIgnitor将会空白屏幕 – 2012-12-09 10:01:21

+0

这也解决了我的问题,谢谢@rlane。即使在apache2日志中也没有错误,表明这是一个问题... – Jarrett 2013-09-19 18:58:07

+0

谢谢。这是我在Heroku上托管时遇到的问题。我必须更新composer.json以在''require''部分下包含'“ext-mysql”:“*”,然后运行'composer update'来更新composer.lock文件。 – 2015-08-07 14:10:21

我有simillar问题。我尝试了人们写的所有可能的方式。但没有人为我工作。但是,finnaly我发现我的index.php通过ftp传输到服务器时不完整。所以,如果任何人仍然无法解决死亡白屏可能你的index.php不完整。

visibility function_name() 
{ 
    $this->load->helper('url'); 

} 

它会告诉你错误或您加载一个观点:

当你创建一个功能,例如加载您的网址帮手。

如果您已移至新服务器,请确保服务器上安装了PHP-5。屏幕为空的原因是服务器无法呈现PHP。

键入此线并重新启动后:

命令和apt-get安装PHP5中的libapache2-MOD-PHP5

要重新启动:

sudo service apache2 restart 

当然,这是假设您可以通过具有管理权限的SSH客户端访问服务器。

好运,尼尔

在你的index.php文件中声明此地方:

function exception_handler($exception) { 
    echo "Uncaught exception: " . $exception->getMessage(); 
} 

set_exception_handler('exception_handler'); 

看来笨只处理从CI_Exception派生的异常,所以任何未捕获(V2?)例外情况(来自第三方库等)不予处理。