Sådan løses PHP dødelig fejl: Tilladt hukommelsesstørrelse på 8388608 bytes opbrugt


ini_set ( ”memory_limit”,”16M”);

Dette vil snarere indstille din hukommelsesgrænse til 16 MBend 8 MB. Du kan og bør pege med dette nummer, så det er så lavt som muligt uden at gentage denne fejlmeddelelse. Dette ændrer kun hukommelsesgrænsen for den bestemte PHP-fil.
Alternativt kan du ændre din php.ini-fil for at øge hukommelsesgrænsen. Dette vil påvirke alle scripts på din server. Åbn blot php.ini og find den linje, der lyder "memory_limit" og ændre den:
memory_limit = 16 M

Jeg har bemærket det i min egen PHP.ini-fil, som min standard er meget højere ved 128M. Så hvis jeg nogensinde skulle modtage denne fejlmeddelelse, ville den læse: "Dødelig fejl: Tilladt hukommelsesstørrelse på 134217728 bytes opbrugt ..." og naturligvis være et meget større problem. Men det har den samme løsning som "Fatal error: Tilladet hukommelsesstørrelse på 8388608 bytes opbrugt ..." eller "Fatal error: Tilladet hukommelsesstørrelse på 16777216 bytes udtømt ..." eller hvad som helst. Tilsyneladende blev memory_limit-standardet hævet fra 8M til 16M i PHP 5.2.0 og er nu 128M for PHP 5.3.0, hvilket vil forklare, hvorfor du muligvis ikke får denne fejlmeddelelse overhovedet.
Du kan også deaktivere hukommelsesgrænsen ved at indstille memory_limit til –1 i PHP.ini.
memory_limit = -1
Dette er dog normalt ikke en god idé af åbenlyse grunde.
Bemærk: Du kan også bruge memory_limit-linjen på din .htaccess-side.
Husk nu, dette er kun en løsning. Virkelig, dit PHP-script skal ikke være over 8 MB, medmindre dine uploadede filer ellergør noget andet, der åbenlyst tager meget hukommelsesforbrug i. Hvad du virkelig skulle gøre, prøver at finde ud af, hvorfor dit script bruger så meget hukommelse og forsøger at løse det. En måde at finde ud af, hvor meget hukommelse dit PHP-script bruger, er at bruge PHP-funktionen memory_get_usage (). Du skal blot gentage det på ethvert tidspunkt i dit script for at finde ud af, hvor din hukommelsesforbrug spider:
ekko memory_get_usage ();
Hvis du får denne fejlmeddelelse i Drupal eller Joomla, er den sandsynlige skyldige et nyt modul eller en pakke. I Drupal indlæses for eksempel siden admin / moduler hver modul i din Drupal-installation, som kan fåbehåret, hvis et brugerdefineret modul er buggy, korrupt eller hacket. Prøv at deaktivere moduler en efter en for at identificere, hvad der bringer partiet ned. Nogle hostingudbydere vil også ignorere dine forsøg på at ændre hukommelsesgrænser for din PHP-kode, så du skal muligvis kontakte din hosting-support for at hjælpe dig. Jeg har fundet nogle gange, at jeg har brug for at redigere php.ini-filen og undertiden sætte koden i .htaccess-filen. Uanset hvad, forhåbentlig, er denne info her nok til at komme dig på din vej!
Efterlad en kommentar