2013-07-08 5 views
0

Je cours CodeIgniter 2.1.3.CodeIgniter: contrôleur helloworld.php renvoie la page blanche

Je suis passé par des postes tels que, mais n'a pas pu résoudre mon problème:

Blank Screen with CodeIgniter

J'ai installé CodeIgniter sous/var/www/ci/ et l'accès comme http: // localhost/ci/

J'ai créé l'application simple page/contrôleurs/helloworld.php

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

mais http: // lo calhost/ci/index.php/helloworld/

me donne une page blanche. Comment puis-je réparer cela?

J'ai même essayé de changer config.php pour contenir

$ config [ 'base_url'] = 'http: // localhost/ci /';

(sans l'espace supplémentaire dans localhost).

J'ai mod_rewrite activé, j'ai mysqli php module activé.

Où est-ce que je me trompe?

Merci. .

Répondre

1

Dans les versions 2.xx de CodeIgniter les ces classes sont appelées comme CI_Controller (toutes les autres classes de système est préfixé avec CI_

Essayez de changer comme ceci:

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

J'ai changé contrôleur à CI_Controller mais aussi à supprimer le constructeur pour qu'il fonctionne.Pourquoi la suppression du constructeur était-elle nécessaire? L'ajout d'un constructeur CI_Controller ou __construct ne fonctionnerait pas Pourquoi? Merci –

+1

Ce n'est pas nécessaire, mais si vous voulez l'inclure, écrivez ke 'parent :: __ construct()'. L'appeler par le nom de la classe était obsolète avec php5. Dans votre cas, il essayerait d'appeler une méthode existante (si vous étendez 'CI_Controller', la méthode' Controller' serait une méthode régulière). – complex857

+0

Tout à fait raison. function() __construct {parent :: __ construct(); } est la seule syntaxe de constructeur qui semble fonctionner (pas de référence à CI_Controller ou HelloWorld). Merci. –