Obsługa Apache (Handlers)
Apache Handlers — przypisanie rozszerzenia do PHP / CGI / innych. Jak skonfigurować w DA, przykłady typu .htm jako PHP, custom CGI, debugowanie.
Apache Handler = mapowanie rozszerzenia pliku do programu obsługującego (np. .php → PHP, .cgi → Perl). W DA dodajesz custom handlery dla niestandardowych setupów — np. .htm jako PHP, własne skrypty CGI.
Co zyskasz
- Dodasz handler dla nowego rozszerzenia.
- Skonfigurujesz
.htmjako PHP (gdy migrujesz starą stronę). - Włączysz CGI dla Perl scripts.
Wymagania wstępne
- Konto DA z dostępem do Funkcji zaawansowanych.
Wskazówka
Większości aplikacji nie potrzebuje handlerów. PHP, statyczne strony — działają automatycznie. Handlery używaj gdy konkretnie potrzebujesz mapowania innego niż standard.
Krok 1: Otwórz Obsługa Apache
Funkcje zaawansowane → Obsługa Apache.
Lista istniejących handlerów + formularz dodania.
Krok 2: Dodaj handler
Formularz:
- Extension — rozszerzenie (np.
.htm,.shtml,.pl)- Handler — typ obsługi (PHP, CGI, server-parsed, etc.)
Wybrane handlery (zależnie od wersji DA):
- application/x-httpd-php — PHP
- application/x-httpd-php-source — PHP source (pokazuje kod, nie wykonuje)
- application/x-httpd-cgi — CGI scripts
- application/server-parsed — SSI (Server-Side Includes)
- wsgi-script — Python WSGI
Typowe przypadki
.htm jako PHP
Migrujesz starą stronę gdzie wszystko ma rozszerzenie .htm, ale chcesz dodać PHP. Bez ruszania URL-i:
- Extension:
.htm - Handler:
application/x-httpd-php
Apache traktuje teraz .htm jak .php — zawartość <?php ?> jest wykonywana.
.pl jako CGI Perl
Extension: .pl
Handler: application/x-httpd-cgi
Skrypty Perl w public_html wykonują się jako CGI. Wymaga uprawnień 755 na pliku.
Server-Side Includes (SSI) dla .shtml
Extension: .shtml
Handler: server-parsed
Wbudowane includes typu:
<!--#include file="header.html" -->
Stara technika, dziś rzadko używana (zastąpiona przez PHP / templates).
Override przez .htaccess
Alternatywa dla panelu DA — w .htaccess w folderze:
AddHandler application/x-httpd-php .htm
Działa lokalnie dla tego folderu.
Wskazówka
W LSPHP (IQHost):
AddHandlerw.htaccessmoże wymagaćapplication/x-httpd-phplublsphpw zależności od wersji. Test: dodaj rozszerzenie, sprawdź czyphpinfo()w.htmwykonuje się.
Najczęstsze problemy
1. „Dodałem handler, ale plik się nie wykonuje"
- Cache LiteSpeed — wyczyść
- Sprawdź uprawnienia pliku (
.plmusi być755dla CGI) - Sprawdź composer.json / wymagania (PHP wersja)
2. „CGI script daje 500 Internal Server Error"
- Brak
#!/usr/bin/perlna początku (shebang) - Uprawnienia
755 - Skrypt z
\r\n(CRLF) zamiast\n(LF) — Linux nie lubi CRLF. Konwertuj zdos2unix.
3. „Server-parsed nie zadziałało"
SSI wymaga Options +Includes w .htaccess. W IQHost może być wyłączone z bezpieczeństwa — zgłoś ticket.
4. „Multiple handlery na jednym extension"
Działa ostatni zdefiniowany. Może wystąpić konflikt — usuń stare.
5. „PHP w innym extension działa, ale PHP-CGI vs PHP-FPM"
W LSPHP nie ma rozróżnienia CGI/FPM dla extensions — wszystko przez LSPHP. Standard mapowanie wystarcza.
6. „Mogę handler dla folderu, nie globalnie?"
Tak — .htaccess w folderze:
AddHandler application/x-httpd-php .htm
Działa tylko dla tego katalogu i podkatalogów.
7. „Bezpieczeństwo — kto może uruchamiać CGI?"
W IQHost CGI wykonuje się z uprawnieniami właściciela strony (suEXEC). Bezpieczne — atakujący skrypt nie ma dostępu do innych kont.
Słowniczek
- Handler — program obsługujący pliki danego typu.
- CGI — Common Gateway Interface, klasyczne uruchamianie skryptów.
- SSI — Server-Side Includes, stary mechanizm template'owy.
- WSGI — Web Server Gateway Interface, standard dla Pythona.
- suEXEC — uruchamianie CGI z UID właściciela.
Related
Feedback
Czy ten artykuł pomógł?

