Hvordan løse PHP Fatal feil Tillatt minnestørrelse på 8388608 byte utmattet
ini_set ( “memory_limit”,”16M“);
Dette vil angi minnegrensen til 16 MB, i stedet for 8 MB. Du kan, og bør, flappe med dette nummeret slik at det er så lavt som mulig uten å gjenta feilmeldingen. Dette vil bare endre minnegrensen for den aktuelle PHP-filen.
Alternativt kan du endre php.ini-filen din til hukommelsesgrensen. Dette vil påvirke alle skript på serveren din. Bare åpne php.ini og finn linjen som leser "memory_limit" og endre den:
memory_limit = 16M
Jeg har lagt merke til i min egen PHP.ini-fil at min standard er mye høyere ved 128M. Så hvis jeg noen gang skulle motta denne feilmeldingen, ville den lese: "Fatal error: Tillatt minnestørrelse på 134217728 bytes utmattet ..." og åpenbart være et mye større problem. Men det har samme løsning som "Feil feil: Tillatt minnestørrelse på 8388608 byte utmattet ..." eller "Feil feil: Tillatt minnestørrelse på 16777216 bytes utmattet ..." eller hva som helst. Tilsynelatende var memory_limit-standarden opped fra 8M til 16M i PHP 5.2.0 og er nå 128M for PHP 5.3.0, som ville forklare hvorfor du kanskje ikke får denne feilmeldingen i det hele tatt.
Du kan også deaktivere minnegrensen ved å sette memory_limit til -1 i PHP.ini.
memory_limit = -1
Dette er vanligvis ikke en god ide, men av åpenbare grunner.
Merk: Du kan også bruke linjen memory_limit på siden .htaccess.
Nå, husk, dette er bare en løsning. Egentlig, PHP-scriptet ditt burde ikke være over 8 MB, med mindre du laster opp filer eller gjør noe annet som åpenbart tar opp mye minnebruk. Det du virkelig bør gjøre, prøver å finne ut hvorfor skriptet ditt bruker så mye minne og forsøker å fikse det. En måte å finne ut hvor mye minne PHP-skriptet ditt bruker, er å bruke memory_get_usage () PHP-funksjonen. Bare ekko det når som helst i skriptet ditt for å finne ut hvor minnesbruken din spiking:
ekko memory_get_usage ();
Hvis du får denne feilmeldingen i Drupal eller Joomla, er den sannsynlige skyldige en ny modul eller pakke. For eksempel, i Drupal lastes admin / modul siden hver modul i Drupal-installasjonen, som kan bli hårete hvis en tilpasset modul er buggy, korrupte eller hacked. Prøv å deaktivere moduler en etter en for å identifisere som bringer festen ned. Noen hostingleverandører vil også ignorere forsøkene dine på å endre minnegrensene for PHP-koden din, slik at du kanskje trenger å kontakte din hosting-støtte for å hjelpe deg. Jeg har funnet noen ganger jeg må redigere php.ini-filen og noen ganger sette koden i .htaccess-filen. Uansett, forhåpentligvis er denne informasjonen nok til å få deg på vei!