Mod_php ve cgi php komut dosyası arasındaki farklar nelerdir?
Yani, neden bu daha iyi (öyle mi?) CGI'lerin olarak çalışan, yerine basit php komut mod_php kullanmak için?
Teşekkürler
CGI kullanırken: Bir PHP süreç Apache tarafından başlatılan, ve PHP kodu yorumladığı PHP süreç değil - Apache itself.
In theory, a distinct PHP process has to be created for each request -- which makes things slower : Apache has more work to do to answer a request.
(Well, as pointed out by @AlReece45 in a comment, this can be made better using FastCGI)
When using PHP as an Apache module (mod_php
, or mod_php5
), the PHP interpreter is kind of "embedded" inside the Apache process : there is no external PHP process.
Anlamı:
Generally speaking, I would say that mod_php
is the solution that's used the most.
Düz CGI talebi zamanında her istek için kökenli olması süreci gerektirir.
mod_php yerine kaygan nginx veya lighttpd şişirilmiş apache kullanmak gerektirir. Ayrıca, Pascal tarafından belirtilen "Apache ve PHP arasında daha iyi bir iletişim" (o php gelişir kimseye zarar! ;-)) Apache zarar verebilir.
FastCGI Eğer web sunucusu (muhtemelen farklı ana çalıştırın) den php ayırmanızı sağlar.
Ayrıca, php.net sadece PHP çalıştırmak için mod_cgi
kullanıyorsanız ve PHP version PHP 5.3.12 veya {[(2) daha eski ise kaynak kodu açıklama mümkün olduğu bugün bir güvenlik açığı yayınlandı }].
http://www.php.net/archive/2012.php#id2012-05-03-1
Bir mod_rewrite
kuralı yükseltme veya uygulayarak yama.