MySQL bağlantıları sürekli PHP sayfaları üzerinde kapalı değil ise ne olur?

3 Cevap php

Her PHP sayfasının başında ben MySQL bağlantısını açmak, sayfa boyunca kullanmak ve sayfanın sonunda kapatın. Ancak, sık sık başka bir sayfaya sayfanın ortasında yönlendirmek ve böylece bu durumlarda bağlantı kapalı değildir. PHP otomatik olarak zaten her sayfanın sonunda tüm MySQL bağlantıları kapatır beri bu web sunucusunun performansı için kötü olmadığını anlıyoruz. Akılda tutmak için burada başka bir sorun var mı, ya da siz PHP veritabanı bağlantıları kapatma konusunda endişelenmenize gerek yok gerçek olduğunu?

$mysqli = new mysqli("localhost", "root", "", "test");
...do stuff, perhaps redirect to another page...
$mysqli->close();

3 Cevap

Gönderen: http://us3.php.net/manual/en/mysqli.close.php

"Açık bağlantıları (ve benzeri kaynaklar) otomatik olarak komut dosyası yürütme sonunda imha edilir. Ancak, hala yakın ya da ücretsiz tüm bağlantılar, setleri ve ifadesi en kısa sürede gerekli artık olarak ele sonuçlanmalıdır. Bu PHP kaynaklarını iade yardımcı olacaktır ve MySQL daha hızlı. "

Eğer yönlendirme sırf komut yürütme durur anlamına gelmez. Bir yönlendirme gönderilen sadece bir başlıktır. Eğer hemen sonra () çıkmazsanız, senaryonun geri kalanı çalışmaya devam edecektir. Komut çalıştıran bitirmek geldiğinde, bunun tüm açık bağlantıları kapatacaktır (veya kalıcı bağlantılarını kullanarak eğer havuza onları geri bırakın). Dert etmeyin.

Orada anda açık olabilir kaç bağlantıları bir sınırı olabilir, bu yüzden birçok kullanıcı varsa, SQL bağlantıları tükendi olabilir. Gerçekte, kullanıcıların SQL hataları yerine güzel bir web sayfalarını göreceksiniz.

Bu verileri görüntüleyebilir, sonra onu kapatın, veri okumak için bir bağlantı açmak ve daha iyi bir kullanıcı başka bir bağlantısı açmak ve daha sonra tüm değişiklikleri göndermek "Gönder" tıkladığında.