Mysql_pconnect hakkında o öğretmek Lütfen

3 Cevap php

I read specifications of mysql_pconnect of the function of PHP.. "mysql_pconnect is that connection with the SQL server is not closed even if the practice of the script is finished".

Orada bağlantı kapatıldı sürece, ancak bağlantı mysql reboot bir zamanlaması kadar saklı olacak?

3 Cevap

Ben düşünüyorum, ve ben yanlış olabilir, ama ...

Ben pconnect script çalıştırmak için değil, tutulan bir inatçı bir bağlantı olduğunu düşünüyorum, ancak PHP oturum / MySQL seans süresi ne olursa olsun, hangi script PHP ile tutulan bir soket bağlantısı olduğunu için yürütülüyor. Birden fazla belge olması gibi bir bit yerine not defteri çalışan birden çok örneğini kelime açılır. ortak bir veritabanı bağlantısını kullanarak, bireysel bağlantılar oluşturmak için işlem gücü gerekli değildir.

Ancak, okuma sonra, ben PHP değil CGI modunda, bir Apache modülü olarak çalıştırıldığı takdirde sadece yarar gibi görünüyor düşünüyorum.

Benim yanlış beni çağır.

mysql_pconnect Apache mod_php modül bağlantı havuzu yapmak için izin verir. Hala mysql_close çağırabilirsiniz, ama aslında bunu mod_php kapatmak olmaz; Bu sadece kaynak tanıtıcısı geçersiz olacaktır. Ne yazık ki, bu modül için herhangi bir konfigürasyona sahip değildir, bu nedenle toplanmış bağlantıları onun wait_timeout parametresi ile MySQL sunucusu tarafından hasat edilir. Bu varsayılan değeri oldukça yüksektir bu nedenle bunu yararlanmak istiyorsanız, muhtemelen bu değişken düşürmek isteyeceksiniz.

Bağlantı kurulumu ve MySQL parçacığı oluşturma: Bağlantı havuzu iki şeyi kaydeder. Bağlantı Kur diğer veritabanlarına göre MySQL ile çok hızlı, ancak oldukça rağbet gören web sitesi hala bu adımı azaltarak bir yararı görebiliyordu. MySQL iplik yaratma maliyeti temel OS daha bağımlı olduğunu ama yine de yoğun bir site için bir kazan olabilir.

Her iki açıdan sizin veritabanı sunuyor web sitesi hız ve yükün büyük resme baktı gerekir. Bu bağlantı havuzu kullanan meşgul yeterince site ile veritabanı bağlantı parçacığı dışında çalıştırmak mümkündür. Uygulama artık kilidini tabloları ve geri alma işlemleri gibi şeyler yapmak için bağlantıyı kapatmadan güvenebilirsiniz gibi, tutarlı bir durumda bağlantıyı bırakmak için elinden geleni yapması gereken yönü de vardır.

PHP documentation daha bilgi bulunmaktadır.

evet, ama not mysql___close kullanarak kapatabilirsiniz.

Eğer mysql sunucuyu yeniden başlattığınızda kapanacak, ya da bağlantı yapılandırma değişkeni tanımlanmış bir zaman belirli bir miktarda, wait_timeout için (kullanılmıyor) boşta kaldığı zaman.