Skip to content

Kaikki WordPressistä, web-kehityksestä — ja paljon muuta

⚙️ Miten PHP:n muistirajaa nostetaan?

⚙️ Miten PHP:n muistirajaa nostetaan?

Kaatuiko sivustosi "valkoiseen kuolemanruutuun" lisäosan asennuksen jälkeen? Tai sylkikö WordPress pitkän merkkijonon, jossa luki "Allowed memory size exhausted"? Ennemmin tai myöhemmin jokainen WordPress-sivuston omistaja törmää PHP-muistirajaan. Kokemuksemme mukaan yhdeksän kymmenestä tällaisesta virheestä on korjattavissa viidessä minuutissa ilman kehittäjään turvautumista.

Ongelmana on, että hosting-palveluntarjoajat asettavat vaatimattoman oletusrajan: 32, 64 tai 128 megatavua. Paljaalle WordPress-asennukselle tämä riittää. Mutta heti kun asennat pari raskasta lisäosaa, kuten WooCommercen, sivunrakentajan tai SEO-paketin, muisti loppuu.

Alla on kaikki toimivat tavat nostaa rajaa, yksinkertaisimmasta palvelintason keinoihin. Valitse se tapa, joka sopii hosting-hallintapaneeliisi: kolme ensimmäistä toimivat kaikkialla, kun taas loput on tarkoitettu tietyille käyttöliittymille.

💡 Pikaopas:

  • Tarkista nykyinen muistirajasi: Sivuston kunto WordPress-hallintapaneelissa tai phpinfo()-tiedosto palvelimella
  • Nopein tapa nostaa rajaa on wp-config.php:n kautta: yksi define-rivi ja virhe on poissa
  • Jos palveluntarjoajasi estää wp-config.php:n muokkauksen, kokeile php.ini- tai .htaccess-tiedostoa
  • cPanelin, Pleskin, GoDaddyn, WHM:n ja XAMPPin käyttäjät löytävät erilliset ohjeet alempaa
  • Kun mikään ei toimi, ota yhteyttä palveluntarjoajaasi tai päivitä sopimustasi

Mikä on PHP-muistivirhe ja miksi se ilmenee

WordPress toimii PHP:llä. Ja PHP, kuten mikä tahansa palvelimella oleva ohjelma, saa käyttöjärjestelmältä rajoitetun määrän RAM-muistia pyyntöjen käsittelyyn. Palvelimen ylläpitäjä (tai hosting-palveluntarjoaja) asettaa tämän rajan PHP-asetuksiin memory_limit-parametrilla.

Kun WordPress-skripti yrittää käyttää enemmän muistia kuin sille on varattu, PHP keskeyttää suorituksen ja antaa kohtalokkaan virheen. Se näyttää suunnilleen tältä:

1Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home4/xxx/public_html/wp-includes/plugins.php on line xxx

Numero 33554432 on 32 megatavua tavuina. 32M on edelleen vakio-oletus halvoissa hosting-palveluissa, vaikka se on jo pitkään ollut riittämätön nykyaikaiselle WordPressille, jossa on pari lisäosaa. WordPress suosittelee virallisesti vähintään 256M:ää. Käytännössä suosittelemme asettamaan 256M heti CMS:n asennuksen jälkeen: se säästää paljolta harmilta.

Kuinka tarkistaa nykyinen PHP-muistirajasi

Ennen kuin muutat mitään, selvitä nykyinen rajasi. On kaksi yksinkertaista tapaa.

Sivuston kunnon työkalut

WordPress 5.2 ja uudemmat sisältävät sisäänrakennetun "Kuntotarkistuksen". Mene hallintapaneeliin: Työkalut → Sivuston kunto. Vaihda "Tiedot"-välilehdelle ja vieritä alas "Palvelin"-osioon. "PHP-muistiraja"-rivillä näet nykyisen arvon.

WordPress-sivuston kuntotyökalut

Tämä tapa toimii niin kauan kuin hallintapaneeli on käytettävissä. Jos sivusto on kaatunut täysin, siirry toiseen tapaan.

PHP-tiedosto phpinfo()-funktiolla

Luo palvelimelle tiedosto millä tahansa nimellä, esimerkiksi info.php, ja laita siihen yksi rivi:

1<?php phpinfo(); ?>

Lataa tiedosto sivuston juureen FTP:llä tai palveluntarjoajasi tiedostonhallinnan kautta. Avaa sitten selaimessa https://your-site.com/info.php. Etsi tulosteesta rivi memory_limit: sen perässä oleva luku on nykyinen PHP-muistiraja. Tarkistuksen jälkeen poista tiedosto palvelimelta: phpinfo():n jättäminen avoimeksi ei ole turvallista.

9 Tapaa nostaa PHP:n muistirajaa

Menetelmät on järjestetty yksinkertaisimmasta palvelintason ratkaisuihin. Kolme ensimmäistä toimivat millä tahansa hostingilla, jossa sinulla on pääsy sivuston tiedostoihin. Loput ovat tiettyjä hallintapaneeleja varten.

Menetelmä 1: wp-config.php (yleispätevä)

Luotettavin menetelmä, joka toimii millä tahansa hostingilla. wp-config.php-tiedosto sijaitsee WordPressin juurihakemistossa.

Avaa wp-config.php FTP:n tai cPanelin tiedostonhallinnan kautta. Etsi rivi:

1/* That's all, stop editing! Happy publishing. */

Välittömästi ENNEN tätä riviä lisää:

1define('WP_MEMORY_LIMIT', '256M');

Voit muuttaa numeroa: 256M riittää valtaosalle sivustoista, kun taas 512M on tarkoitettu erittäin raskaille kokoonpanoille, joissa on WooCommerce ja paljon lisäosia. Yli 512M:n meneminen on yleensä tarpeetonta: jos sekään ei riitä, ongelma on todennäköisesti tietyssä lisäosassa eikä rajassa.

Tallenna tiedosto, ja virheen pitäisi kadota heti sivun päivittämisen jälkeen. Palvelimen uudelleenkäynnistystä ei tarvita.

Huomaa, että jotkin halvat hostit estävät WP_MEMORY_LIMIT-ohituksen wp-config.php-tiedoston kautta palvelintasolla. Jos tämä menetelmä ei toimi, siirry seuraaviin.

Menetelmä 2: php.ini

php.ini-tiedosto hallitsee PHP-asetuksia palvelimella. Jos hostisi antaa sinulle pääsyn siihen, tämä on toiseksi luotettavin menetelmä.

Etsi php.ini sivuston juuresta tai wp-admin-kansiosta. Jaetulla hostingilla tiedostoa ei välttämättä ole, jolloin sinun on luotava se.

php.ini-tiedoston muokkaus palveluntarjoajan tiedostonhallinnassa

Jos tiedosto on jo olemassa: avaa se, etsi memory_limit-rivi ja muuta arvoksi 256M:

1memory_limit = 256M

Tallenna ja lataa sivusto uudelleen.

Jos tiedostoa ei ole: luo tekstitiedosto nimeltä php.ini, liitä yllä oleva rivi siihen ja lataa se sivuston juureen tai wp-admin-kansioon. Joillakin hosteilla juuressa oleva php.ini ohitetaan, joten sijoita se nimenomaan wp-admin-kansioon.

Tarkista tulos Sivuston kunto -työkalulla tai phpinfo()-sivulla.

Menetelmä 3:.htaccess

.htaccess-tiedosto on Apache-verkkopalvelimen asetustiedosto. Se sijaitsee sivuston juuressa. Oletuksena se on piilotettu: cPanelin tiedostonhallinnassa ota piilotiedostojen näyttäminen käyttöön; FileZillassa valitse Palvelin → Pakota piilotiedostojen näyttäminen.

.htaccess-tiedoston muokkaus tiedostonhallinnan kautta

Lataa .htaccess tietokoneellesi (muista ottaa varmuuskopio!), avaa se editorissa ja lisää rivi:

1php_value memory_limit 256M

Tallenna ja lataa takaisin palvelimelle korvaten alkuperäisen. Päivitä sivusto.

Tämä menetelmä toimii vain Apachen kanssa, kun mod_php on käytössä. Hosteilla, joissa on Nginx tai PHP-FPM, php_value-direktiivi ohitetaan. Tällaisissa tapauksissa käytä wp-config.php- tai php.ini-tiedostoa.

Menetelmä 4: cPanel

cPanel on yleisin hosting-hallintapaneeli. Siinä on kaksi tapaa muuttaa rajaa.

Vaihtoehto 1: siirry cPaneliin → Software-osio → Select PHP VersionGo to PHP Settings. Etsi luettelosta memory_limit ja aseta haluamasi arvo. Muutokset tulevat voimaan välittömästi.

Vaihtoehto 2: cPanel → SoftwareMultiPHP INI Editor. Valitse verkkotunnuksesi luettelosta, vieritä kohtaan memory_limit ja muuta numeroa. Tämä menetelmä on kätevämpi, jos tililläsi on useita sivustoja: jokaisella voi olla oma rajansa.

Menetelmä 5: Plesk

Plesk on suosittu vaihtoehto cPanelille, joka toimii sekä Windowsissa että Linuxissa.

Plesk-hallintapaneeli

Voit muuttaa rajaa tietylle sivustolle:

1Plesk → Domains → example.com → PHP Settings → memory_limit

Voit muuttaa rajaa yleisesti kaikille palvelimen sivustoille:

1Plesk → Tools & Settings → PHP Settings → PHP Handler → php.ini

Etsi memory_limit avautuneesta php.ini-tiedostosta ja aseta uusi arvo.

Menetelmä 6: GoDaddy

GoDaddy käyttää omaa lähestymistapaansa: standardin php.ini-tiedoston sijaan se käyttää tiedostoa nimeltä php5.ini.

GoDaddy-palveluntarjoajan tiedostonhallinta

Mene GoDaddyn hallintapaneeliin → File Manager. Juurihakemistosta etsi tai luo tiedosto php5.ini. Lisää siihen seuraava:

1memory_limit = 256M

Tallenna. Siirry sitten kohtaan Statistics & MonitorsSystem Processes → klikkaa End All. Tämä käynnistää PHP-prosessit uudelleen; ilman tätä vaihetta muutokset eivät välttämättä tule voimaan.

Tapa 7: WHM

WHM (Web Host Manager) on palvelinpaneeli, jota käytetään cPanel-tilien hallintaan. Jos sinulla on VPS tai dedikoitu palvelin, jossa on WHM, kirjaudu sisään ja etsi vasemmasta valikosta PHP Configuration Editor. Avautuvasta listasta etsi memory_limit ja aseta haluamasi arvo.

Tallennuksen jälkeen WHM päivittää php.ini-tiedoston automaattisesti kaikilla palvelimen tileillä.

Tapa 8: XAMPP (paikallinen palvelin)

Jos kehität sivustoa paikallisesti XAMPP:lla, rajaa muutetaan itse XAMPP:n asetuksista.

PHP-asetukset XAMPP-paikallispalvelimella

Avaa tiedosto C:\xampp\apache\bin\php.ini (Windows) tai /opt/lampp/etc/php.ini (Linux). Etsi memory_limit ja muuta arvoa. Tallenna ja käynnistä Apache uudelleen XAMPP:n ohjauspaneelin kautta.

Tapa 9: Ota yhteyttä palveluntarjoajaasi

Jos mikään yllä olevista tavoista ei toiminut, syynä ovat todennäköisesti palvelupakettisi rajoitukset. Halvoissa jaetuissa webhotelleissa palveluntarjoaja lukitsee memory_limit-arvon tiukasti palvelintasolla eikä anna asiakkaan muuttaa sitä millään näistä tiedostoista.

Kirjoita hotellisi tukeen ja kysy suoraan: "Mikä on PHP:n muistiraja palvelupaketissani ja voiko sitä nostaa?" Usein tuki nostaa rajaa pyynnöstä maksutta. Jos ei, vaihda palvelupakettia tai hotellia. Moderni WordPress-sivusto, jolla on 256M muistia, toimii vakaasti; kaikki sitä pienemmät arvot aiheuttavat virheitä sivuston kasvaessa.

WP_MEMORY_LIMIT ei mene voimaan: miksi ja mitä tehdä

Joskus määrittely lisätään wp-config.php-tiedostoon, mutta virhe jatkuu. Syitä on kolme:

  • Palveluntarjoaja estää ohituksen. Jaetussa webhotellissa palveluntarjoaja saattaa jättää WP_MEMORY_LIMIT-määrittelyn huomiotta php_admin_value-tasolla Apachen asetuksissa: palvelindirektiivi on tiukempi kuin PHP-tiedostossa oleva define. Ratkaisu: käytä php.ini- tai php5.ini-tiedostoa (kuten GoDaddy-tavassa) tai ota yhteyttä tukeen.

  • wp-config.php-tiedostoa on muokattu virheellisesti. Varmista, että define on lisätty ENNEN riviä /* That's all, stop editing! */ ja että koodin lainausmerkit ovat suorat, eivät "kaarevat" (tekstieditorit kuten Word korvaavat joskus '-merkit '- ja '-merkeillä). Koodin on oltava tarkalleen tämä:

1define('WP_MEMORY_LIMIT', '256M');
  • Ongelma ei ole muistirajassa. "Allowed memory size exhausted" -virhe peittää joskus alleen eri ongelman: lisäosa on joutunut ikuiseen silmukkaan tai yrittää käsitellä liikaa dataa. Poista kaikki lisäosat väliaikaisesti käytöstä /wp-admin/plugins.php-sivun kautta (jos hallintapaneeli on käytettävissä) tai nimeä /wp-content/plugins/-kansio uudelleen FTP:n kautta. Jos virhe katoaa, ota lisäosat käyttöön yksi kerrallaan löytääksesi syyllisen.

Video: kuinka nostaa PHP:n muistirajaa cPanelin kautta

Tämä lyhyt opasvideo näyttää prosessin cPanel-paneelin kautta kirjautumisesta asetusten tallentamiseen. Seuraa videon tekijän mukana ja virhe on poissa parissa minuutissa.

⁉️🤔 Usein kysytyt kysymykset

Mikä on optimaalinen PHP-muistiraja WordPressille?

WordPress suosittelee virallisesti vähintään 256M. Käytännössä: 128M riittää blogille, jossa on pari lisäosaa, WooCommercea ja sivunrakentajaa käyttävälle sivustolle aseta 256M, ja isolle verkkokaupalle tai multisitelle aseta 512M. Yli 512M:n meneminen ei ole lähes koskaan tarpeen: jos sivustosi ei pärjää gigatavulla muistia, etsi ongelmallinen lisäosa sen sijaan, että nostaisit rajaa.

Miten löydän muistirajan, jos WordPressin hallintapaneeliin ei pääse?

Luo tiedosto info.php, jossa on koodi <?php phpinfo(); ?>, siirrä se FTP:llä sivuston juureen ja avaa selaimessa. Etsi rivi memory_limit: se on nykyinen raja. Poista tiedosto tarkistuksen jälkeen.

Kumpi on parempi: php.ini:n vai wp-config.php:n muokkaaminen?

wp-config.php on yksinkertaisempi: sinulla on aina pääsy siihen, muokkaat yhtä tiedostoa, eikä se riipu palveluntarjoajasta. php.ini tarvitaan, kun palveluntarjoaja estää määrittelyn wp-config.php:ssa tai kun rajaa on nostettava kaikille palvelimen PHP-skripteille, ei vain WordPressille.

Miksi sivusto kaatui 500-virheeseen.htaccess-tiedoston muokkaamisen jälkeen?

Todennäköisesti palvelimesi ei käytä Apachea mod_php:llä vaan Nginxiä PHP-FPM:llä. php_value-direktiivi.htaccessissa toimii vain Apachella; muilla palvelimilla se aiheuttaa vakavan virheen. Poista lisätty rivi.htaccessista ja käytä wp-config.php:ta tai php.ini:ä.

Voinko nostaa muistirajaa ilmaisessa hostingissa?

Lähes koskaan. Ilmaiset palveluntarjoajat lukitsevat rajan tiukasti minimiarvoihin (yleensä 32M tai 64M) eivätkä salli muutoksia. Tällainen raja on käyttökelvoton WordPressille. Vaihda maksulliseen hostingiin: jopa halvin muutaman dollarin kuukausipaketti tarjoaa 256M.

Mitä teen, jos sivusto kaatuu edelleen muistivirheeseen rajan noston jälkeen?

Suorita diagnostiikka: poista kaikki lisäosat kerralla käytöstä (nimeä /wp-content/plugins/-kansio uudelleen). Jos virhe häviää, ota lisäosat käyttöön yksi kerrallaan ja seuraa, mikä niistä saa virheen palaamaan. Todennäköisesti tietty lisäosa sisältää muistivuodon tai optimoimatonta koodia. Korvaa se vaihtoehdolla tai ota yhteyttä kehittäjään.

Lopullinen erittely: mitä valita tilanteeseesi

Menetelmä riippuu siitä, mihin sinulla on pääsy:

  • Sinulla on FTP tai tiedostonhallinta: aloita wp-config.php:sta (menetelmä 1). Tämä toimii useimmilla palveluntarjoajilla ja vie minuutin.
  • Menetelmä 1 ei toiminut: kokeile php.ini:ä (menetelmä 2), sitten .htaccessia (menetelmä 3). Yksi näistä kolmesta lähes varmasti toimii.
  • Käytät cPanelia, Pleskiä, GoDaddya tai WHM:ää: käytä vastaavaa menetelmää (4-7). Rajan muuttaminen hallintapaneelin kautta on kätevämpää kuin tiedostojen kaivelu.
  • Kehität paikallisesti XAMPPilla: menetelmä 8, php.ini:n muokkaaminen Apache-kansiossa.
  • Mikään ei toiminut: kirjoita palveluntarjoajallesi. Jos tuki kieltäytyy nostamasta rajaa, harkitse paketin tai hostingin vaihtamista: 256M vuonna 2026 on perustarve WordPressille, ei ylellisyys.

Jos virhe jatkuu kaikkien muokkausten jälkeen, lue erittelymme WordPressin HTTP-virheestä: yksi sen syistä liittyy myös PHP-muistiin. Ja jos törmäsit syöttömuuttujien rajaan, tässä on kolme tapaa nostaa max_input_vars-arvoa.