J'ai un problème avec mon installation Drupal, par exemple:
- lorsque j'active ou désactive les modules, il me redirige vers une page vierge,
- lorsque je crée un nouveau type de contenu et l'enregistre, me redirige vers une page vierge,
- lorsque j'ajoute une nouvelle vue et l'enregistre, elle me redirige vers une page vierge,
- lorsque j'essaie de vider le cache, il me redirige vers une page vierge,
- ou dans des cas similaires.
Fondamentalement, toutes les pages de confirmation me redirigent vers un écran blanc. Lorsque je le rafraîchis à nouveau, il me montre la page. J'ai essayé d'augmenter la valeur de la mémoire PHP mais cela n'aide pas.
Y a-t-il d'autres solutions pour cela?
L'erreur que je rencontre:
Erreur fatale: taille de mémoire autorisée de 100663296 octets épuisée (tentative d'allocation de 8192 octets) dans les sites / tous / modules / vues / plugins / vues_plugin_localization_none.inc sur la ligne 1
Réponses:
Je sais que cela peut être en retard, mais cela m'a aidé. La plupart du temps, un module provoque WSOD, je ne pouvais pas simplement désactiver les modules pour tester ce que c'était, car j'ai peut-être perdu des données dans le processus. Ce que j'ai fait, c'était d'éditer temporairement cette fonction
module.inc
dans leincludes
répertoire principalEt j'ai ajouté ces 2 instructions d'impression dans le code ci-dessus, puis actualiser la page, le module qui n'a pas atteint l'instruction "Terminer le chargement de $ module" est celui qui a le problème ... il a été développé dans mon cas.
Après avoir trouvé le module, vous pouvez aller dans la table système et rechercher ce module, définir son état = 0 et bootstrap = 0 ou exécuter la requête:
Référence: débogage de Drupal White Screen of Death (WSOD)
la source
Collez ce code dans votre
index.php
fichier. Il vous montrera le message d'erreur au lieu d'une page vierge. On peut au moins connaître la racine du problème. Collez-le juste après la balise php.J'espère que cela vous montrera le chemin !.
http://drupal.org/node/158043
la source
tail /var/log/apache2/error.log
. Cela vous montrera les 10 lignes les plus récentes de ce fichier.index.php
est une mauvaise idée (même temporaire, car la plupart des gens sont trop paresseux pour le supprimer plus tard si cela fonctionne), il est préférable de le coller directement dans votre fichier de paramètres.La raison de l'écran blanc de décès est que le rapport d'erreur est désactivé, pour vérifier l'erreur, ajoutez les lignes suivantes dans votre fichier setting.php:
Pour l'erreur que vous rencontrez ("Taille de mémoire autorisée de XXX octets épuisée"), vous pouvez essayer les choses suivantes:
Tronquez le cache manuellement et vérifiez s'il résout le problème (il est probablement utile de sauvegarder votre base de données avant de le faire):
Access phpMyAdmin and truncate all tables starting by cache_ from the database
.Augmentez la limite de mémoire (car la principale raison de l'erreur ci-dessus est la mémoire épuisée par le serveur qui a provoqué le chargement partiel des modules et qui cause le problème) en ajoutant la ligne suivante dans votre fichier settings.php: l'
ini_set('memory_limit', '-1');
ajout
ini_set('memory_limit', '-1');
remplace la limite de mémoire PHP par défaut.Si vous souhaitez restreindre la mémoire au lieu de,
-1
vous pouvez fournir une taille de mémoire comme «256M» OU «512M».la source
Il se pourrait très bien que l'un de vos modules manque de mémoire.
Vous pouvez ajouter une ligne de code à votre fichier index.php pour permettre à Drupal de fonctionner avec plus de mémoire que le paramètre par défaut:
Ajoutez le code ci-dessus sur la ligne après le? Php dans votre fichier /drupal/index.php. Si tout commence à bien fonctionner, vous pouvez identifier la cause du problème de mémoire (il s'agit très probablement d'un module).
Désactivez un module, puis commentez l'ini_set ('memory_limit', '256M'); et voyez s'il se charge maintenant.
Il n'est pas recommandé de quitter l'ini_set ('memory_limit', '256M'); en place comme solution, mais cela peut au moins vous permettre d'accéder à la page de liste de vos modules.
Vous pouvez trouver utile de faire un debug_backtrace () pour déterminer ce qui utilisait la mémoire.
la source
index.php
est une mauvaise idée (même temporaire, car la plupart des gens sont trop paresseux pour le supprimer plus tard si cela fonctionne), il est préférable de le coller directement dans votre fichier de paramètres.L'erreur:
Pour convertir les octets X en Mo, divisez par 1024 * 1024 ou consultez Wolfram .
se produit lorsque PHP essaie d'allouer Y octets, mais il y a une limite stricte sur X octets définie par
memory_limit
les paramètres de configuration PHP .La limite actuelle peut être vérifiée en allant dans Administration »Rapports» Rapport d'état »PHP (URL:)
/admin/reports/status/php
ou en imprimantini_get('memory_limit')
en PHP (notez que la limite peut être différente pour l'interface utilisateur et la CLI).Pour y remédier, vous devez réduire votre utilisation des ressources, par exemple:
désactiver tous les modules de développement que vous n'utilisez pas actuellement (recommandé),
Cela comprend: Devel, Devel Themer (si activé).
désactiver tous les modules que vous n'utilisez pas,
désactiver certaines variables de débogage qui peuvent avoir un impact sur vos ressources mémoire, par exemple quelques exemples avec
drush
:désactiver certaines extensions PHP, telles que XDebug,
memory_limit
votre configuration PHP .Si vous décidez d'augmenter la limite de mémoire, beaucoup de gens ici conseillent de réellement pirater votre cœur en collant le code PHP dans votre
index.php
pour augmenter votre mémoire PHP - ne faites jamais ça ! C'est une très mauvaise pratique.Modifiez plutôt votre
settings.php
(ousettings.local.php
si vous l'avez inclus) et collez le code suivant à la fin:ou une meilleure façon de le faire est d'éditer votre fichier de configuration PHP (
php.ini
) et de changer la ligne suivante:Si vous ne savez pas où est votre
php.ini
, vérifiez par:drush status
commander/admin/reports/status/php
.Pour étudier plus en détail les pages / composants qui utilisent le plus de mémoire, vous disposez des possibilités suivantes:
xdebug.profiler_enable=1
) ou XHProf ,Pour plus d'informations, consultez:
drush
, vérifiez: Mémoire épuisée avec Drush à DA.SEla source
memory_limit
. J'ai eu le problème signalé uniquement avecdrush
exactement parce que j'avais une erreur dans/etc/php/7.0/cli/php.ini
mais pas dans/etc/php/7.0/cli/php.ini
, donc l'interface utilisateur drupal fonctionnait bien. Merci!Vous pouvez utiliser un module pour contrôler cette limite de mémoire. Le module PHP Runtime Configurator fournit de nombreuses options pour configurer sans modifier votre fichier php.ini et redémarrer Apache.
Vous pouvez configurer les paramètres suivants:
la source