[PHP]Czy interpreter PHP jest startowany przy każdym żądaniu? |
[PHP]Czy interpreter PHP jest startowany przy każdym żądaniu? |
11.07.2015, 19:00:29
Post
#1
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) |
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? |
|
|
11.07.2015, 19:12:16
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) |
|
|
|
11.07.2015, 19:20:08
Post
#3
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) |
Każdy request == odpalenie nowego procesu php. Jak to sprawdzić? Odpal na kilku kartach przeglądarki ten kod: 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? |
|
|
11.07.2015, 19:35:51
Post
#4
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) |
-------------------- |
|
|
11.07.2015, 20:28:58
Post
#5
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) |
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? |
|
|
11.07.2015, 21:13:08
Post
#6
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) |
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.
|
|
|
12.07.2015, 12:38:47
Post
#7
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) |
PHP jako asynchroniczny? Opowiedz / podaj jakiś link. Jestem ciekawy teraz
-------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
12.07.2015, 15:05:21
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) |
Nie przypadkiem chodzi o coś typu ReactPHP?
-------------------- ★Mój blog || Okiem krytyka★
|
|
|
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 20:40 |