Mod_php ve cgi php komut dosyası arasındaki farklar nelerdir?

3 Cevap php

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

3 Cevap

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ı:

  • Bir isteğini cevaplamak için hiçbir çatallaşma (daha hızlı)
  • Apache ve PHP arasında daha iyi iletişim


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.