L'errore:
Errore irreversibile: dimensione della memoria consentita di X byte esaurita (tentativo di allocare Y byte)
Per convertire i byte X in MB, dividi per 1024 * 1024 o controlla su Wolfram .
accade quando PHP tenta di allocare Y byte, ma esiste un limite rigido per X byte impostato dalle memory_limit
impostazioni di configurazione di PHP .
Il limite corrente può essere verificato andando su Amministrazione »Rapporti» Rapporto sullo stato »PHP (URL:) /admin/reports/status/php
o stampando ini_get('memory_limit')
in PHP (notare che il limite è diverso per UI e CLI).
Per risolverlo, è necessario ridurre l'utilizzo delle risorse, ad esempio:
disabilita tutti i moduli di sviluppo che non stai utilizzando attualmente (consigliato),
Ciò include: Devel, Devel Themer (se abilitato).
disabilita tutti i moduli che non stai utilizzando,
disabilitare alcune variabili di debug che possono influire sulle risorse di memoria, ad esempio alcuni esempi con drush
:
drush -y vset rules_debug 0
drush -y vset rules_debug_log 0
disabilita determinate estensioni PHP, come XDebug,
- abilitare le cache redis / memcached e alcune cache PHP (ad esempio OPCache / XCache),
- infine, se sopra non aiuta, aumenta
memory_limit
la configurazione di PHP .
Se decidi di aumentare il limite di memoria, molte persone qui consigliano di hackerare il tuo core incollando il codice PHP nel tuo index.php
per aumentare la tua memoria PHP - non farlo mai ! È una brutta pratica.
Invece modifica il tuo settings.php
(o settings.local.php
se lo hai incluso) e incolla il seguente codice lì alla fine:
ini_set('memory_limit', '512M');
o un modo migliore per farlo è modificare il file di configurazione di PHP ( php.ini
) e cambiare la seguente riga:
memory_limit = 512M ; Maximum amount of memory a script may consume
Se non sei sicuro di dove ti trovi php.ini
, controlla:
drush status
comando
- o andando a
/admin/reports/status/php
.
Per esaminare ulteriormente quali pagine / componenti utilizzano più memoria, hai le seguenti possibilità:
Per ulteriori informazioni, controllare: