SORU
26 EKİM 2009, PAZARTESİ


PHP parçacığı güvenli olmayan güvenli iş parçacığı nedir

PHP için farklı ikililer, sigara iplik veya iplik kasa gibi gördüm? Bu ne anlama geliyor? Bu paketler arasındaki fark nedir?

CEVAP
12 Mayıs 2011, PERŞEMBE


Eşzamanlılık yaklaşımlar üzerinde arka plan gerekir

Farklı web sunucuları, paralel olarak gelen HTTP isteklerini işlemek için farklı teknikler uygulamak. Oldukça popüler bir tekniği -- iş Parçacığı kullanarak, web sunucu/adamak gelen her istek için tek bir iş parçacığı oluşturur. Apache HTTP web sunucusu bir iş Parçacığı kullanan bir istekleri işlemek için birden çok modelleri destekler. Ancak, web sunucusu/adamak her istek için tek bir süreç yaratacak ... ... Süreçleri kullanan başka bir eşzamanlılık modeli Prefork MODÜLÜ adı destekler.

Aynı zamanda da tamamen farklı tutarlılık modellerini (zaman Uyumsuz yuva/IO kullanarak) yanı sıra iki, hatta üç model birbirine karıştırmak olanlar vardır. Yanıtlanması amacı bu soru, sadece yukarıdaki iki model ile ilgili, ve bir örnek olarak HTTP server Apache alıyoruz.

Nasıl PHP "" web sunucuları: . entegre arka plan gerekli

Gerçek HTTP isteklerini -- karşılık kendisi değil PHP bu web sunucusu işidir. Biz, sunucuya ileri web isteklerini işlemek için PHP, sonuç almak ve kullanıcıya geri göndermek için ne yapılandırın. PHP ile web sunucusu zinciri için birden çok yolu vardır. Apache HTTP Server, en popüler"". mod_php Bu modül aslında kendisi ama PHP bir web sunucusu için bir modül olarak derlenmiş, ve bu yüzden içi dolu olur.

Apache ve diğer web sunucuları ile PHP zincirleme için başka yöntemler de vardır, ama mod_php en popüler biridir ve aynı zamanda sorunuza cevap için hizmet edecek.

Hosting firmaları ve GNU/Linux dağıtımları için her şey hazır ile birlikte gelir, çünkü bu bilgileri daha önce anlamak için gerekli olmayabilir.

Şimdi, soru üzerine!

Beri ile mod_php PHP alır dolu sağ olarak Apache, Apache oluyor ele eşzamanlılık kullanarak çalışanının MODÜLÜ (iş Parçacığı kullanarak) PHP olmalı ameliyatla içinde aynı bu çok kanallı çevre -- anlamı,PHP güvenli iplik-top Apache ile düzgün oynamak mümkün olacak!

Bu noktada yapmanız gerektiğini düşünerek "Tamam, eğer öyleyse ben kullanan bir çok iş parçacıklı web sunucusu ve gidiyorum embed PHP sağ içine, o zaman gerekir bu iş parçacığı için güvenli sürüm PHP". Ve bu doğru bir düşünce olurdu. Ancak görüldüğü gibi, PHP 4 ** iş parçacığı-güvenlik. -Sen-gerçekten-gerçekten---biliyorsun--eğer bir yere.

Son notlar

Eğer merak ediyorsanız durumda, kişisel tavsiyem olacaktırdeğileğer seçim varsa, bir çok iş parçacıklı ortamda PHP kullanın!

Konuşan sadece UNIX-tabanlı ortamlarda, diyebilirim ki, neyse ki, sadece düşünmek bu eğer kullanacak PHP ile Apache web sunucusu, bu durumda size tavsiye gidin ile Prefork MODÜLÜ Apache (hangi kullanmaz konuları, ve bu nedenle, PHP iplik-güvenlik önemli değil) ve tüm GNU/Linux dağıtımları bildiğim kadarıyla alacak bu karar için sizi ne zaman yüklüyorsunuz Apache PHP ile kendi paket sistemi olmadan bile sormadan, senin için bir seçim. Eğer nginx veya lighttpd gibi Web sunucuları ile kullanmak için gidiyoruz eğer, onları içine PHP gömmek neyse seçeneğiniz olmaz. Ağ herhangi bir işlem ya da PHP tamamen farklı bir model olarak çalışır bir şey eşit kullanma bakıyor olacakdışarıdabirden fazla PHP süreçleri ile web sunucu, örneğin ağ herhangi bir işlem istekleri cevaplamak için kullanılır. Bu tür durumlarda, iş güvenliği de önemli değil. Web sitesi kullanarak hangi görmek için sitenizde bir dosya <?php phpinfo(); ?> içeren koymak ve Server API girdisini arayın. Bu CGI/FastCGI Apache 2.0 Handler gibi bir şeyler söyler.

Eğer siz de PHP-Komut Satırı sürümü bakarsanız iş parçacığı güvenliği önemli değil.

Eğer thread-safety sürüm evresel ya da non-thread-safe -- kullanmalısınız çok önemli değil eğer mi sonunda? Açıkçası, bilimsel bir cevabım yok! Ama ben olsam sanırım bu non-thread-safe sürümü daha hızlı ve/veya daha az hatalı, ya da aksi takdirde, onlar sadece sunulan iş parçacığı için güvenli sürüm değil, rahatsız etmek bize seçim!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Schoon

    Ben Schoon

    23 Kasım 2012
  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • theKGB65

    theKGB65

    24 Aralık 2007