2013-07-08 120 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)。謝謝。 –