Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Czy interpreter PHP jest startowany przy każdym żądaniu?
Forum PHP.pl > Forum > Przedszkole
konrados
Zainteresowało mnie właśnie co się dzieje, gdy wysyłamy request to strony napisanej w PHP w porównaniu np. do NodeJS. W Node jak wiadomo serwer jest uruchomiony cały czas i tylko czeka na żądania.

Chciałem się dowiedzieć, czy tak samo jest w przypadku PHP, czy może, tak jak kiedyś słyszałem - silnik PHP jest startowany za każdym razem od nowa.

No i niewiele się dowiedziałem - tzn. znalazłem to: http://www.reddit.com/r/PHP/comments/2oviy...xecution_model/

I z tego wynika, że mogą być dwa scenariusze - z użyciem modelu CGI/FastCGI - tam interpreter jest startowany przy każdym request, oraz z użyciem mod_php - tu jest częścią APACHE i sobie działa czekając na żądania.

Tyle tylko, że nie wiem za bardzo jak sprawdzić jak to jest u mnie. Tzn. na localhoście, windows, mam zainstalowany XAMPP i tu w katalogu xampp\apache\modules nie ma pliku mod_php.so - czy to oznacza, że użyty jest pierwszy model (ten, gdzie PHP jest startowane za każdym razem)?

No to u mnie, a jak się dowiedzieć tego odnośnie hostingu dzielonego, który mam wykupiony?
CuteOne
Każdy request == odpalenie nowego procesu php. Jak to sprawdzić? Odpal na kilku kartach przeglądarki ten kod:
  1. <?php sleep(1000); ?>

i sprawdź menadżer zadań
konrados
Cytat(CuteOne @ 11.07.2015, 20:12:16 ) *
Każdy request == odpalenie nowego procesu php. Jak to sprawdzić? Odpal na kilku kartach przeglądarki ten kod:
  1. <?php sleep(1000); ?>

i sprawdź menadżer zadań


No trochę dziwne, odpaliłem na 6 kartach i mam 2 procesy httpd.exe. I druga sprawa - wiesz może jak to sprawdzić na wynajmowanym hostingu, bez dostępu do ssh?
konrados
Cytat(redeemer @ 11.07.2015, 20:35:51 ) *


Dzięki, zwraca cgi-fcgi - czyli zgodnie z tym: https://pl.wikipedia.org/wiki/FastCGI - jest sobie proces (lub procesy) nasłuchujący żądań, nie jest uruchamiany za każdym razem proces PHP, zgadza się?

I drugie pytanie - czy to jest jakiś standard teraz w usługach hostingowych?

I trzecie pytanie:) - u mnie na lokalu zwraca "apache2handler" - to który to jest w końcu scenariusz, chyba ten gdzie proces jest odpalany przy każdym zapytaniu tak?
destroyerr
Jako ciekawostkę dodam, że przecież PHP może działać tak samo jak nodejs czyli asynchronicznie. Może działać również np. jak java, python etc. czyli może mieć serwer aplikacji napisany w php. Oczywiście nie są to na chwilę obecną rozwiązania często praktykowane, ale być może w najbliższym czasie się będzie to ulegać zmianie.
Forti
PHP jako asynchroniczny? Opowiedz / podaj jakiś link. Jestem ciekawy teraz smile.gif
Comandeer
Nie przypadkiem chodzi o coś typu ReactPHP?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.