web-dev-qa-db-fra.com

Magento Comment déboguer un écran blanc vierge

J'ai une erreur dans mon backend Magento qui se traduit par un écran vide (WSOD). J'ai défini des erreurs sur admin, mais rien n'est créé dans var/logs /. (J'ai vérifié les autorisations pour ce répertoire et tout est correct).

J'ai également ini_set ('display_errors', 1) dans index.php et Magento est réglé en mode développeur. J'ai également activé les journaux d'erreurs Apache et php.

Cependant, aucune erreur n'est enregistrée?!

Quelqu'un a une idée de pourquoi les erreurs ne sont pas affichées? Comme je suis confus! Merci

46
sulman

Voici comment je l'ai corrigé (Hope vous aidera les gars):

  1. Utilisez le code suivant dans votre fichier index.php

    ini_set('error_reporting', E_ERROR);
    register_shutdown_function("fatal_handler");
    function fatal_handler() {
        $error = error_get_last();
        echo("<pre>");
        print_r($error);
    }
    
  2. Dans mon cas, il m'a dit que l'erreur/503.php n'était pas disponible.

3.Le problème est lié à l'extension de témoignage que j'ai utilisée ( http://www.magentocommerce.com/magento-connect/magebuzz-free-testimonial.html )

  1. J'ai supprimé le fichier testimonial.xml dans mon application/etc/modules/testimoanial.xml.
  2. supprimez le fichier "maintenance.flag".
58
Shashank Saxena

Chaque fois que cela se produit, la première chose que je vérifie est la limite de mémoire PHP.

Magento remplace le gestionnaire d'erreurs normal par le sien, mais lorsque l'erreur est "Mémoire insuffisante", ce gestionnaire personnalisé ne peut pas s'exécuter, donc rien n'est vu.

18
clockworkgeek

Même problème, je viens de purger le cache

rm -rf var/cache/* 

Et voilà ! Je ne comprends pas ce que c'était ...

12
JonaPkr

Voici les raisons des pages blanches dans magento

1) Problèmes d'autorisation de fichier ou de répertoire. Si vous migrez d'un serveur à un autre, n'oubliez pas d'accorder la permission 755 aux répertoires et fichiers

2) Si vous travaillez sur un fichier xml et que les pages deviennent soudain vides. Vérifiez que vous n'avez peut-être pas correctement commenté les lignes de code. Un commentaire non clos créera également le problème.

3) Il peut y avoir un problème en raison d'une allocation de mémoire insuffisante pour memory_limit.

4) Essayez d'effacer le contenu du dossier var/cache

5) Essayez d'effacer le contenu du dossier var/session

6) Si vos extensions utilisent ioncube loader sur la production, installez également ion cube sur le serveur de développement. (Comme pour les extensions extendware) .Bien que vous puissiez avoir ion cube loader essayez d'installer la dernière version.Parce que vous mettez à jour les extensions qui dépendent de ion cube il y a incompatibilité avec les anciennes versions.

7) Définissez short_open_tag = On dans php.ini. Parfois, les développeurs utilisent <? ?> tags et si le short_open_tag n'est pas activé, vous pouvez rencontrer des problèmes comme une page à moitié déformée, etc.

8) Augmentez les valeurs max_input_vars et post_max_size pour php. Cela aide lorsque vous essayez d'enregistrer un grand nombre de taux d'imposition dans une règle fiscale et d'obtenir une page vierge.

6
Mukesh

Cela pourrait être aussi simple qu'un conflit de modèle. Revenir au modèle par défaut dans System/Configuration/Design/Themes.

4
user4015

Moi aussi, j'ai eu le même problème, mais résolu après avoir désactivé le compilateur et réinstallé l'extension. Désactiver le compilateur peut être fait par système-> configration-> outils-> compilation .. Ici Désactiver le processus ... Bonne chance

3
Pavan Kumar

J'étais également confronté à cette erreur. L'erreur a été corrigée en modifiant le contenu de la fonction principale getRowUrl dans app\code\core\Mage\Adminhtml\Block\Widget\Grid.php La fonction principale est:

public function getRowUrl($item) 
{ 
$res = parent::getRowUrl($item); 
return ($res ? $res : ‘#’); 
}

Remplacé par :

public function getRowUrl($item) 
{ 
return $this->getUrl(’*/*/edit’, array(’id’ => $item->getId())); 
}

Pour plus de détails: http://bit.ly/iTKcer

Prendre plaisir!!!!!!!!!!!!!

1
Sanjeev Kumar Jha

J'ai eu le même problème, il a été résolu après la réinstallation de mon thème

1
David van Diepen

Cela peut également se produire lorsque vous n'avez pas chargé une extension php appropriée. Je voudrais vérifier que vous avez toutes les extensions php requises chargées sur votre système si ce n'est pas le problème de limite de mémoire.

1
dan.codes

J'ai également rencontré le même problème lors du téléchargement du projet magento sur mon serveur Web, Dans mon cas, le fichier Zip est corrompu pendant le processus de téléchargement et beaucoup de mes fichiers php sont également endommagés. J'ai téléchargé via ftp. J'ai trouvé la solution à cela. Si vous créez le fichier Zip à partir d'une machine Linux, essayez d'utiliser l'outil de ligne de commande (par exemple: ie;

Zip -r my_archive.Zip /path/of/files/to/compress/)

et effectuez le téléchargement sur votre serveur Web à partir du client Windows Filezilla.

Parfois, cela se produit car les liens symboliques ne sont pas autorisés dans les paramètres du modèle: Advanced > Developer > Template Settings > Allow Symlinks

0
Roman Snitko

Ma solution: Activer le plugin via Système -> Config> Advanced> Advanced

0
TonkBerlin

Dans mon cas, la taille du fichier index.php était nulle. J'ai recopié le fichier d'origine et cela a fonctionné.

Cependant, aucune idée de ce qui a effacé le contenu de index.php.

0
Onur Okyay

Cela peut également être dû à l'utilisation des signets xDebug lors du débogage de la page. Arrêtez simplement le débogueur (supprimez le cookie) et cela reviendra à la normale.

0
augsteyer

Comme vous l'avez dit - il y a une seule réponse à ce problème.

J'ai eu le même problème après avoir changé de thème. La mémoire a été définie sur 1024 auparavant, ce n'est donc pas le problème. Le cache a été effacé et il n'y avait rien d'utile dans le journal des erreurs.

Dans mon cas, la solution était différente - l'ancien thème avait personnalisé modèle de page d'accueil ... Le passer au standard a corrigé le problème.

0
arekstasiewicz

Je suis juste tombé sur ce problème et j'ai perdu toute la journée à le résoudre. Essayez d'augmenter memory_limit, ça a marché pour moi!

0
Kajal

J'ai essayé toutes les solutions suggérées mais pas de chance.

Enfin, j'ai trouvé que je devais utiliser la mise en page et le modèle d'administrateur et la peau d'une nouvelle version de Magento que vous devez mettre à niveau. Par exemple dans mon cas c'est 1.9.2.4

  • Utilisez la disposition et le modèle adminhtml pour que le thème administrateur puisse être chargé

- En gros, récupérez tous les fichiers (depuis app/design/adminhtml/par défaut de la nouvelle version), copiez et collez-les dans le dossier app/design/adminhtml/default du site actuel pour remplacer tous les anciens fichiers le cas échéant

  • Utilisez le skin adminhtml pour que le thème administrateur puisse s'afficher correctement

- Fondamentalement, récupérez tous les fichiers (à partir de skin/adminhtml/default de la nouvelle version), copiez et collez-les dans le dossier skin/adminhtml/default du site actuel pour remplacer tous les anciens fichiers le cas échéant

Bien sûr, n'oubliez pas de faire des sauvegardes avant de le faire.

Le mieux est d'utiliser un contrôle de version comme GIT ou SVN.

0
NgocDB

UNE AUTRE RAISON

pour un écran blanc sans messages d'erreur pourrait être la fragmentation du cache APC .

Utilisez phpinfo () pour savoir s'il est utilisé par votre page (nous avons eu des problèmes avec PHP 5.4 + APC 3.1.13) et si oui, voyez ce qui se passe quand toi non plus

  • désactivez-le via .htaccess: php_flag apc.cache_by_default off
  • vider le cache apc à chaque appel de la page: ajouter en haut de index.php apc_clear_cache(); (pas de solution mais bon pour voir si l'APC est le problème)

Si vous avez l'APC et que est le problème, alors vous pourrait

  • jouer avec ses paramètres, qui pourraient être lourds et ne fonctionnent toujours pas du tout
  • il suffit de mettre à jour PHP 5.5 et d'utiliser son cache d'opcode intégré à la place.
0
Larzan