Php 迁移后的CodeIgniter空白屏幕

Php 迁移后的CodeIgniter空白屏幕,php,codeigniter,Php,Codeigniter,因此,我有一个使用CI框架编写的站点。它在原始主机(Apache)上运行良好。它在本地运行良好(IIS 7 Express)。我们刚刚购买了一个新的VPS(WindowsServer2008R2),php已经预装(PHPVersion5.2.10),现在当我访问该站点时,我会看到一个空白页面 通过频繁打印“OK”进行调试后,我确定CodeIgniter.php在以下方面出现故障: $CI = new $class(); 现在,为了尝试解决这个问题,我进入config.php并设置: $con

因此,我有一个使用CI框架编写的站点。它在原始主机(Apache)上运行良好。它在本地运行良好(IIS 7 Express)。我们刚刚购买了一个新的VPS(WindowsServer2008R2),php已经预装(PHPVersion5.2.10),现在当我访问该站点时,我会看到一个空白页面

通过频繁打印“OK”进行调试后,我确定CodeIgniter.php在以下方面出现故障:

$CI  = new $class();
现在,为了尝试解决这个问题,我进入config.php并设置:

$config['log_threshold'] = 4; 
然而,我甚至没有得到任何日志文件。我注意到没有为写入启用权限,所以我转到“c:\inetput\wwwroot”并为用户“IIS\U IUSRS”设置最大权限

不幸的是,仍然没有创建日志文件。“index.php”仍然是空的,所以我完全糊涂了。这是我第一次使用CI应用程序。请帮忙

编辑:确保安装了MySQL并为PHP启用了MySQL

谢谢
Chris

可能生成了错误,但由于默认的错误报告设置而未显示。我通常在我的开发机器上(在CI index.php中)更改错误报告设置,如下所示:

  if ($_SERVER['HTTP_HOST'] == "localhost") {
    error_reporting(7);
  } else {
    error_reporting(E_ERROR);
  }

将$config['uri\u protocol']更改为“REQUEST\u uri”。

自我回答:原因是空格(必须通过在FTP编辑器中打开每个文件并重新保存来重新格式化所有代码)

Trevor是正确的。我也遇到了同样的问题,在安装了php mysql之后问题就解决了。我在CentOS 6.2上运行了这个程序,我在百胜安装了php mysql,它运行正常。

遇到了完全相同的问题。在我的例子中,php mysql已经安装,但没有出现在phpinfo()中。我使用phpfpm(与nginx一起使用),原因是需要重新启动phpfpm

sudo /etc/init.d/php5-fpm restart

我也有同样的问题。这是因为数据库设置。检查您的数据库设置

我的问题是,我正在使用ExpressionEngine,而该站点将在您提到的同一行变为空白。 我使用的是Vagrant,因此我必须在Expression Engine的数据库配置设置中设置正确的端口,然后它才能工作。

我也遇到了同样的问题

要打开错误显示,请更改
定义('ENVIRONMENT'、'production')
定义(“环境”、“开发”)
在index.php中

它显示:
致命错误:无法在第3行的/www/../application/libraries/Items/Xml.php中重新声明类Xml

在类声明之前添加if
if(!class_exists('Xml')){class Xml extensed xmlement{…}

解决了这个问题

另外,如果(true){classxml扩展xmlement{…}

魔法!:)

另外,我正在从PHP5.4.36迁移到5.6.6-2
我认为问题源于php版本

我遇到了与OP相同的问题(执行在CodeIgniter.php中的“$CI=new$class();”处停止,导致一个空白页),但我在这里找到了答案:

system/core/Common.php中的第257行是

return $_config[0] =& $config;
我把它改成了

$_config[0] =& $config;
return $_config[0];

这个问题消失了。它发生在从PHP5.4迁移到5.6,运行CodeIgniter 2.1之后。

我也遇到了同样的问题,打开config/database.PHP文件,在dbdriver中将
'mysql'
更改为
'mysqli'

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

确保安装了php mysql(使用phpinfo())。我遇到了类似的问题,这都是因为没有安装php mysql。不过,我不知道如何在windows系统上安装它。我想你可能就在那里。我看到了php mysql库(.dll),但仔细看了phpinfo()我在任何地方都看不到mysql,所以它可能只是没有启用。我会看一看并更新。我甚至还没有开始安装mysql服务器!我想先看到“无法连接到数据库”错误:-即使在安装mysql服务器、启用mysql for php并重新启动iis之后(已检查并测试)CI仍然生成一个空白页,并且没有创建任何日志:(我已经尝试过了,没有产生任何错误,代码仍然简单地停在$CI=new$class()处)我猜错误被抑制了,但我还是不能让CI生成错误日志。如果你再多解释一点,其他人也可以这样做,那就好了。空白在哪里?你是如何删除的?