PHP 5.x w IIS 6

Okazuje się, że IIS 6 bardzo ładnie współpracuje z PHP 5.x. Wystarczy tylko poprawinie przeprowadzić instalację.

Co będziemy potrzebowali:

  1. PHP w wersji 5.x w postaci archiwum .zip (nie wersję instalacyjną !) pobraną z np: klik
  2. PECL także z poprzedniego linku

W pierwszej kolejności rozpakowujemy pierwszą paczkę, najlepiej do „c:\php” (moja rada, starać się nie wypakowywać do katalogu którego nazwa zawiera spacje).

Następnie rozpakowujemy PECL do podkatalogu „..PHP\ext” (przykładowo: „C:\PHP\ext”), z tym że dwa pliki: php5servlet.dll i php5activescript.dll przenosimy do katalogu głównego PHP („C:\PHP”).

Teraz zajmiemy się konfiguracją PHP

Po rozpakowaniu, w katalogu PHP znajduje się przykładowy plik konfiguracyjny (najczęściej php.ini-recommended, albo coś w tym guście), proponuję bazować na nim, czyli zmienić jego nazwę na php.ini. Następnie otwieramy ten plik do edycji.

  • znajdujemy wpis „cgi.force_redirect” i usuwamy komentarz (czyli usuwamy z początku tego wiersza „//”) a wartość ustawiamy na 0 (zero)
  • tworzymy podkatalog session i wpisujemy ścieżkę dostępu do niego w pozycję „session.save_path” (czyli np. „session.save_path=c:\php\session”)
  • szukamy pozycji „extension_dir” i sprawdzamy czy poprawnie wskazuje na nasz podkatalog „..\php\ext” (czyli np. „extension_dir=c:\php\ext”)
  • w zmiennej PATH serwera windows 2003 wskazujemy katalog php (czyli np. „c:\php”) – nie wiesz jak to zrobić? – klik

Teraz zajmiemy się konfiguracją IIS

Dodamy rozszerzenie PHP ISAPI do usług sieciowych w IIS. W tym celu przechodzimy do sekcji zarządzania serwerem IIS („IIS Manager„):

  • Control Panel
  • Narzędzia Administracyjne (Administrative Tools)
  • Internet Information Services (IIS) Manager

Po prawej stronie, pod „Internet Information Services” są wyszczególnione wszystkie serwery – rozwijamy ten który nas interesuje (najczęściej jest tylko jeden) i wybieramy „Web Service Extension” gdzie wybieramy „Add a new Web service extension„:

W oknie które się pojawi wpisujemy nazwę rozszerzenia np: „PHP ISAPI” i klikamy na „Add”.

W tym momencie jesteśmy proszeni o wskazanie położenia biblioteki, która dla PHP 5.x nazywa się php5isapi.dll. Jeżeli lokalizacja PHP jest taka jaką polecałem to plik ten znajduje się w katalogu „c:\php”:

Ważną rzeczą jest przed zamknięciem okna, ustawienie rozszerzenia na status „Allowed„:

Kolejnym elementem jest skojarzenie plików z rozszerzeniem .php z instalowanym przez nas PHP 5.x. W tym celu ponownie w Sekcji Zarządzania Serwerem IIS („IIS Manager„) rozwijamy gałąź „Web Sites” i klikamy prawym przyciskiem myszy na serwerze IIS, dla którego stworzymy skojarzenie z plikami .php

i z listy która się rozwinie wybieramy ustawinienia „Properties”. W oknie ustawień wybieramy zakładkę „Home Directory” a tam klikamy na „Configuration„:

W kolejnym oknie wybieramy zakładkę „Mappings” i klikamy na przycisk „Add„:

Następnie ponownie wskazujemy ścieżkę do pliku php5isapi.dll, uzupełniamy „Extension” (rozszerzenie plików – „.php„) oraz ustawiamy limity na „GET, POST, HEAD„:
i klikamy OK.

Ostatnim elementem jest zezwolenie serwerowi na przetwarzanie skryptów. W tym celu ponownie wywołujemy ustawienia serwera (patrz poprzednio – gałąź „Web Sites„) i w zakładce „Home Directory” włączamy opcję „Scripts only„:

Teraz pozostaje już tylko zrestartowanie serwera IIS i skrypty PHP powinny śmigać aż miło 😉

Artykuł jest moim doświadczeniem empirycznym + wolnym tłumaczeniem ze strony klik

Dodaj komentarz

Twój adres email nie zostanie opublikowany.