![]() |
MySQL server has gone away
Imam jedan čudan problem na jednom sajtu na mom serveru, naime sve radi super ali na jednoj jedinoj strani (contact) posle "submit" formulara, dešava se da se na učitavanje sledeće strane čeka par desetina sekundi a za to vreme prijavi mi greške "MySQL server has gone away" za bilo koji query koji se izvrši.
Posle tog kontakta, on samo pokupi input iz formulara i pošalje na mail, ne znam šta bi moglo da dovede do toga da prsne mysql server odnosno da se izgubi konekcija. "MySQL server has gone away" sam ranije imao na jednom totalno desetom sajtu ali tamo su bili neki clusteri i gluposti koji nisu bili dobro konfigurisani, ovde nije ništa od toga, obično setovanje na ne-toliko-posećenom sajtu, problem je samo na kontakt strani. Sumnjam na mail funkciju koja ima neku frku pa se strana dugo učitava i za toh 20-ak sekundi prsne konekcija do mysql... ali nemam pojma više. |
Pa probaj da iskljucis mail() za probu, tek tolko da vidis da li tada radi ili ne.
Ili paste-uj kod ovde pa da vidimo ... |
Citat:
2. proveri šta ti rade mysql admini, moguće da se igraju i ubijaju zabave radi :) 3. wait_timeout? znaš ono gledaj majku biraj ćerku ... gledaj aplikaciju i rekordi u bazi će biti skroz ok :) |
Ja sam iz slicnih razloga (ne tako drasticnih) u svoju DB klasu pre pozivanja query metoda stavio poziv mysql_ping f-je, koja resava sve slicne probleme.
Verovatno je mysql/socket timeout setovan na jako malu vrednost na tom serveru, ali ping ce taj problem resiti. Svakako pogledaj http://dev.mysql.com/doc/refman/5.0/en/gone-away.html. |
a jel mail() radi normalno inace, bez baze? Moguce da nije mailserver dobro konfigurisan, da sendmail ili sta vec koristi ima neki problem...
@dinke: vodi samo racuna da mysql_ping ne radi automatski reconnect na novim mysql bazama... mene je to jednom neprijatno iznenadilo kad sam uprgejdovao mysql na 5.nesto i odjednom mi spajder krenuo da crkava.. |
Pojavio mi se isti info na jednom forumu koji imam. U pitanju je SMF, a ovo obaveštenje dobija članizlazi članu kad želi da postavi više slika.
|
Uff kako stara tema :)
mysql_ping vise ne radi autokonekciju, tako da je potrebno setovati wait_timeout na neku vecu vrednost (to moze cak i runtime iz samog scripta mislim). set wait_timeout = 28800 |
da bi setovao vrednost samo za tu konekciju mozes da koristis:
SET SESSION wait_timeout = 28800; |
Vreme je GMT +2. Trenutno vreme je 12:34. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.