53 votes

Codeigniter affiche une page vierge au lieu de messages d'erreur

J'utilise Codeigniter, et au lieu de messages d'erreur, j'obtiens juste une page blanche. Existe-t-il un moyen d'afficher les messages d'erreur PHP à la place ? C'est très difficile à déboguer quand je n'ai pas de retour.

Mon environnement est Ubuntu avec Apache.

31voto

Assurez-vous que php5-mysql est installé.

11voto

mjrofra Points 23

J'ai eu le même problème et comme l'a souligné Shayan Husaini, j'ai eu une erreur de syntaxe non détectée.

Je l'ai résolu en utilisant le linter php dans le terminal :

 php -l file.php

Vous pouvez également utiliser quelque chose comme ceci pour utiliser le linter dans chaque fichier d'un dossier :

 find -type f -name "*.php" -exec php -l '{}' \;

Et pour filtrer uniquement ceux avec des erreurs :

 find -type f -name "*.php" -exec php -l '{}' \; | grep '^[^N]'

Cela devrait afficher les fichiers avec des erreurs d'analyse et la ligne où se trouve l'erreur.

7voto

Shayan Husaini Points 2698

Ce problème se produit lorsque vous avez une erreur de syntaxe php de base dans votre code. Dans le cas où vous avez des erreurs de syntaxe, l'analyseur php n'analyse pas complètement le code et n'affiche rien, donc toutes les suggestions ci-dessus ne fonctionneront que si vous avez d'autres erreurs que de syntaxe.

6voto

Christian Giupponi Points 2552

vous pouvez le définir dans le fichier index.php principal

     define('ENVIRONMENT', 'development');
/*
 *---------------------------------------------------------------
 * ERROR REPORTING
 *---------------------------------------------------------------
 *
 * Different environments will require different levels of error reporting.
 * By default development will show errors but testing and live will hide them.
 */

if (defined('ENVIRONMENT'))
{
    switch (ENVIRONMENT)
    {
        case 'development':
            error_reporting(E_ALL);
        break;

    case 'testing':
    case 'production':
        error_reporting(0);
    break;

    default:
        exit('The application environment is not set correctly.');
}
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X