PHP i Windows - Instalacja środowiska Udostępnij na: Facebook

Autor: Maciej Wilgucki

Opublikowano: 2011-06-28

Jaki serwer kojarzy się z PHP? Oczywiście Apache. A jaka baza danych kojarzy się z PHP? Oczywiście MySQL. Te trzy technologie są ze sobą tak mocno związane, że w zdecydowanej większości przypadków na Windowsie instaluje się stos AMP (Apache + MySQL + PHP) w postaci jednego instalatora. W chwili obecnej na rynku dostępnych jest co najmniej pięć popularnych aplikacji tego typu. Niezauważony w kącie stoi IIS, który wbrew pozorom niczym nie ustępuje wspomnianej wcześniej paczce.

PHP na IIS?

Jak to możliwe, że PHP działa na IIS? Dzięki Common Gateway Interface (CGI), a dokładniej FastCGI. CGI jest publicznie dostępnym interfejsem umożliwiającym komunikację między serwerem a skryptami, a którego implementacja jest niezależna od systemu operacyjnego. Skrypty można pisać w wielu językach, m.in. Perl, Python, Ruby oraz PHP.

Obsługa skryptów CGI łączyła się wcześniej z koniecznością utworzenia nowego procesu dla każdego przychodzącego żądania. Po obsłużeniu żądania (najczęściej występującego po zakończeniu działania skryptu) proces jest usuwany, a serwer czeka na kolejne żądanie. Takie podejście do obsługi interpretowanych języków niestety się nie sprawdziło, ponieważ mocno obciążało serwer.

Rozwiązanie problemu nadeszło razem z FastCGI, który jest oparty na ciągle uruchomionym procesie (lub wielu procesach), oczekującym na żądanie, które należy obsłużyć. W ten sposób zużycie zasobów procesora zostało znacząco ograniczone, a same aplikacje mocno przyspieszyły.

Instalujemy PHP na IIS

Sposobów instalacji PHP na serwerze IIS jest wiele. Najprostszym i zarazem najszybszym jest zainstalowanie go za pomocą narzędzia Web Platform Installer. Aplikację pobieramy ze strony http://www.microsoft.com/web/downloads/platform.aspx, a następnie instalujemy. Po uruchomieniu Web PI (skrót od Web Platform Installer) powinniśmy zobaczyć okno główne programu (rys. 1). Widoczne w oknie głównym aplikacje mogą różnić się od widocznych na rysunku.

Rys. 1. Okno główne programu Web Platform Installer.

Aby zainstalować PHP na serwerze IIS, wystarczy, że wpiszemy w polu wyszukiwania PHP. Na liście wyników, obok dobrze znanych aplikacji stworzonych w PHP, znajdziemy to, czego szukamy – PHP 5.3.5. Oprócz samego języka dobrze jest zainstalować PHP Manager for IIS, będący niezastąpionym pomocnikiem podczas modyfikowania ustawień PHP.

Instalacja PHP sprowadza się do kliknięcia w Dodaj obok nazwy „PHP 5.3.5” i „PHP Manager for IIS” oraz kolejnego kliknięcia w Zainstaluj. Przez kolejne kroki instalacji przeprowadzi nas instalator.

Na tym kończymy instalowanie środowiska i zabieramy się za jego konfigurowanie. W tym celu musimy uruchomić Menedżera internetowych usług informacyjnych (IIS) oraz wybrać opcję PHP Manager (rys. 2).

**Rys. 2. Menedżer internetowych usług informacyjnych (IIS).

Po wybraniu PHP Managera uzyskamy dostęp do wszystkich ustawień PHP. Z tego poziomu możemy dodać nową wersję PHP oraz zmienić domyślną wersję (rys. 3):

**Rys. 3. Zarządzanie wersją PHP.

Można stąd także uzyskać dostęp do pliku konfiguracyjnego php.ini oraz logów, skonfigurować raportowanie błędów, ustawić limity środowiska (rys. 4):

**Rys. 4. Ustawienia PHP.

Można również zainstalować nowe rozszerzenie lub włączyć/wyłączyć już zainstalowane (rys. 5):

**Rys. 5. Zarządzanie rozszerzeniami PHP.

Powyższe ustawienia nie różnią się niczym od ustawień PHP zainstalowanego na Apache. Możemy je modyfikować „po staremu” - bezpośrednio w pliku php.ini lub możemy skorzystać z przygotowanych edytorów. Niezależnie od sposobu wprowadzania zmian, będą one widoczne zarówno w pliku php.ini, jak i w PHP Manager.

Na koniec pozostało nam sprawdzenie, czy PHP rzeczywiście działa. W tym celu w katalogu C:\inetpub\wwwroot należy utworzyć plik info.php, a w nim wpisać <?php phpinfo(); ?>. Następnie w przeglądarce wpisujemy adres http://localhost/info.php – powinniśmy zobaczyć standardową stronę z opisem konfiguracji PHP.

Niezbędnik programisty

Zainstalowaliśmy PHP na serwerze oraz sprawdziliśmy czy działa, pora więc przejść do narzędzi. Pierwszym z nich jest edytor oraz IDE. Na rynku znajduje się wiele narzędzi, z których możemy skorzystać i ich wybór w znacznej mierze zależy od naszych przyzwyczajeń.

Spośród dostępnych edytorów oraz IDE na uwagę zasługują:

  • PhpStorm, Eclipse, Netbeans – rozbudowane IDE oferujące wiele niezbędnych funkcjonalności, takich jak podpowiadanie składni, debugowanie kodu, obsługę systemów kontroli wersji czy zautomatyzowany deploy projektu na serwer.
  • Expression Web – aplikacja stworzona głównie z myślą o frontend developerach. Pozwala pobrać z dowolnego serwera aplikację i pracować na niej lokalnie, oferuje też inne usprawnienia, m.in. podgląd strony na żywo w najpopularniejszych na rynku przeglądarkach (dzięki dodatkowi ExpressionSuperPreview, który można zainstalować oddzielnie). Programiści PHP również odnajdą interesujące funkcjonalności, np. podpowiadanie składni.
  • Notepad++, PSPad – proste edytory tekstowe oferujące podstawowe funkcjonalności (np. kolorowanie składni). Niezbędne w przypadku konieczności wprowadzenia szybkich poprawek do kodu.
  • VS.PHP – dodatek do Visual Studio (lub, jeśli nie posiadamy VS, instalowany jako osobna aplikacja) będący pełnoprawnym IDE dla programistów PHP. Podobnie jak w przypadku pozostałych IDE, posiada wbudowany debuger oraz podpowiada składnię. Ponadto pozwala na korzystanie z pluginów do Visual Studio, umożliwiających pracę z systemami kontroli wersji. Z jego pomocą można łączyć się do zdalnych serwerów, korzystając z protokołów ftp, sftp, ssl oraz smb.
  • Phalanger – projekt umożliwiający kompilowanie PHP do postaci „rozumianej” przez platformę .NET. Dzięki niemu programiści PHP mają możliwość korzystania z typów dostępnych w .NET w taki sam sposób, jak z dowolnych obiektów i klas PHP. Phalanger instaluje się jako dodatek do Visual Studio i pozwala tworzyć projekty PHP kompilowane do postaci MSIL.

Ponieważ w dalszych częściach niniejszej serii artykułów będziemy pracować z bazą SQL Server, niezbędne okaże się SQL Server Management Studio Express, będące zaawansowanym desktopowym odpowiednikiem phpMyAdmin. Aplikację zainstalujemy, korzystając z Web PI.

Programowanie w PHP dość mocno związane jest z frontendem. Obecnie na rynku dostępnych mamy pięć popularnych przeglądarek, działających na trzech systemach operacyjnych. Niestety, nie żyjemy w idealnym świecie i tworzona przez nas aplikacja musi zostać przetestowana w jak największej ilości przeglądarek. Możliwość tę oferuje wspomniany już ExpressionSuperPreview, aplikacja wchodząca w skład Expression Web lub instalowana jako oddzielny produkt. Dzięki ExpressionSuperPreview mamy możliwość podejrzenia wyglądu strony w przeglądarkach IE (od wersji 6 do bieżącej) oraz w takich przeglądarkach, jak Firefox, Chrome czy Safari uruchomione na Mac OS.

Jeśli zależy nam na pełnej kontroli nad przeglądarkami, w których testujemy aplikację, nie obejdzie się bez maszyn wirtualnych. Microsoft wyszedł naprzeciw programistom i przygotował szereg maszyn wirtualnych z zainstalowanymi różnymi wersjami Windowsa oraz Internet Explorera. Maszyny wirtualne można znaleźć pod adresem http://www.microsoft.com/downloads/en/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef.

Kolejną wartą uwagi aplikacją jest WebMatrix, narzędzie przygotowane z myślą o osobach chcących w prosty sposób stworzyć aplikację internetową. Więcej informacji na temat WebMatrix można znaleźć pod adresem http://www.microsoft.com/web/webmatrix/.

Ostatnie narzędzie nie zostało stworzone z myślą o programistach PHP, niemniej może okazać się bardzo pomocne, jeśli zachodzi potrzeba śledzenia zmian z pliku „na żywo”. W środowisku linuksowym mamy do dyspozycji polecenie tail, wyświetlające aktualnie dodawane do śledzonego pliku dane. Windows, a dokładniej PowerShell, oferuje identyczną funkcjonalność – wystarczy w konsoli PowerShell wpisać polecenie Get-Content sciezka\do\pliku\log.txt –Wait.

Podsumowanie

Dzisiejszy artykuł wprowadził nas (i PHP) do świata IIS. Oprócz sposobu instalacji, poznaliśmy również narzędzia ułatwiające tworzenie aplikacji PHP. W następnej części tego cyklu artykułów poznamy moduł URL Rewrite, będący odpowiednikiem Apache’owego modułu mod_rewrite. Dowiemy się, jak tworzyć reguły, aby nasze linki były przyjazne dla użytkowników oraz jak przenieść reguły zapisane w pliku .htaccess do IIS’a.