Arkadaşlar merhaba, uzun süredir PHP ile proje geliştiriyorum ama son zamanlarda PDO bağlantılarında can sıkıcı bir sorunla karşılaşıyorum. Özellikle yoğun saatlerde veya birkaç sorgu üst üste çalıştırdığımda "SQLSTATE[HY000] [2002] Connection timed out" hatası alıyorum. Hosting firmamı aradım, MySQL sunucusunda bir sıkıntı olmadığını söylediler, ama ben yine de emin olamıyorum. Bağlantı ayarlarımda timeout değerini artırdım, hatta PDO::ATTR_TIMEOUT ile 30 saniyeye çıkardım ama düzelmedi. Sizce bu hatanın sebebi ne olabilir?
Bir de dikkatimi çeken şey, kodumu yerel sunucumda (XAMPP) çalıştırdığımda hiçbir sorun yaşamıyorum. Sadece canlı sunucuda bu zaman aşımı hatasıyla karşılaşıyorum. Hosting firması sunucu kaynaklarının yeterli olduğunu iddia ediyor ama ben aynı anda birkaç kullanıcı siteye girdiğinde bağlantıların kopmaya başladığını görüyorum. Belki de PDO bağlantılarını kapatmamakla ilgili bir şey olabilir mi? Sorgularımı çalıştırdıktan sonra bağlantıyı null yapıyorum ama yine de sorun devam ediyor.
Aklıma gelen bir diğer ihtimal, sunucudaki PHP ayarları veya MySQL konfigürasyonu olabilir. Belki "max_connections" değeri çok düşük kalmıştır, ya da "wait_timeout" parametresi çok kısa süreye ayarlanmıştır. Siz bu tür bir sorunla karşılaştınız mı? Çözüm olarak ne önermiştiniz? Ayrıca PDO bağlantılarını persistent (kalıcı) olarak açmak mantıklı mı, yoksa bu daha fazla sorun yaratır mı? Deneyimlerinizi paylaşırsanız çok sevinirim.
Bir de dikkatimi çeken şey, kodumu yerel sunucumda (XAMPP) çalıştırdığımda hiçbir sorun yaşamıyorum. Sadece canlı sunucuda bu zaman aşımı hatasıyla karşılaşıyorum. Hosting firması sunucu kaynaklarının yeterli olduğunu iddia ediyor ama ben aynı anda birkaç kullanıcı siteye girdiğinde bağlantıların kopmaya başladığını görüyorum. Belki de PDO bağlantılarını kapatmamakla ilgili bir şey olabilir mi? Sorgularımı çalıştırdıktan sonra bağlantıyı null yapıyorum ama yine de sorun devam ediyor.
Aklıma gelen bir diğer ihtimal, sunucudaki PHP ayarları veya MySQL konfigürasyonu olabilir. Belki "max_connections" değeri çok düşük kalmıştır, ya da "wait_timeout" parametresi çok kısa süreye ayarlanmıştır. Siz bu tür bir sorunla karşılaştınız mı? Çözüm olarak ne önermiştiniz? Ayrıca PDO bağlantılarını persistent (kalıcı) olarak açmak mantıklı mı, yoksa bu daha fazla sorun yaratır mı? Deneyimlerinizi paylaşırsanız çok sevinirim.