Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> CGI a .htaccess
LukPG
post 16.05.2009, 21:01:12
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 3.10.2008

Ostrzeżenie: (0%)
-----


Witam

Zainteresowałem się tematem trybów serwera Apache: modułu Apache oraz CGI. W moim wypadku, po uruchomieniu pliku z phpinfo(), otrzymuję informację:

GATEWAY_INTERFACE CGI/1.1

Rozumiem, że trybem, w którym działa Apache jest CGI?
Na stronie:
http://wiki.joomla.pl/Jak_lepiej_uruchomi%...C5%82_Apache%3F
jest informacja: "Jeżeli Twój serwer jest skonfigurowany dla PHP jako moduł Apache, wtedy będziesz miał wybór użycia pliku albo php.ini albo .htaccess. W przypadku działania PHP w trybie CGI, by zmienić ustawienia możesz korzystać tylko z lokalnego pliku php.ini, ponieważ Apache nie ma już całkowitej kontroli nad PHP. "
Czy to znaczy, że nie mogę korzystać z pliku .htaccess? Wiem, że istnieje jeszcze jedna możliwość: moduł FastCGI. Czy warto wybrać to rozwiązanie? Za pomoc z góry dziękuję.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Zyx
post 17.05.2009, 07:43:55
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Możesz korzystać z .htaccess, ale nie możesz umieszczać w nim fragmentów konfiguracji PHP. Osobiście uważam, że skoro jest FastCGI, to nie ma co sobie zawracać głowy zwykłym CGI, który ma tragiczną wydajność, co jest szczególnie widoczne na serwerach, gdzie panuje pewien ruch. Technologia jest właściwie ta sama, tyle że FastCGI działa dużo szybciej dzięki ponownemu wykorzystywaniu tych samych procesów. Co wybrać, to już zależy od zastosowań.

Na strony z mnóstwem kont pojedynczych użytkowników właściwie nie ma dobrego wyboru. Moduł Apache'a ma problem z bezpieczeństwem, CGI z wydajnością, a na FastCGI problematyczne może być odpalenie np. 500 instancji PHP dla każdego użytkownika z osobna. Przy mniejszej liczbie kont FastCGI jest już optymalne, zaś moduł Apache'a można wziąć na serwer obsługujący pojedynczą stronę (PHP pracuje wtedy z uprawnieniami Apache'a, ale przecież Apache'a można odpalić z uprawnieniami danego użytkownika). Na swoim lokalnym komputerze wykorzystuję FastCGI w dość interesujący sposób, mianowicie mam zainstalowane jednocześnie kilka wersji PHP: każda pracuje jako osobna instancja FastCGI z własnym skryptem kontrolującym (czyli mogę je włączać i restartować niezależnie od siebie) i każdą przyporządkowałem do osobnej subdomeny. Kiedy mam jakiś skrypt i chcę go przetestować na PHP 5.2, wchodzę przez jedną subdomenę do niego. Gdy na PHP 5.3, przez drugą, gdy na PHP 6.0-dev, przez trzecią...

Przy tym muszę dodać, że z Apachem i FastCGI jest pewien problem, mianowicie to połączenie nigdy mi dobrze nie działało, a powiem nawet więcej: ono mi nigdy nie działało. Za to z Lighttpd już pracuje się w tym trybie elegancko, tyle że tu nie ma w ogóle .htaccess...

Ten post edytował Zyx 17.05.2009, 07:44:53


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
LukPG
post 17.05.2009, 14:38:18
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 3.10.2008

Ostrzeżenie: (0%)
-----


Dzięki za wyczerpującą odpowiedź. Czy mógłbyś napisać, czy do konfiguracji PHP zalicza się przepisywanie linków (mod_rewrite)? Co można zaliczyć do konfiguracji PHP? Chodzi mi o to, czy mając tryb CGI, mogę korzystać z mod_rewrite w pliku .htaccess?

Pozdrawiam

Ten post edytował LukPG 17.05.2009, 14:38:47
Go to the top of the page
+Quote Post
Zyx
post 17.05.2009, 15:02:41
Post #4





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Konfiguracja PHP to opcje, które masz w php.ini. Zajrzyj sobie, w której dokumentacji masz opisane mod_rewrite, a będziesz mieć jednocześnie odpowiedź, czy zalicza się on do konfiguracji PHP czy nie smile.gif.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
LukPG
post 17.05.2009, 17:06:13
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 3.10.2008

Ostrzeżenie: (0%)
-----


Już to jest jasne, dzięki. Kontynuując temat, mam jeszcze jedno pytanie, na które nie mogę znaleźć odpowiedzi snitch.gif Mianowicie: pisząc CGI w perlu, pliki umieszczamy w katalogu cgi-bin. Ale można też pisać skrypty CGI w PHP. Czy je również należy umieścić w folderze cgi-bin? Ja, mimo że pracuję w trybie CGI serwera Apache, pisząc w PHP, nie umieszczam tych plików w tym folderze, a wszystko działa. Mogę prosić o wyjaśnienie tej kwestii?

Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:08