Mysql Server Has Gone Away [ !? ]
-
iyi aksamlar muridler yazdigim php botunda sorun yasamaktayim kendi hostumda calisan bot musterinin hostunda calismadi ,wp_insert_post fonksiyonu ile db ye kayit yaparken "mysql server has gone away" mysql hatasini almaktayim bunun sebebini bilen varmi.
google da cozum buldum => $this->query("set session wait_timeout=600"); fakat sonuc alamadim.
script: wordpress
host: hostgator
function : wp_insert_post
-
tam kod bütünün yazsan?
edit: bide phpinfo çekip koysana buraya
-
mantık hatası var sanki. bu fonksiyonu döngü içinde mi çağırıyosun? eğer öyleyse ilk veriyi ekledikten sonra mı bu hatayı veriyor? eğer dediklerim doğruysa mysql_close kısmını kaldır. çünki mysql connect fonskiyon dışında ve sen ilk dönen fonksiyonda bağlantıyı kapatıyosun ve sonra tekrardan mysqle connect olmadan veri göndermeye çalışıyorsun. birde mysql e $bot linki ile bağlanıyosun ama fonksiyona sokmamışsın o değişkeni. ya parametre olarak sok yada global olarak ekle
-
Cosmic bunu yazdı:
-----------------------------mantık hatası var sanki. bu fonksiyonu döngü içinde mi çağırıyosun? eğer öyleyse ilk veriyi ekledikten sonra mı bu hatayı veriyor? eğer dediklerim doğruysa mysql_close kısmını kaldır. çünki mysql connect fonskiyon dışında ve sen ilk dönen fonksiyonda bağlantıyı kapatıyosun ve sonra tekrardan mysqle connect olmadan veri göndermeye çalışıyorsun. birde mysql e $bot linki ile bağlanıyosun ama fonksiyona sokmamışsın o değişkeni. ya parametre olarak sok yada global olarak ekle
-----------------------------evet dongu icinde. mysql_close yoktu oncesinde bu hatayi arastirdiktan sonra close yazin gordum yazdim sonuc ayni. $bot uda hata yi aldiktan sonra bagladim ben hatayi aldigim ilk zamani soyliyim degistirdim biraz
db fonksiyonlarin da hatalar donduruyor r10 da buldum ayni hatalari veren
http://www.r10.net/site-amp-server-administration/538258-mysql-server-has-gone-away-hostgator.html
ilgilendigin icin tesekkurler hocam bana host dan kaynaklanan bir problem gibi geliyor mysql de sorun var sanirim cunku ayni script baska host da calisiyor.
-
sen kaldır şimdi o mysql_close yi daha sonra $bot değişkenini fonksiyona global olarak sok. daha sonra mysql_connect mysql_select_db olayını fonksiyon dışında $bot değişkenine bağla.
edit: sorun kodla alakalı. senin localde çalışmasının sebebi ayarlarla alakalı link tanımlamadan bağlandığın zaman otomatik diğer sorguları ilk bağlantı üzerinden devam ediyor ama hostlarda bunun böyle olmamasının sebebi güvenlikle alakalı
-
Cosmic bunu yazdı:
-----------------------------sen kaldır şimdi o mysql_close yi daha sonra $bot değişkenini fonksiyona global olarak sok. daha sonra mysql_connect mysql_select_db olayını fonksiyon dışında $bot değişkenine bağla.
edit: sorun kodla alakalı. senin localde çalışmasının sebebi ayarlarla alakalı link tanımlamadan bağlandığın zaman otomatik diğer sorguları ilk bağlantı üzerinden devam ediyor ama hostlarda bunun böyle olmamasının sebebi güvenlikle alakalı
-----------------------------close kaldirdim $botuda global yaptim fonksiyonda ayni.
benim sitede denedim calisti. nasil cozecez peki hocam bunu :\
-
wordpress de varsayılan db link değişkeni $db miş sanırım o $bot ları değiştirip $db yapıp denermisin
-
-
ilk if den sonra elseif ekle o kısım verimsiz olmuş. (Sorunun çözümü için değil optimizasyon için konuşuyorum)
-
-
Hatanın sebebi açısından değilde wordpress olarak düşünürsek bu bot olayını direkt mysql e yazmak yerine wordpressdeki xml-rpc desteğini kullanabilirsin. böylece başka hosttan bile o siteye veri çekebilirsin. http://codex.wordpress.org/XML-RPC_Support