所以我有一个使用CI框架编写的网站。它在原始主机(Apache)上运行良好。它在本地工作正常(IIS 7 Express)。我们刚刚购买了一个新的VPS(Windows Server 2008 R2)并预装了PHP(PHP版本5.2.10),当我进入该网站时,我得到一个空白页面。
通过简单地打印'OK'进行调试后,我经常确定CodeIgniter.php正在进行中:
$CI = new $class();
现在尝试解决我已经进入config.php并设置的问题:
$config['log_threshold'] = 4;
但是我甚至没有得到任何日志文件。我注意到权限没有启用写入所以我去了“c:\ inetput \ wwwroot”并为用户“IIS_IUSRS”设置了最大权限
不幸的是,没有创建日志文件。 “index.php”仍然是空白,所以我完全糊涂了。这是我第一次使用CI应用程序。请帮忙!
编辑:确保安装了MySQL并为PHP启用了MySQL
由于 克里斯
答案 0 :(得分:6)
答案 1 :(得分:2)
有完全相同的问题。在我的情况下,安装了php-mysql但没有出现在phpinfo()中。我使用php-fpm(使用nginx),原因是php-fpm需要重新启动
sudo /etc/init.d/php5-fpm restart
答案 2 :(得分:0)
可能会生成错误,但由于默认错误报告设置而未显示。我通常会更改我的开发机器上的错误报告设置(在CI index.php中),如下所示:
if ($_SERVER['HTTP_HOST'] == "localhost") {
error_reporting(7);
} else {
error_reporting(E_ERROR);
}
答案 3 :(得分:0)
将$ config ['uri_protocol']更改为“REQUEST_URI”。
答案 4 :(得分:0)
SELF ANSWER:原因是空格(必须通过在FTP编辑器中打开每个文件重新格式化所有代码并重新保存)
答案 5 :(得分:0)
我有同样的问题。这是因为数据库设置。检查数据库设置。
我的问题是,我正在使用表达式引擎,并且该网站将在您提到的同一行中显示为空白。 我正在使用Vagrant,所以我必须在Expression Engine的数据库配置设置中设置正确的端口然后才能工作。
答案 6 :(得分:0)
我有同样的问题。
要打开错误显示,请更改
define('ENVIRONMENT', 'production');
至define('ENVIRONMENT', 'development');
在index.php。
它显示:Fatal error: Cannot redeclare class Xml in /www/.../application/libraries/Items/Xml.php on line 3
在课堂声明前添加 if :
if (!class_exists('Xml')) { class Xml extends XmlElement {...}
已解决此问题
另外,使用
if (true) { class Xml extends XmlElement {...}
魔术! :)
P.S。我从php 5.4.36迁移到5.6.6-2 我认为问题从php版本增长
答案 7 :(得分:0)
我遇到与OP相同的问题(执行停在" $ CI = new $ class();"在CodeIgniter.php中导致空白页面),但我在这里找到了答案:{ {3}}
系统/核心/ Common.php的第257行是
return $_config[0] =& $config;
我把它改成了
$_config[0] =& $config;
return $_config[0];
问题消失了。它发生在从PHP 5.4迁移到5.6之后,运行CodeIgniter 2.1。
答案 8 :(得分:0)
我遇到了同样的问题,打开config / database.php文件,然后在dbdriver中将'mysql'
更改为'mysqli'
。
$db['default']['dbdriver'] = 'mysqli';