Jump to content
php.lv forumi

php un cgi


Recommended Posts

Cik nu es tur saprotu, tad FastCGI jādarbina zem Apache kā modulis, kurš emulēs CGI vidi cgi programmām.

A priekš *nix vides var pamēģināt php failus samest cgi-bin direktorijā, tiem pirmajā rindā ielikt #!/usr/bin/php (protams ar korektu ceļu) un uzlikt kā izpildāmus failus. Varbūt ies :)

Link to comment
Share on other sites

Protams ka ir (tikai nejaukt ar CGI tur ir nedaudz cits princips, proti failā tiek norādīts ka fails darbinām caur kādu executabli, bet Fastcgi ir permanenti procesi kuriem caur unix socketiem vai specifisku portu uz kuru klausās process tiek padota source un saņemta atbilde).

 

Kompilējam php ar mums vajadzīgajiem parametriem tikai pieliekam klāt arī --enable-fastcgi.

Tad tiks uzmeikots arī sapi/cgi/php executablis kuru tad teiksim iekopējam kaut kur iekš sistēmas ( es piem /usr/local/bin/php.fcgi - php.fcgi tapēc lai nekonfliktē ar php CLI executabli)

Un tad jau konfigurējam webserveri.

 

Lai gan uz apache ar mod_fatscgi varētu nebūt nekādi ļoti būtisku uzlabojumi pret apache+php kā modulis, tad uz sīkajiem threading serveriem (lighttpd, litespeed (iespējas ir škiet arī Boa un hydra)) iet zvērā. Arī lielākie monstri kā Zeus php darbina tikai šādā veidā.

 

Priekšrocības gan ir tādas ka tākā php nav pilnībā thread-safe tad ja kompilē kā moduli lielākoties jāizmanto prefork (protams cik mēģināju iet arī ar worker un php ar zend-experimental-thread-safety taču performance pēc maniem testiem ir sudīgāka (requesti/sekundē))), tad FastCGI modē var experimentēt ar Apache2 dažādajiem threading moduļiem līdz nelabumam un tas nekādīgi neietekmē php darbību, kā arī otrādi lai darbinātu php 100 php procesiem nevajag 100 apaches procesus.

Link to comment
Share on other sites

×
×
  • Create New...