L'erreur:
Erreur fatale: taille de mémoire autorisée de X octets épuisée (tentative d'allocation de Y octets)
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 imprimant ini_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
:
drush -y vset rules_debug 0
drush -y vset rules_debug_log 0
désactiver certaines extensions PHP, telles que XDebug,
- activer les caches redis / memcached et certains caches PHP (par exemple OPCache / XCache),
- enfin si ci-dessus ne vous aidera pas - augmentez
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
(ou settings.local.php
si vous l'avez inclus) et collez le code suivant à la fin:
ini_set('memory_limit', '512M');
ou une meilleure façon de le faire est d'éditer votre fichier de configuration PHP ( php.ini
) et de changer la ligne suivante:
memory_limit = 512M ; Maximum amount of memory a script may consume
Si vous ne savez pas où est votre php.ini
, vérifiez par:
drush status
commander
- ou en allant à
/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:
Pour plus d'informations, consultez: