Am decis să restabilească ordinea în cap de modul de a lucra cu serverul de web și PHP.
Common Gateway Interface „o poartă de acces interfață comună“ - un standard care descrie modul în care un server de web ar trebui să ruleze programe de aplicație (script-uri) ca le va transmite parametrii HTTP-cerere, ca programe trebuie să trimită rezultatele activității sale serverul de web. Programe de aplicații interacționează cu serverul de web pe protocolul CGI mentionat ca poarta de acces. deși numele mai comun al CGI-script sau CGI-program.
Ca CGI-aplicații pot utiliza programe / scripturi scrise în orice limbaje de programare, asa cum este compilat, și script-ul, și chiar coajă.
CGI-script-uri au fost populare înainte de dezvoltare web au fost cele mai utilizate PHP. Deși PHP interpretul poate funcționa în modul CGI (cm. Mai jos).
Punctul culminant: „CGI“ nu este un limbaj de programare, și nu este un program separat! Este un protocol (o specificație standard de, un acord, un set de reguli).
Dezvoltarea în continuare a tehnologiei CGI este mai productivă și mai sigură elimină multe limitări CGI-programe.
Programul FastCGI funcționează după cum urmează: odată ce programul este încărcat în memorie ca un daemon (indiferent de HTTP-server), iar apoi intră în cererile de prelucrare buclă de la serverul HTTP. Unul și același proces se ocupă de mai multe solicitări diferite, unul după altul, care diferă de cea a unui CGI-mode, atunci când o cerere este generată pentru fiecare proces separat „moarte“ după încheierea tratamentului.
Scrierea daemon FastCGI mai greu decât CGI, biblioteci suplimentare, dependente de limbă.
Din nou, ea abrevierea FastCGI nu este un limbaj de programare, și nu este un program separat, este la fel ca și în cazul CGI - o specificație.
PHP în mod CGI
PHP în mod CGI este vechiul mod de a face server web php-script-uri. Modul implicit este disponibil, dar poate fi dezactivată în timpul compilării.
Pentru Apache nevoie de modulul mod_cgi (inclus cu Apache). Nginx din cutie nu are suport, deși există instrumente suplimentare.
În prezent, modul este rar folosit din cauza productivității scăzute.
PHP în modul FastCGI
În plus față de modul CGI, PHP poate lucra din cutie și în modul FastCGI (de la versiunea 5.3, chiar și în cele două moduri de FastCGI). Mod de pavilion inclus la compilare pavilion interpret depinde de versiunea de PHP.
Pentru a lucra cu modul Apache nevoie mod_fcgid sau mod_fastcgi. sau un buchet de mod_proxy_fcgi + PHP-FPM.
Nginx poate lucra cu aplicatii FastCGI din cutie, dar este o nevoie suplimentară pentru PHP PHP-FPM (vezi. De mai jos).
Rețineți că, atunci când se utilizează în modul PHP FastCGI, memoria se blochează interpret PHP, mai degrabă decât un anumit script PHP.
FastCGI Process Manager, "The Process Manager FastCGI". Această implementare alternativă a modului FastCGI în PHP MULTI-Kimi completează-nu-Tel-guvernamentale OMS-WMS-dar-CBS-mi, Koto-secară, de obicei, Execu-Dhu sunt pentru site-urile SEZONUL-to-la-GRU-soții-TION .
Inițial, PHP-este un set FPM de patch-uri de Andrei Nigmatulin, ceea ce elimină o serie de probleme care împiedică utilizarea completă a PHP în mod FastCGI (lista de îmbunătățiri). Cu PHP 5.3 versiune a unui set de patch-uri incluse în kernel, și o posibilități suplimentare-PHP includ un pavilion FPM atunci când compilarea.
PHP-este utilizat în principal FPM în conjuncție cu Nginx, Apache, fără instalare.
Acesta este un modul pentru Apache, care îi permite să efectueze scriptul php. Acesta este, probabil, cel mai popular și ușor mod de a face prieteni cu Apache și PHP. Modulul nu utilizează nici un CGI sau FastCGI. Are dezavantaje sale - script-uri rula pe serverul de web al utilizatorului, nu puteți utiliza mai mult de o versiune de PHP.