2013-07-08 83 views
0

我正在运行CodeIgniter 2.1.3。CodeIgniter:控制器helloworld.php返回空白页

我经历的职位,如走了,但没能解决我的问题:

Blank Screen with CodeIgniter

我在/ var/WWW/CI/ 和访问它作为HTTP装笨://本地主机/ CI/

我创建了简单的网页应用程序/控制器/ helloworld.php

<?php 
class HelloWorld extends Controller { 
    function HelloWorld() { 
    //function __construct() { 
    //parent::__construct(); 
    parent::Controller(); 
    } 
    function index() { 
    echo "Hello, World!"; 
    } 
} 

但HTTP:// LO calhost/ci/index.php/helloworld/

给了我一个空白页。我怎样才能解决这个问题?

我甚至试图改变的config.php含有

$配置[ 'BASE_URL'] = '的http://本地主机/ CI /';

(在localhost中没有额外的空间)。

我已启用mod_rewrite,启用了mysqli php模块。

我哪里错了?

谢谢。 。

回答

1

CI中的2.xx的版本中,这些类被称为像CI_Controller(其他每个系统类的前缀是CI_

尝试改变它像这样:

class HelloWorld extends CI_Controller { 
    // if you don't want to do anything in the __controller you don't have to 
    // override it, so its omitted 

    public function index() { 
     echo "Hello, World!"; 
    } 
} 
+0

我改变控制器到CI_Controller,但也必须删除它的工作构造函数。为什么删除构造函数是必要的?添加一个CI_Controller或__construct构造函数将无法工作。为什么?谢谢。 –

+1

这是没有必要的,但如果你想包括它写它li ke'parent :: __ construct()'。用类名称调用它已被php5弃用。在你的情况下,它会尝试调用一个现有的方法(如果你扩展'CI_Controller','Controller'方法将只是一些常规方法)。 – complex857

+0

完全正确。 function()__construct {parent :: __ construct(); }是唯一可以工作的构造函数语法(不参考CI_Controller或HelloWorld)。谢谢。 –