Kedves drupal közösség!
Láttam már több helyen is kérdezték a http 500-as hibát, de én most általánosságban seretnék erről érdeklődni.
Készítek egy oldalt Drupal 7 alatt, sajátgépen. Minden tökéletesen működik ott. Tegnap feltelepítettem éles szerverre, látszólag minden rendben van ott is. Azonban, mikor egy hosszabb időtartamot igénybevevő műveletet végzek az éles oldalon, (mint például a fórum bekapcsolása), akkor egy ideig dolgozik az oldal, majd egy idő után ezt a hibaüzenetet dobja ki. Sajátgépen szépen lefut. Éles oldalon ugye ilyenkor 2 opció jelenik meg. Frissítem az oldalt, vagy visszalépek az előző oldalra. Oldalfrissítést választva, azt mutatja, hogy a fórum modul be lett kapcsolva. Azonban se a menüben, se a tartalomtípusnál nem jelenik meg, tehát nem kapcsol be. Nem csak a fórum modulra igaz, hanem bármi ami sokáig tart. Pl. a gyorsítótár törlésénél is előjött ez. Majd másodszorra rákattintva már lefutott ez.
Kérdésem az, hogy lehet a hiba oka a futási idő korlátozása a szerveren? Én azt tudom állítani, vagy a szolgáltatónak kell írni? (addig nem akartam nekik írni, amíg nem tudom, hogy ez-e a megoldás)
Ha modul be/vagy kikapcsolásakor jön elő ez a hiba, akkor mi a teendő? Félig ugye engedélyezve lesz, gondolom adatbázisban is változik valami, de csak félig teljesül...
Utolsó kérdés pedig az, hogy ha a lokális gépemen nem telepítek semmi modult, csak bekapcsolom a fórumot, vagy más beállítást végzek el, akkor az éles oldalra elég csak az adatbázis újra feltölteni, vagy a fájlokat is fel kell?
Bocsánat ha sok kérdés lett, de ezek összefüggenek, és előjöttek.
Üdvözlettel:
Roland
pl. memóriakorlátok
"Általánosságban" nehéz megemlíteni a lehetséges problémákat, mert abból nagyon sokféle lehet, de nagyon tipikus hiba a memóriakorlátokba ütközés. Korábban nálam egy költöztetés oldotta meg csak a dolgot, mert a 128 MB memóriából sajnos komplexebb feladatok elvégzésekor nagyon sokszor kifutottam. A mostani tárhelyemen 256 MB memória elérhető. Hát igen, ez van, a Drupal tudja azért zabálni a memóriát rendesen, de mivel igen komplex (na meg mivel sok modul igen brutálisan pazarolja az erőforrásokat, mert igénytelenek az alkotói; erre nekem elég jó példa sajnos a Field group modul (mintha nem ismernék az adatbázisokkal kapcsolatos normalizálási alapelveket), bár mostanság lehet, hogy valamit szépítettek rajta, nem tudom), ezért annyira nem is meglepő.
Memóriakorlát
Memóriakorlátra már rákérdeztem a szolgáltatónál, és nem lehet növelni. 64M a max. Plusz pénzért lehet prémium szolgáltatást venni, ott lehet állítani a memória méretét. (prémium szolgáltatásért kapok több lehetőséget is, amire viszont nincs szükségem)
Futási időről nem tudok nyilatkozni, azért is kérdeztem, hogy az lehet esetleg a gond, vagy itt csak a memóriakorlát a hiba?
És az ezze járó(első hozzászólásban lévő) okozott hibákat, hogyan lehet kijavítani, illetve megoldani? Mi zajlik ilyenkor a háttérben? (adatbázisban pl)
Hidd el, nem lesz elég a 64
Hidd el, nem lesz elég a 64 MB memória, tapasztalatból mondom, hogy csak szívni fogsz ezzel - inkább már jobb az elején szembesülni vele. Válts szolgáltatót, ha a tiéd drága (a belinkeltnél (akikhez semmi közöm, csak nekem beváltak) 256 MB memóriát kapsz). Bőven zabálja a Drupal a memóriát, főleg pár modul engedélyezése után.
Ha egy modul telepítése megszakad, pl. 500-as hiba miatt, az igen nagy gáz lehet. Elképzelhető például lazán olyan eset, hogy a modul valóban engedélyezésre kerül, a Drupal
system
táblájában 1-esre billen az engedélyezett érték, elindul mondjuk ezután a modul saját tábláinak feltöltése az adatbázisba, majd lefutna még valami, de ennek a folyamatnak a felénél megszakad az egész - így inkonzisztens állapotba kerülhet, kiszámíthatatlan viselkedést/hibákat produkálhat a modul, akár ún. "fehér halált" (WSOD, White Screen of Death) is kaphatsz az oldalad megjelenítésekor, és egyéb kellemetlenségek érhetnek. Tényleg jobb az ilyesmit elkerülni időben.Amennyiben az elvégzett feladat nem érint fájlbeli módosításokat (nem kerül feltöltésre új fájl, a beállítás nem módosít/töröl egy fájlt, stb.), akkor elég csak az adatbázist felülírni. De ne felejts el előtte backupot készíteni!