joomla: "Fatal error: Allowed memory size"

 ( bzs | 2013. július 29., hétfő - 17:22 )

Sziasztok.

Jelentkezett a félévenkénti joomla-anomália, amolyan véletlenszerű jelleggel, ahogy szokott.
Lassan hozzászokom.

A gantry-framework állandó frissítést igényel, jelenleg még a joomla is a legújabb. Azonban itt egy alattomos hibaüzenet, melynek okát még nem fogtam fel:

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 8192 bytes) in /home/a9920390/public_html/libraries/gantry/features/inactive.php on line 1

Ugyanilyen hibák jelentkeztek, amikor az eventlist modul még működött (kiiktatása után megszűnt a hibaüzenet)

A kritikus oldal egy egyesületi honlap tartalékmásolatán van jelenleg:
http://kajaksziget.net46.net

Ha valakinek a joomla ilyen üzeneteiben tapasztalata van, köszönettel fogadom javaslatait.

(a template fizetős, rendesen megvettem annak idején, még mielőtt valaki megkérdezné)

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Nini, most ilyet ír ki:

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 7680 bytes) in /home/a9920390/public_html/libraries/gantry/features/smartload.php on line 24

Néha megváltozik a php neve...
Döbbenetes...

-------------
A Bővítménykezelő "figyelmeztetések" rovata ezt írja:

"A maximális POST méret állítja be az adatok legtöbb értékét, mely POST metóduson keresztül küldhető a kiszolgálónak. Ez a cikkek űrlapbeküldéseit, a médiafájlokat (képek, videók) és a bővítményeket foglalja magában. Ez az érték kisebb 2 MB-nál, aminek nagy bővítmények feltöltésére lehet hatása. Ez a php.ini fájlban a post_max_size alatt van megadva."

Igen ám, de ez az ini file hol van?
Lehet, hogy ez a fő hibaforrás?

---
--- A gond akkor van, ha látszólag minden működik. ---
---

A szolgáltatód 64MB memóriát engedélyez, ezt lépi túl az oldal generálás közben. Valószínűleg ezt te nem tudod állítani.

Egen.

És amikor betöltődik a nagy teljesítményű fizetős template, vagy admin részen törölni akarom a gyorsítótárát, akkor jelentkezik ez.

Mert ha mondjuk a template admin részét akarom piszkálni, egyből ugyanaz a helyzet:

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 86 bytes) in /home/a9920390/public_html/libraries/gantry/core/config/gantryformhelper.class.php on line 100

...a gantry framework.

A kérdés ezek után az, hogy egy másik honlap, amely ettől teljesen független, miért javult meg magától?

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Futtasd le ezt a kódot:

<?php
for ($i=1; $i<64; $i++) {
$a = str_repeat("0", $i * 1024 * 1024);
echo memory_get_usage()."";
unset($a);
}
?>

""?

oda egy sortörés került volna, csak kiszedődött :)

másik kérdés hogy ez a kód mire jó? :)

Memóriát foglal, mindig i*1024*1024 byte-ot.
Ezt kell adnia eredménynek: http://pastebin.com/E6MJvgwz

namégegyszer: szóval mi a célja a kódnak? azt tudom mit csinál :)

Ha nem ez lesz az eredménye, vagy hibába fut akkor a szervergépben nincs elég ram és nem is tud felszabadítani!

49692216507407925178936852837944538865205493509655983672570322485808082459129400601779766122655262275128PHP Error Message

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 14680065 bytes) in /home/a9920390/public_html/pdf/hullajumla.php on line 3

Lefutott.
Gondolom ez egy nagy valamit generáló kis valami

a line 3 ez:
$a = str_repeat("0", $i * 1024 * 1024);

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Javítsd már át erre, mert a fórum motor kicsit megnyírbálta: http://pastebin.com/R7BGFzB6

Kitörölném azt a sort, amit tuajdonképpen feleslegesen írtam oda, de nem tudom, mert nincs szerkesztés linkem rá.. etűnt..
Tudom már, valami pre taggal kellett volna, nem figyeltem.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Felraktam egy másik gantry alapú templétet, átváltottam rá, főoldal most így fest:

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 30720 bytes) in /home/a9920390/public_html/libraries/gantry/core/utilities/gantrylesscompiler.class.php on line 255

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Elképesztő hír:
magjavult az oldal, miközben az égvilágon semmit sem csináltam, csupán feltelepítettem egy új fizetős templétet és átváltottam rá.

Kérdésem:
előfordulhat, hogy egyes tárhelyeken a nagy memóriaigényű templétek működésekor várólista van?
Mint a kórházakban..
Buta kérdés, de ennyire nem értek hozzá, nézzétek el neke, haa a hajatokat tépitek a kérdéstől

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Nos, azóta megy az oldal, mintha semmi sem történt volna. A korábban nem működőnek vélt eventlist modul is jó.

De csakazér' sem zárom le magamban a témát, mert a hibajelenség kiváltó oka homályos előttem, főleg az, hogyan oldódott meg magától.

Az életben egyéb dolog miért nem oldódik meg magától?

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Megint jelentkezett a hiba.
Gyakorlatilag ismét semmit sem csináltam.

Amint a jumla frissített verziója megjelenik, ezzel indul a főoldal:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 7680 bytes) in /home/a9920390/public_html/libraries/gantry/core/gantry.class.php on line 1898

Ha backenden frissíteni akarom a jumlát és a többi modult, ez jelenik meg:

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 3588460 bytes) in /home/a9920390/public_html/administrator/components/com_joomlaupdate/helpers/download.php on line 195

Szóval az eddigiek alapján várnom kell néhány hetet és megjavul magától?
Van egy ideiglenes weboldalam valahol, ott szoktam kísérletezni. Ott nem javul meg magától semmi...

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Szerintem, -pár év Joomla használattal a hátam mögött- az alábbi az optimális teendő lista:

1. Tarts egy fejlesztőt aki megoldja a joomla lelki bajait. Órabérben sokan vállalnak ilyet. Persze jó fejlesztőt találni nem könnyű. (Default mind azt gondolja magáról) Meg olyat se, aki hajlandó joomla-hoz hozzáérni. A kettő együtt meg ritkaság.
2. Kezd el specifikálni az oldalt és beszéld meg a fejlesztővel, hogy mennyi idő alatt tudja előállítani az igényeid szerinti megoldást, ami nem fog random orálszexre kényszeríteni.

Hmm. Ezzel hogyan képezem magam (szintén pár év jumla-használat után)?

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Most komolyan, te próbáltad valaha értelmezni azt a hibaüzenetet?


// Happy debugging, suckers
#define true (rand() > 10)

Igen.
Még kutatgattam is utána, vajon járt-e más is így. De érdemben eddig csak arra jutottam, hogy mindenki csak kritizál. Ez megindító.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Szolj a rendszergazdának, hogy emelje meg a php memory limit-et, mert 64mb édes kevés egy normális oldal futásához (ez nem csak a joomla hibája, annak ellenére hogy ilyen téren egy kupac kaki, mert nem igazán az optimalizációról híres, hanem inkább a php hibája). Ha 64 bites verziót használ, fordítson/szedjen 32 biteset és használja azt.


// Happy debugging, suckers
#define true (rand() > 10)

Köszönöm.
Fentebb már mondták ugyanezt, és beláttam, hogy így lehet. Csak azóta megjavult, így megint nem törődtem vele. De most megint törődöm vele.

Különben ennél van a tárhely:
http://www.000webhost.com/features

Holnap megkérdezem őket, mert már röstellem a dolgot, hogy itt is le vagyok teremtve.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

A problémát jó esélyel az okozza, hogy a joomla szarul van megírva (a com_joomlaupdate). Mikor megjelenik egy frissítés, ő letölti és berántja memóriába (~30mb memóriát akart allokálni). Ha ki tudod kapcsolni és tudod kézzel frissíteni, akkor tedd azt és jó esélyel nem fogsz vele találkozni:)


// Happy debugging, suckers
#define true (rand() > 10)

Fejlődés:
észrevettem, hogy van ilyen is, amikor valaki felhúz egy joomlát:

Disable Update Notifications
If checked you will not receive an email notification for updates available for this installation.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Na Nehogy mar... Van egy webshopunk, egy combosabb termekkategorianal sem lep tul 18-20 mega ramon, szurostul, promociostul, mindenestül. Es nem csak annyi, h kirak egy táblázatot, oszt' csókolom...

---------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Persze, nem lehetetlen, csak az OOP faj a php-ban. Ha kerulod, nincs baj:)


// Happy debugging, suckers
#define true (rand() > 10)

Ebben is van bőven OOP meg objektumok ezer szamra. (Termekkategóriánál összeállítja az adatot a kliensnek cakkumpakk, minden rendezés, szűrés, stb. utána kliens oldalon történik már.)

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™