Merhaba arkadaşlar, yaklaşık bir haftadır PHP ile MySQL bağlantısında sürekli zaman aşımı hatası alıyorum ve gerçekten can sıkıcı bir hal almaya başladı. Projemde kullanıcıların veri ekleme ve çekme işlemlerini yaparken, özellikle yoğun saatlerde "MySQL server has gone away" ya da "Connection timed out" gibi hatalarla karşılaşıyorum. Bağlantıyı PDO ile kuruyorum, ama her seferinde aynı sorunla boğuşuyorum. Sunucu ayarlarını kontrol ettim, max_execution_time ve mysql.connect_timeout değerlerini artırdım, hatta php.ini dosyasında gerekli düzenlemeleri yaptım ama sorun hala devam ediyor. Sizce bu durum sunucu taraflı bir sıkıntı mı, yoksa kod tarafında kaçırdığım bir nokta mı var?
Aslında daha önce benzer bir sorun yaşayan var mı bilmiyorum, ama ben biraz araştırma yaptım ve genelde MySQL sunucusunun varsayılan olarak 8 saatlik bir bekleme süresinden sonra bağlantıyı kapattığını gördüm. Ancak benim hatalar daha kısa süreli işlemlerde bile ortaya çıkıyor, mesela bir form gönderiminde 2-3 saniye süren bir sorguda bile bağlantı kopabiliyor. Veritabanı sunucum localhost üzerinde değil, ayrı bir sunucuda barınıyor ve bu da ping sürelerini biraz artırıyor olabilir. Acaba bu uzak bağlantılarda daha sık görülen bir durum mu? Yoksa persistent connection kullanmak mı daha mantıklı olur, yoksa tam tersine sorunu daha da mı kötüleştirir?
Bir de şöyle bir senaryo düşünüyorum: Belki de her istekte yeni bir bağlantı açmak yerine, bağlantıyı bir kere açıp tekrar kullanmak daha stabil olabilir. Ama bu sefer de aynı anda birden fazla kullanıcı işlem yaparken havuz yönetimi sorun çıkarır mı? Siz hangi yöntemi kullanıyorsunuz? Özellikle PDO ile çalışırken bağlantıyı canlı tutmak için özel bir stratejiniz var mı, yoksa benim gibi her seferinde yeniden mi bağlanıyorsunuz? Deneyimlerinizi paylaşırsanız çok sevinirim, çünkü bu hata yüzünden projenin lansmanını sürekli ertelemek zorunda kalıyorum.
Aslında daha önce benzer bir sorun yaşayan var mı bilmiyorum, ama ben biraz araştırma yaptım ve genelde MySQL sunucusunun varsayılan olarak 8 saatlik bir bekleme süresinden sonra bağlantıyı kapattığını gördüm. Ancak benim hatalar daha kısa süreli işlemlerde bile ortaya çıkıyor, mesela bir form gönderiminde 2-3 saniye süren bir sorguda bile bağlantı kopabiliyor. Veritabanı sunucum localhost üzerinde değil, ayrı bir sunucuda barınıyor ve bu da ping sürelerini biraz artırıyor olabilir. Acaba bu uzak bağlantılarda daha sık görülen bir durum mu? Yoksa persistent connection kullanmak mı daha mantıklı olur, yoksa tam tersine sorunu daha da mı kötüleştirir?
Bir de şöyle bir senaryo düşünüyorum: Belki de her istekte yeni bir bağlantı açmak yerine, bağlantıyı bir kere açıp tekrar kullanmak daha stabil olabilir. Ama bu sefer de aynı anda birden fazla kullanıcı işlem yaparken havuz yönetimi sorun çıkarır mı? Siz hangi yöntemi kullanıyorsunuz? Özellikle PDO ile çalışırken bağlantıyı canlı tutmak için özel bir stratejiniz var mı, yoksa benim gibi her seferinde yeniden mi bağlanıyorsunuz? Deneyimlerinizi paylaşırsanız çok sevinirim, çünkü bu hata yüzünden projenin lansmanını sürekli ertelemek zorunda kalıyorum.