Ha egy ilyen WordPress hibaüzenetet kapsz, ami a következő: „Az engedélyezett memóriaméret elfogyott – “Fatal error: Allowed memory size of xxxxxxxxxxxxx bytes exhausted”?, akkor olvass tovább, remélhetőleg találsz majd megoldást. A lent említett megoldások a WordPress problémáját fogják csak megoldani, más PHP scriptek problémáját nem.
Ez a hiba az egyik legbosszantóbb WordPress hiba és elég sűrűn előfordul. Bár a WordPress memóriakorlátját egyszerűen, néhány lépéssel növelheted, de csak addig, amíg a tárhelyszolgáltató engedi.
Ez a cikk egy WordPress leírás lesz, ami a végzetes hibák kezelésére próbál megoldást találni. Biztos lehetsz benne, hogy ez mindenkivel megtörténik minimum egyszer az életben, de tapasztalatom szerint inkább többször is.
Ebben a cikkben bemutatjuk, hogyan növelheted a WordPress PHP memóriakorlátját, akkor ha elfogy a memória, vagy nem tudsz megfelelő méretű fájlt feltölteni.
Tartalomjegyzék
Mi az a memória?
A számítógépek és a szerverek vizsgálata során három összetevőt kell mindig megvizsgálni. Az egyik a memória, a processzor és a háttértároló kapacitása, mérete. A memóriában tárolódnak a futtatott programok, itt tárolja megfelelő méretű fiókokban az adatokat, amit vagy kiszámított adatok, vagy a háttértárolóról lettek beolvasva. Az adatokat a háttérben futó programok töltik be a memóriába. Ezeket az értékeket dolgozza fel a processzor, ahol rajtuk műveleteket és a számításokat végez.
A WordPress programjai is a háttértárolón tárolódnak.
Mennyi memóriára van szüksége a WordPress-nek?
A WordPress memóriaigénye számos tényezőtől függ, és nincs egyetlen általánosan érvényes válasz erre a kérdésre, mivel minden webhely más és más igényekkel rendelkezik. A memóriakövetelményt befolyásoló fontos tényezők közé tartozik:
- Webhely mérete és összetettsége: Nagyobb és összetettebb webhelyek több memóriát igényelnek, mivel több adatot és erőforrást kell kezelniük.
- Használt bővítmények és sablonok: Néhány bővítmény és sablon igényelhet több memóriát, különösen, ha ezek erőforrásigényes funkciókat kínálnak.
- Látogatók száma és forgalom: A webhely látogatóinak száma és a generált forgalom is befolyásolhatja a memóriakövetelményt. Nagyobb forgalom esetén több memória szükséges a sima működéshez.
A WordPress minimális memóriaigénye 64 MB, ami lehetővé teszi a rendszer alapvető működését. Azonban az ajánlott minimum, amit a tárhelyszolgáltatók és a WordPress fejlesztői is javasolnak az optimális teljesítmény eléréséhez, 256 MB vagy még magasabb érték.
Ha kis vagy közepes méretű, egyszerű funkcionalitású webhelyet üzemeltetsz, akkor a 256 MB memória általában elegendő lesz. Azonban, ha nagyobb, összetettebb webhelyet működtetsz, vagy magas forgalommal rendelkezel, lehet, hogy több memóriára lesz szükséged a hatékony működéshez.
A konkrét memóriamennyiség meghatározása érdekében érdemes figyelemmel kísérni a webhelyed memóriahasználatát a tárhelyszolgáltató által biztosított eszközök vagy a WordPress adminisztrációs felületén található beépülő modulok segítségével. Ezek segíthetnek azonosítani, hogy mennyi memória áll rendelkezésre, és szükség van-e több erőforrás kiosztására.
Fontos megjegyezni, hogy a tárhelyszolgáltatótól is függ, hogy milyen memóriakorlátokat állítanak be a tárhelycsomagokhoz. Ha úgy érzed, hogy a jelenlegi memóriamennyiség nem elegendő a webhelyed hatékony működéséhez, érdemes lehet konzultálni a tárhelyszolgáltatóval, hogy módosítsák a memóriakorlátot, vagy fontolóra vegyél magasabb teljesítményű tárhelymegoldásokat.
Melyik az a hiba, ami WordPressben a memória elfogyott hibaüzenetet adja?
A WordPress PHP programozási nyelvet használ, ami egy szerveroldali programozási nyelv. A PHP megfelelő működéséhez egy jó tárhelyszolgáltatóra van szükséged.
A webszerverek ugyanúgy működnek, mint bármely más számítógép, memóriára van szükségük több alkalmazás egyidejű és hatékony futtatásához. Az operációs rendszer a WordPressnek különböző programok futtatásához eltérő mennyiségű memóriát osztanak ki.
Amikor a WordPress fut, bizonyos mennyiségű memóriára (RAM-ra) van szüksége, attól függően, hogy milyen feladatokat lát el. Például, más és más mennyiségű memóriára lehet szükség a témák és bővítmények feldolgozásához, illetve a PHP-szkriptek végrehajtásához. Alapértelmezetten a WordPress korlátozza a felhasználható memória mennyiségét. Amikor valamelyik folyamat több memóriát akar lefoglalni, mint amennyi megengedett, akkor jelentkezik ez a hiba, hogy a memória elfogyott, mert már nem tud több memóriát lefoglalni a tárban. Ilyenkor a futás hibával megáll, és megjelenik a következő hibaüzenet: “Memory Exhausted Error.”
Példa a hibaüzenetre:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 2348617 bytes) in /home/xxx/public_html/xxxxx/xxxxxxxx.php on line xxx
vagy
Fatal error: Allowed memory size of 41943040 bytes exhausted fatal error allowed memory size WordPress
Ez a hibaüzenet akkor jelenik meg, ha a WordPress programjának több memóriára van szüksége, mint az alapértelmezetten lefoglalt memória mérete.
Mit jelent az „Allowed memory size of bytes exhausted” a WordPressben?
Az „Allowed memory size of bytes exhausted” hibaüzenet a WordPressben azt jelenti, hogy a WordPress webhely meghaladta a számára kijelölt memóriakorlátot.
Minden WordPress webhelynek van egy előre meghatározott memóriakorlátja, amely a PHP szkriptek futtatásához használható memória mennyiségét jelenti.
Ha egy szkript, bővítmény vagy sablon több memóriát próbál lefoglalni, mint amennyit a korlát engedélyez, akkor ez a hibaüzenet jelenik meg. A hibaüzenet általában tartalmazza az elfogyott memória méretét is.
A hibaüzenet például így néz ki:
“Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 2348617 bytes) in /home/xxx/public_html/xxxxx/xxxxxxxx.php on line xxx”
Ez a hibaüzenet arra utal, hogy a WordPress webhelynek túl sok memóriára van szüksége, és a megengedett memóriakorlátot túllépte, ami miatt a szkript nem tud tovább futni, és a webhely hibával leáll. A megoldáshoz általában szükség van a memóriakorlát növelésére a PHP beállításaiban vagy a kódban, vagy az adott szkript, bővítmény, vagy sablon optimalizálására, hogy kevesebb memóriát használjon fel.
Mit jelent a WordPress PHP memóriakorlát?
A PHP egy szerveroldali programozási nyelv, amely részben létrehozza a böngészőben megjelenő HTML-oldalakat, de emellett sokoldalú, dinamikus programozási nyelv is, amely képes feldolgozni a WordPress lekérdezéseket, számításokat és még sok minden mást is. Ehhez azonban futás közben elég sok memóriára van szüksége.
A WordPress alapértelmezett memóriakorlátja 32 MB, de ez a fent említett okok miatt nem árt emelni legalább 256M-ra. A WooCommerce javaslata pedig alapértelmezettként 64 MB, de épp a webáruházak rendelkeznek a legtöbb bővítménnyel, mivel különböző szolgáltatások kérései igénylik a legtöbb memóriát.
A következő WordPress plugin telepítése után az admin felület alsó sorában meg tudjuk nézni, hogy a rendszerünk hogyan van beállítva, hogy a tárhelyszolgáltató, vagy mi milyen memóriakorlátot állítottunk be. Ezen kívül megmutatja az aktuális memóriahasználatot, a Server IP-címünket és az aktuálisan beállított PHP verziót.
A média tárnál viszont megnézheted, hogy a WordPress-ben mennyi a feltölthető fájl méret korlátja. Ez azt jelenti, hogy fájl méret korlátnál nagyobb fájlokat a WordPress nem enged feltölteni, mert különben a program futása hibával leállna. A fájl méretet könnyű ellenőrizni, mert amennyi a fájl mérete, annyi memóriát használ feltöltéskor.
Miután ellenőrizted, mennyi a betöltés után a memória foglaltsága vagy ha memória hiba keletkezett, érdemes minden állítás előtt előbb a bővítményeket kikapcsolni és a feltelepített program segítségével megnézni, melyik használja el a memóriát.
Azt már tudjuk, hogy a több funkciós bővítmények nagyon sok memóriát használnak, például az Elementor kiegészítő bővítményei is. Ezeket kapcsoljuk ki először.
Miért igényel több memóriát a WordPress?
A WordPress memóriakorlátjának növelése előtt neked azt javaslom, hogy először próbálj meg kitalálni, mi foglalja le az eddig beállított memóriát. Mindenképpen érdemes megnézned a telepített bővítményeket, mert azok használhatnak sok memóriát, és sokkal egyszerűbb a bővítményeket kikapcsolni, mint több erőforrást vásárolni a tárhelyszolgáltatótól. Gyakran előfordul, hogy a telepített sablon szerkesztők, például az Enfold, Elementor vagy Divi, nagy mennyiségű memóriát használnak.
Ugyanakkor ezeket sok felhasználó könnyedén tudja kezelni, ezért telepítik a weboldal készítők, mivel lerövidítik a fejlesztési időt, egyszerű a használatuk, és könnyű vele összerakni az oldalakat. Az új WordPress arra törekszik, hogy már maga legyen a sablon szerkesztő, így nem lesz szükség külső sablonszerkesztő bővítményekre.
A WordPress memóriahiánya lomhává és rossz felhasználói élménnyé változtathatja a rendszert. De a megoldáshoz először meg kell határoznod a probléma gyökerét, mely segíthet számos probléma megoldásában.
A WordPress webhelyek mindössze 4,4%-a használja a PHP legújabb verzióját, míg 64%-uk még mindig a régebbi verziót alkalmazza, ami már nem kap aktív frissítéseket.
Ha frissíted a tárhelyszerveren futó PHP-t a legújabb verzióra, előfordulhat, hogy a WordPress hatékonyabbá válik, és nincs szükség a WordPress memóriakapacitásának növelésére.
Ne feledd: Mielőtt megemelnéd a WP memóriakorlátot, nézd meg, hogy van-e olyan beállítás vagy bővítmény, ami miatt nem fog kelleni a memóriakorlátot módosítani.
Mi a maximális feltöltési korlát a WordPressben?
A WordPress maximális feltöltési korlátja a legnagyobb fájlméretre vonatkozik, amit a WordPress képes feltölteni. A WordPress maximális feltöltési kapacitása a médiakönyvtár feltöltési képernyőjén található, lásd a képen fent, amit már megmutattam.
Az alacsony feltöltési méretkorlát javítja a hatékonyságot és az oldal sebességét, mert így a felhasználó nem tud olyan nagyméretű képeket feltölteni, amelyek lelassítanák az oldal futását. Azonban, ha szeretnénk videókat is tárolni a szerveren, akkor a korlát miatt nem fogjuk tudni azokat feltölteni. Ezért döntenünk kell, hogy mire van szükségünk. Ha növeljük a feltöltött fájl méretét, akkor nagy méretű képeket is feltölthetünk, de ha nem, akkor nem tudunk nagyméretű videókat feltölteni.
Érdemes átgondolni, hogy biztosan szükség van-e a feltöltési fájl méretét állítani.
Hogyan lehet növelni a PHP memóriakorlátot és a maximális feltöltési korlátot a WordPress-ben:
Három lehetőség közül választhatunk a WordPressben a memória elfogyott hibaüzenet megoldására, valamint a memóriakapacitás és a feltöltési korlát növelésére.
Mielőtt a módosításhoz hozzáfognál, mindig készíts új biztonsági másolatot a webhely fájljairól és adatbázisáról, hogy ha valamilyen hiba történik, a webhelyet a javítás előtti állapotra tudjad visszaállítani.
Most pedig kezdjük el!
Első megoldás: Szerkesszük a wp-config.php fájlt
A wp-config.php fájl alapvető konfigurációs információkat tartalmaz a WordPressben, és ezt soha nem frissíti a WordPress, ezért ide be tudjuk írni a konfigurációs változóinkat. Ez a fájl a WordPress fájlrendszer gyökérkönyvtárában található.
Mielőtt beleírnánk a következő utasítást a fájlba, előtte keressünk rá, hogy nincs-e már benne a programban valahol a WP_MEMORY_LIMIT utasítás.
Ha nincs, írjuk be a fájl elején található <?php
-t követő sorokba a define('WP_MEMORY_LIMIT','128M');
utasítást.
Ha a memóriánk a WordPressben minimális értékű:
define(‘WP_MEMORY_LIMIT’,’64M’);
Módosítsuk az értéket magasabb értékre, például „128M”/„256M”/”512M”/1G stb. Mentsd el a fájlt, és ellenőrizd, hogy a hiba megoldódott-e. Vedd figyelembe, hogy egyes tárhelyszolgáltatók korlátozhatják a lefoglalható maximális memóriát, így előfordulhat, hogy nem tudod tetszőlegesen magas értékre állítani.
define(‘WP_MEMORY_LIMIT’,’128M’);
Ha azonban továbbra is végzetes hibát észlelsz, előfordulhat, hogy ismét növelnie kell az értéket. De ne állíts be többet, mint ami a kiosztott valós memória, mert különben a szervernél okozhat ez majd problémát. Ha a megnövelt memória sem segített és a memória hibát nem sikerült javítani, kérj segítséget a tárhelyszolgáltatódtól, vagy a weboldaladat karbantartó webesedtől, vagy webfejlesztődtől.
Második megoldás: Szerkeszd a PHP.ini fájlt
Ha megosztott tárhelyet használsz, valószínűleg nem fogsz tudni hozzáférni a PHP.ini fájlhoz. Ha a szolgáltató engedélyezi a PHP.ini módosítását, akkor a gyökérmappában találhatod meg a fájlt, de a fájl elhelyezkedése a gazdagéptől függően változhat. A legtöbbször a WordPress telepített könyvtárában létre lehet hozni egy PHP.ini fájlt.
Tehát a következőket kell tenned:
- Keresd meg a php.ini fájlt. Ha nem találod, egyszerűen készítsd el a php.ini fájlt és mentse el a WordPress telepítési gyökérkönyvtárába.
- Használd a kedvenc szerkesztődet a php.ini fájl megnyitásához és szerkesztéséhez.
- Keresd meg a „memory_limit” sort.
- Módosítsd az aktuálisan beírt memória méretet, például a 32M vagy más számot, az új kívánt mértékre (pl. 256M vagy 512M).
- A módosítások mentése után indítsd újra a böngészőben a weboldaladat.
Megjegyzés: Ha mi készítjük el a saját php.ini fájlunkat, akkor hozzá kell adnunk a következő sort:
memory_limit = 256M (vagy 512M)
Ebben a fájlban lesz megtalálható a ‘memory_limit’ – memóriakorlát, az ‘upload_max_filesize’ – feltölthető maximális fájlméret és a ‘post_max_size’ – ez az utóbbi az űrlapoknál érdekes, hogy át tudjon adni kellő mennyiségű adatot az űrlapról (form-ból) a szervernek.
Ha ellenőrizni szeretnéd, hogy jól állítottad be az értékeket, töröld a böngésző cookie-jait, utána ellenőrizd, hogy eltűnt-e a hiba.
Harmadik megoldás: Szerkeszd a .htaccess fájlt
Ha nincs hozzáférésed a PHP.ini fájlhoz, végső esetben módosítania lehet a .htaccess fájlt. Mivel ez egy titkos fájl, ezért a .htaccess fájl ‘.’-al kezdődik. Ellenőrizd, hogy az SFTP fájlkezelő nem rejti-e el ezeket a fájlokat, ha elrejti, akkor ezt a WordPress gyökérkönyvtárában nem fogjuk látni.
Íme a részletek, amelyeket hozzá kell adnia a .htaccess fájlhoz a WordPress memóriakorlátjának növeléséhez:
php_value memory_limit 256M
php_value upload_max_filesize 12M
php_value post_max_size 13M
Ha még nincs beállítva, növeld a PHP memória kapacitását. A következő kóddal növelheted a PHP memóriakorlátját:
ini_set(‘memory_limit’, ‘512M’);
Összegzés
A fent említett példák és állítások sikeressége nagymértékben függ a tárhelyszolgáltató beállításaitól. Sok esetben ezeknek az állíthatóságát korlátozzák. Nagyon fontos ezért a megbízható tárhelyszolgáltató megtalálása. Sokszor jobbak a külföldi szerverek, gyorsabbak és több memóriát adnak, de ugyanilyen fontos, hogy megbízható pluginokat telepítsünk a webhelyünkre.