PHP ve db bağlantıları

4 Cevap

Ben tarayıcı üzerinde bir php sayfası yüklediğinizde, ben şimdi bir bağlantıyı takip ve aynı web sitesi içinde başka bir sayfa beni alır diyelim ... DB bağlanır ve bazı sql çalışır. Ne bilge sunucu oldu? DB yakın benim ilk bağlantı yaptım ve yine yeniden açıldı? Ne çoğu durumda olur mi?

4 Cevap

Onun sayfa PHP tarafından işlendikten sonra veritabanına bağlantı kapalı olması çok muhtemeldir, belli ki daha sonra PHP sonucu tarayıcıya gönderilen ve kullanıcı tarafından görülüyor.

PHP komut dosyası mysql_pconnect, bağlantı açık tutulması olacak kullanıyorsa MySQL, bu böyle olmaz tek nedeni koşuyoruz varsayarsak olduğunu. MySQL sunucu ve PHP sunucu diğer işlemler tarafından kullanılmayan bir düşük bant genişlikli bağlantısı yoksa onun genellikle iyi uygulama kullanımı bu kullanmak değil ancak.

Evet, çoğu durumda veritabanı bağlantı kapanacak ve yeniden açın. PHP yorumlayıcı, her sayfa için yeniden başlatıldığında ise özellikle o bunu yapmak için başka çaresi yoktur.

(Ben bu kendimi kullanılmış hiç rağmen) ben (Apache için) mod_php.so gibi bir şey kullanıyor ve kullanıcının bir parçası olarak saklanacak bir DB bağlantı nesnesi için düzenlemek nerede tipik durum inanıyorum oturum durumu. Gerçi, tavsiye uygulama inanmıyorum.

http://php.net/manual/en/features.persistent-connections.php daha fazla bilgi için bkz.

Evet olağan bir durumdur bu. MySQL bahsediyoruz Ama eğer mysql_pconnect kalıcı bağlantıları tutmak için kullanabilirsiniz.

Bu PHP geliştirilmiştir nasıl bağlıdır. Her işlemden sonra kapatmak için kodlanmış ise, o zaman evet, bir sayfayı görüntülemek her zaman yeniden açılacak.

Bir veritabanı bağlantı havuzu kavramı da vardır. Bir bağlantı kullanıldığında kapalı ama yine kullanılmak üzere bekleyen bağlantıları "havuza" yerleştirilir değildir. Belirli bir zaman miktarı, kullanılan olan bağlantısı olmadan geçirilir kez daha sonra kaynak tasarrufu için kapalıdır.

Bağlantı havuzu Her sayfayı yeniden bir bağlantısını yeniden zorunda işlem süresi kaydeder.