Przechodząc przez samouczek Zend , natknąłem się na następujące stwierdzenie:
Zauważ, że ustawienia php_flag w .htaccess działają tylko wtedy, gdy używasz mod_php.
Czy ktoś może wyjaśnić, co to oznacza?
Przechodząc przez samouczek Zend , natknąłem się na następujące stwierdzenie:
Zauważ, że ustawienia php_flag w .htaccess działają tylko wtedy, gdy używasz mod_php.
Czy ktoś może wyjaśnić, co to oznacza?
mod_php
oznacza PHP, jako moduł Apache .
Zasadniczo, ładując mod_php
jako moduł Apache, pozwala Apache interpretować pliki PHP (te są interpretowane przez mod_php
) .
EDYCJA: Istnieją (przynajmniej) dwa sposoby uruchamiania PHP podczas pracy z Apache:
mod_php
) : interpreter PHP jest wtedy jakby „osadzony” w procesie Apache: nie ma zewnętrznego procesu PHP - co oznacza, że Apache i PHP mogą się lepiej komunikować .
I edytuj ponownie, po komentarzu : używając CGI lub mod_php
zależy od Ciebie: to tylko kwestia konfiguracji Twojego serwera WWW.
Aby dowiedzieć się, który sposób jest aktualnie używany na serwerze, możesz sprawdzić wyjście phpinfo()
: powinno być coś wskazującego, czy PHP działa przez mod_php
(lub mod_php5
) , czy przez CGI.
Możesz również przyjrzeć się php_sapi_name()
funkcji: zwraca typ interfejsu między serwerem WWW a PHP .
Jeśli mod_php
zaznaczysz pliki konfiguracyjne Apache, podczas korzystania z nich powinna pojawić się LoadModule
linia wyglądająca następująco:
LoadModule php5_module modules/libphp5.so
(Nazwa pliku po prawej stronie może być inna - na przykład w systemie Windows powinna to być a .dll
)
mod_php
jest zdecydowanie najpowszechniejszą konfiguracją.mod_php
to nie jest prawdziwy PHP; to tylko dodatek do Apache. A raczej myślę, że powinieneś zacząć odpowiedź od definicji Co dokładnie oznacza PHP?Ta odpowiedź pochodzi z TuxRadar :
źródło
Twój serwer musi mieć zainstalowane moduły php, aby mógł analizować kod php.
Jeśli korzystasz z systemu Ubuntu, możesz to łatwo zrobić za pomocą
W przeciwnym razie możesz skompilować Apache z php: http://dan.drydog.com/apache2php.html
Określenie systemu operacyjnego serwera pomoże innym odpowiedzieć bardziej szczegółowo.
źródło
Oznacza to, że musisz mieć PHP zainstalowane jako moduł w Apache, zamiast uruchamiać go jako skrypt CGI.
źródło
Wystarczy dodać te odpowiedzi, że mod_php jest najstarszą i najwolniejszą dostępną na serwerze HTTPD metodą używania PHP. Nie jest zalecane, chyba że używasz starszych wersji Apache HTTPD i PHP. php-fpm i proxy_cgi to metody preferowane.
źródło
mod_php to interpreter PHP.
Z dokumentacji, jednym ważnym haczykiem mod_php jest:
„mod_php nie jest bezpieczny dla wątków i zmusza Cię do trzymania się preforków mpm (wieloprocesowy, bez wątków), co jest najwolniejszą możliwą konfiguracją”
źródło