Kuinka ratkaista PHP-kuolemaan johtava virhe: Sallitun muistin koko 8388608 tavua on käytetty loppuun


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

Tämä asettaa pikemminkin muistirajaksi 16 Mtkuin 8 Mt. Voit ja pidä viilata tällä numerolla niin, että se on mahdollisimman pieni toistamatta virheviestiä. Tämä muuttaa vain kyseisen PHP-tiedoston muistirajaa.
Vaihtoehtoisesti voit muuttaa php.ini -tiedostosi siten, että muisti rajoittuu. Tämä vaikuttaa kaikkiin palvelimen skripteihin. Avaa vain php.ini ja etsi rivi, joka lukee ”memory_limit”, ja muuta sitä:
memory_limit = 16M

Olen huomannut omassa PHP: ssä.ini-tiedosto, jonka oletusarvo on paljon suurempi 128 miljoonalla. Joten, jos saisin tämän virheilmoituksen, se lukee: "Fataali virhe: Sallitun muistin koko 134217728 tavua on käytetty loppuun" ja on tietenkin paljon suurempi ongelma. Mutta sillä on sama kiertotapa kuin "Fatal error: Sallitun muistin koko 8388608 tavua on käytetty loppuun" tai "Fatal error: Sallitun muistin koko 16777216 tavua on käytetty loppuun" tai mikä tahansa muu. Ilmeisesti muistin_raja-oletus on ylitetty 8 miljoonasta 16 miljoonaan PHP 5.2.0: ssa ja on nyt 128 miljoonaa PHP 5.3.0: ssa, mikä selittää miksi et ehkä saa tätä virheilmoitusta ollenkaan.
Voit myös poistaa muistitilan käytöstä asettamalla muistirajaksi –1 PHP.ini: ssä.
memory_limit = -1
Tämä ei kuitenkaan ole yleensä hyvä idea ilmeisistä syistä.
Huomaa: Voit myös käyttää memory_limit-riviä .htaccess-sivullasi.
Muista, tämä on vain kiertotapa. Todellakin, PHP-skriptisi pitäisi ei oltava yli 8 Mt, ellet lataa tiedostoja taitekemällä jotain muuta, joka vie selvästi paljon muistin käyttöä. Sinun pitäisi todella yrittää selvittää, miksi skriptisi käyttää niin paljon muistia, ja yrittää korjata se. Yksi tapa selvittää, kuinka paljon muistia PHP-skripti käyttää, on käyttää memory_get_usage () PHP-toimintoa. Kaikua se missä tahansa komentosarjan vaiheessa saadaksesi selville, missä muistin käyttö on kasvussa:
echo memory_get_usage ();
Jos saat tämän virhesanoman Drupalissa tai Joomlassa, todennäköinen syyllinen on uusi moduuli tai paketti. Esimerkiksi Drupalissa admin / moduulit-sivu latautuu joka moduuli Drupal-asennuksessa, joka voi saadakarvainen, jos mukautettu moduuli on viallinen, vioittunut tai hakkeroitu. Yritä poistaa moduulit käytöstä yksitellen tunnistaaksesi mikä johtaa puolueen. Jotkin isännöintipalveluntarjoajat eivät myöskään huomioi yrityksiäsi muuttaa PHP-koodisi muistirajoja, joten sinun on ehkä otettava yhteyttä isäntätukeen auttaaksesi sinua. Olen toisinaan joutunut muokkaamaan php.ini-tiedostoa ja joskus laittamaan koodin .htaccess-tiedostoon. Joko niin, toivottavasti tämä tieto täällä riittää saat sinut matkallesi!
Jätä kommentti