PHP-fatale fout oplossen Toegestane geheugengrootte van 8388608 bytes uitgeput
ini_set ( “memory_limit”,”16M“);
Hiermee wordt uw geheugenlimiet ingesteld op 16 MB, in plaats van 8 MB. Je kunt, en zou moeten, friemelen met dit nummer zodat het zo laag mogelijk is zonder dat foutbericht te herhalen. Dit zal alleen de geheugenlimiet voor dat specifieke PHP-bestand veranderen.
Als alternatief kunt u uw php.ini-bestand wijzigen om de geheugenlimiet te verhogen. Dit is van invloed op alle scripts op uw server. Open gewoon php.ini en zoek de regel met "memory_limit" en verander deze:
memory_limit = 16M
Ik heb in mijn eigen PHP.ini-bestand gemerkt dat mijn standaard veel hoger is op 128M. Dus, als ik ooit deze foutmelding zou ontvangen, zou het luiden: "Fatale fout: toegestane geheugengrootte van 134217728 bytes uitgeput ..." en duidelijk een veel groter probleem. Maar het heeft dezelfde oplossing als "Fatale fout: toegestane geheugengrootte van 8388608 bytes uitgeput ..." of "Fatale fout: toegestane geheugengrootte van 16777216 bytes uitgeput ..." of wat dan ook. Blijkbaar was de memory_limit standaard verhoogd van 8M naar 16M in PHP 5.2.0 en is nu 128M voor PHP 5.3.0, wat zou verklaren waarom je deze foutmelding helemaal niet krijgt.
U kunt de geheugenlimiet ook uitschakelen door memory_limit op -1 te zetten in PHP.ini.
memory_limit = -1
Dit is echter meestal geen goed idee om voor de hand liggende redenen.
Opmerking: u kunt ook de regel memory_limit gebruiken op de pagina .htaccess.
Onthoud goed, dit is slechts een tijdelijke oplossing. Echt, je PHP-script zou dat moeten doen niet groter zijn dan 8 MB, tenzij je bestanden uploadt of iets anders doet dat kennelijk veel geheugen gebruikt. Wat je eigenlijk zou moeten doen is proberen uit te zoeken waarom je script zoveel geheugen gebruikt en proberen het te repareren. Een manier om erachter te komen hoeveel geheugen je PHP-script gebruikt, is door de memory_get_usage () PHP-functie te gebruiken. U kunt het eenvoudig op elk punt in uw script herhalen om uit te zoeken waar uw geheugengebruik sterk is:
echo memory_get_usage ();
Als u deze foutmelding krijgt in Drupal of Joomla, is de waarschijnlijke dader een nieuwe module of pakket. In Drupal wordt bijvoorbeeld de pagina admin / modules geladen elk module in uw Drupal-installatie, die harig kan worden als een aangepaste module buggy, corrupt of gehackt is. Probeer modules een voor een uit te schakelen om te achterhalen wat het feest naar beneden brengt. Sommige hostingproviders zullen uw pogingen om de geheugenlimieten voor uw PHP-code te wijzigen, negeren, dus u moet mogelijk contact opnemen met uw hostingondersteuning om u te helpen. Ik heb gemerkt dat ik soms het php.ini-bestand moet bewerken en de code soms in het .htaccess-bestand moet plaatsen. Hoe dan ook, hopelijk is deze info hier voldoende om je op weg te helpen!