9
votes

Pourquoi le code igniteur me donne-t-il une page blanche?

Hey, je ne sais pas pourquoi le codédiciteur me donne une page vierge lorsque je charge un modèle simple. Je brise le code vers le bas, en arrière, et je ne peux pas comprendre ce qui se brise. Voici le contrôleur: xxx

voici le modèle: xxx

}

La seule façon dont je ne comprends pas Une page blanche sur / la vue est si je commencez le chargement du modèle. Je n'ai absolument aucune idée de ce que je fais mal, je copie les exemples et la structure littéralement sur le site CI.


0 commentaires

7 Réponses :


16
votes

ah, l'écran de décès blanc classique de codeDigniter. J'ai rencontré cela la première fois que j'ai utilisé CI. Incroyablement frustrant qu'un tel cadre populaire pourrait causer quelque chose comme celui-ci sans sortie d'erreur.

Dans mon cas particulier, c'est parce que j'ai essayé d'utiliser la classe de base de données avec MySQLI, mais mon environnement cible n'avait pas installé le module MySQLI. Pour une raison quelconque, CI a supprimé toute la sortie d'erreur habituelle. Elle a donc tourné une enquête de 2 minutes en une enquête de 2 heures.

Alors qu'être dit, je vérifierais les choses suivantes:

  • error_rporting défini sur E_all dans votre php.ini et display_errors est sur.
  • Activez log_errors aussi.
  • Vérifiez que les classes que vous utilisez ne s'appuient pas sur un module PHP spécial que vous n'avez peut-être pas

    Si vous ne trouvez rien avec la sortie d'erreur, vous allez devoir creuser plus profondément. Si vous avez xdebug installé, je suggérais vivement d'utiliser cela ... entourez votre code dans une trace et voyez où il est étouffement.

    J'ai fini par suivre la cause de mon WSOD en perçant dans les classes de cadre et la sortie de dumping (no xdebug n'était disponible). Ce n'est pas amusant, mais cela a finalement travaillé.


1 commentaires

Vrai! :) Suite à vos conseils, je suis allé à C: \ apache2.2 \ htdocs \ cofix3d \ application \ config \ base de données.php A ND supprimé les paramètres de base de données et avez enfin reçu un message d'erreur lorsque vous essayez de charger La page à nouveau: Aucun paramètre de connexion de base de données n'a été trouvé dans le fichier de configuration de la base de données. Permettez-moi d'installer MySQL et de la configurer de manière appropriée. :RÉ



12
votes

Les deux classes sont nommées "prospects". Lorsque CI comprend cela, ils sont chargés dans la même espace de noms. Vous avez probablement un "Impossible de redéclaré class 'mène'" "erreur . Essayez de renommer le modèle et ça devrait aller.

edit: devinez confirmé


5 commentaires

OUI!!!! Merci beaucoup! C'était exactement le problème. Cela devrait être noté dans la documentation et le Guide de l'utilisateur, ce n'est pas le cas où se trouve.


RIGKLES Si je ne vous avais pas déjà donné +1, vous l'auriez gagné pour la deviness confirmée


Nice, +1 de moi aussi. Je n'ai même pas vu ça. Je trouve la manipulation des erreurs de CI sous-par. Pourquoi ne peut-il pas vous donner une sortie d'erreur dans des situations comme celle-ci?


Je pense principalement parce que c'est une erreur fatale. CI essaie de produire chaque erreur en utilisant son "beau" modèle, mais par définition, il ne peut pas gérer les erreurs mortelles.


Cela ne serait-il pas apparu dans les journaux d'erreur du serveur? C'est généralement le premier endroit où je vérifie quand je reçois un wsod



2
votes

Comme Cassy deviné, c'est un problème avec votre nommage - CI ne peut pas traiter avec des modèles et des contrôleurs ayant le même nom. Renommez vous dirige modèle à quelque chose d'autre et essayez de recharger la page. Que devrait résoudre le problème.


0 commentaires

1
votes

Une autre raison pour laquelle l'écran blanc de la mort permet de permettre la mise en cache de requête ou le journal LUTPUTTIBG avec le dossier respectif n'étant pas écrit. Ça me fait quelques fois!


0 commentaires

1
votes

Il suffit de résoudre le même problème après une nuit très désagréable passée à Stumblin 'dans les bibliothèques CI.

Comme Zombat a souligné, mon problème a été oublié d'installer le module PHP5-MySQL dans ma boîte Linux.

Une fois apt-get installé le module MySQL tout a commencé à jouer comme prévu.

noob, je sais. Mais je m'attendrais à ce qu'un meilleur comportement de CI en manipulant de telles exceptions. Une seule ligne de journal aurait sauvé une série d'heures et de malédictions.


0 commentaires

0
votes

J'ai eu une page blanche blanche après avoir utilisé mon premier modèle. La solution est si vous utilisez CodeDigniter 2+, vous devez prolonger de CI_Model au lieu de modèle. Donc, la classe d'un modèle devrait dire classe myModel s'étend cI_model . Cela m'a aidé après 4 heures de recherche.


0 commentaires

2
votes

Je différencie mes contrôleurs et mes modèles en ajoutant les noms _Controller ou _Model aux classes. Cela élimine la confusion des cours. Essayez de les renommer comme

Leads_controler et leads_model.


0 commentaires