Avantajele și dezavantajele PHP FastCGI și mod_php
Principalele diferențe între ansambluri.
- mod_php:
în .htaccess va funcționa Directiva php_value, permis (absolut necesar) la 777 (care este foarte sigur), fișiere și foldere nu sunt create în numele utilizatorului, dar în numele apache (aceasta este una dintre dezavantaje: ștergeți aceste fișiere și foldere fără asistență de administrator Pur si simplu nu poti). Cu această opțiune, 95% din script-urile wap vor funcționa fără nici o configurație anterioară. - PHP FastCGI:
în Directiva php_value .htaccess interzise (va fi eroare 500), 777 drepturi nu sunt permise (în ciuda erorilor, este de remarcat faptul că, în scopul de a scrie într-un dosar mai mult decât suficiente drepturi 755, și fișiere 644, sau într-un caz extrem, 666), fișiere și foldere, și De asemenea, execuția de scripturi are loc în numele utilizatorului. Cu această construire, script-urile gratuite nu vor funcționa fără presetare (apare eroarea 500).
- mod_php:
este pornită de serverul web cu fiecare nouă solicitare. Lansarea aplicației durează uneori o perioadă semnificativă de timp, de multe ori lansarea durează mai mult decât munca utilă pe care o face ulterior. De asemenea, puteți observa că erorile din script-uri pot duce la inoperabilitatea întregului server web. - PHP FastCGI:
poate fi pus în aplicare ca demon, adică acesta poate fi el însuși un server. Aplicația FastCGI rulează mereu, așa că nu are timp să înceapă, are nevoie doar de o treabă utilă. Erori în script-uri nu duc la inoperabilitatea întregului server.
Este important să rețineți că cu 300-500 de conexiuni nu va exista o diferență semnificativă pentru încărcarea serverului, fie ea fcgi sau mod_php. Dar, cu valoarea de 1000 de compuși, FastCGI va predomina semnificativ.
Să comparăm rezultatele php FastCGI și modulul php Apache (mod_php), subliniind toate avantajele și dezavantajele de mai sus:
PHP ca modul Apache
În acest caz, PHP folosește modulul server apache mod_php.
- Cea mai mare viteză a scripturilor, în comparație cu alte metode (pe un număr mare de cereri).
- Simplitatea funcționării, serverul procesează procese scrise.
- Un fișier de configurare obișnuit pentru toate scripturile (php.ini).
- Abilitatea de a seta variabilele de configurare PHP în fișierul de configurare al serverului Web sau prin fișierul .htaccess
În același timp, modulul Apache mod_fastcgi este utilizat, scripturile sunt transferate prin mijloacele sale la intrarea interpretului PHP.
- Toate scripturile sunt executate cu drepturile utilizatorului - proprietarul domeniului www.
- Abilitatea de a personaliza PHP pentru fiecare utilizator.
- Mai puțin consum de memorie în comparație cu modulul Apache.
- Erori în scripturi nu duc la căderea serverului web, spre deosebire de modul PHP ca modulul apache.
- Prin cachearea unor date intermediare, scriptul nu este interpretat de fiecare dată când este executat, și se obține o viteză mai mare comparativ cu PHP ca CGI.
- Procesul extra utilizator (php-cgi) este în memorie după prima accesare a procesului.
Astfel, utilizarea FastCGI este mai sigur, atât în ceea ce privește drepturile de acces, cât și din punct de vedere al prezenței erorilor în activitatea de script-uri străine, și mai rentabil și rapid modul de lucru PHP script-uri. mod_php, la rândul său, are o ușoară creștere a performanței la mare (în mii de conexiuni), sarcina pe site-ul.