Kurs języka HTML i CSS

Poradnik webmastera

  • Zwiększ rozmiar czcionki
  • Domyślny  rozmiar czcionki
  • Zmniejsz rozmiar czcionki

Instalacja PHP w systemach Linux i Windows

Email Drukuj PDF

Tematy: Linux | Windows


PHP jest oprogramowaniem niezależnym od platformy systemowej, jednak niezależność ta związana jest przede wszystkim z kodem źródłowym PHP — aby móc używać PHP w jednym z dwóch wymienionych w tytule rozdziału systemów operacyjnych, musimy uzyskać odpowiednią dla danego systemu wersję binarną PHP. O ile w przypadku systemów Windows najlepiej jest pobrać od razu gotową wersję binarną, o tyle w przypadku Linuksa optymalnym rozwiązaniem jest pobranie wersji źródłowej i samodzielna kompilacja.

W rozdziale przedstawiony został proces instalacji PHP oraz serwera WWW Apache w systemach Linux i Windows. Wybór systemów podyktowany został ich popularnością.

Linux

Jeśli w systemie nie został wcześniej zainstalowany serwer WWW Apache, powinniśmy go zainstalować przed rozpoczęciem instalacji PHP. Ze strony http://httpd.apache.org musimy pobrać źródła najnowszej stabilnej wersji serwera (będzie to plik o nazwie zbliżonej do httpd-2.X.X.tar.bz2, np. httpd-2.2.13.tar.bz2, lub httpd-2.X.X.tar.gz, np. httpd-2.2.13.tar.gz). Mimo iż wersje rozwojowe mogą kusić, to musimy pamiętać, że czasem pracują one niestabilnie, co może się objawiać w postaci problemów z naszą stroną WWW. Wersje niestabilne przeznaczone są przede wszystkim dla testerów i programistów pracujących nad rozwojem oprogramowania. Dlatego też powinniśmy stosować wersje stabilne i przetestowane.

Pobrany z internetu plik umieszczamy w wybranym katalogu, najlepiej /usr/src. Uruchamiamy konsolę (wedle innego nazewnictwa terminal — przykładowy wygląd zobrazowany jest na rysunku 3.1) i przechodzimy do wybranego katalogu, wydając polecenie:

cd /usr/src/

Rysunek 3.1. Przykładowy wygląd konsoli systemowej

Archiwum musimy rozpakować — zakładamy, że plik ma nazwę httpd-2.2.13.tar.bz2 lub httpd-2.2.13.tar.gz (jeśli dysponujemy inną wersją, należy odpowiednio dostosować występujące w opisach nazwy archiwum oraz katalogu). Ponieważ jest ono spakowane dwoma archiwizatorami — gzip i tar bądź bzip2 i tar — wydajemy kolejno dwa polecenia:

bunzip2 httpd-2.2.13.tar.bz2

tar -xvf httpd-2.2.13.tar

albo:

gzip –d httpd-2.2.13.tar.gz

tar -xvf httpd-2.2.13.tar

Po rozpakowaniu archiwum w katalogu bieżącym utworzony zostanie podkatalog o nazwie httpd-2.2.13. Musimy do niego wejść:

cd ./httpd-2.2.13

i uruchomić wewnątrz tego katalogu skrypt konfigurujący pliki źródłowe (opcja --enable-so umożliwi później kompilację PHP jako modułu serwera):

./configure --enable-so

Listę wszystkich możliwych opcji skryptu konfigurującego można uzyskać, uruchamiając ten skrypt z parametrem --help. Użycie samego ./configure powoduje zastosowanie domyślnych wartości dla wszystkich opcji, co w typowym zastosowaniu powinno być w zupełności wystarczające.

Następnym krokiem jest kompilacja oprogramowania — dokonujemy tego za pomocą komendy:

make

Jeśli kompilacja zakończy się powodzeniem (ten proces może zająć dłuższą chwilę), należy wydać komendę:

make install

Oprogramowanie serwera zostanie zainstalowane w systemie. Warto wiedzieć, że domyślnie Apache instalowany jest w katalogu /usr/local/apache2 — żeby zmienić lokalizację programu, należy użyć opcji skryptu konfigurującego configure o nazwie prefix, np.:

./configure --prefix=/usr/local/apache2/

Po zainstalowaniu serwera WWW trzeba go uruchomić — pierwszy raz można to zrobić „ręcznie”, jednak warto uruchamianie serwera zlecić skryptom startowym systemu, żeby serwer uruchamiał się wraz z systemem operacyjnym.

Wydanie polecenia httpd z odpowiednimi argumentami pozwala kontrolować zachowanie serwera, np. w celu uruchomienia wydajemy polecenie:

/usr/local/apache2/bin/httpd –k start

a w celu zakończenia polecenie:

/usr/local/apache2/bin/httpd –k stop

Można również korzystać ze skryptu apachectl, którego wywołanie ma postać:

/usr/local/apache2/bin/apachectl komenda

gdzie argument komenda oznacza akcję, jaka ma być wykonana. Może to być:

  • start — dla uruchomienia serwera,

  • stop — dla zatrzymania serwera,

  • status — dla wyświetlenia statusu.

Pełne listy opcji dla httpd i apachectl są dosyć długie i osoby zainteresowane mogą je znaleźć w dokumentacji serwera.

Jeśli serwer ma być uruchamiany wraz ze startem systemu operacyjnego, należy umieścić wywołanie apachetctl w jednym ze skryptów startowych, np. /etc/rc.local.

Uwaga
Jeśli podczas próby uruchomienia serwera httpd uzyskamy komunikat o błędzie opisany jako cannot restore segment prot after reloc: Permission denidedprzy próbie ładowania modułu PHP, najprawdopodobniej dysponujemy systemem z zainstalowanym rozszerzeniem SELinux (Security Enhanced Linux) i nie zostały określone właściwe uprawnienia dla tego modułu. Plik libphp5.so musi mieć zdefiniowane prawo (dokładniej rolę) shlib_t. Problem powinno zatem rozwiązać wykonanie polecenia:

chcon /usr/local/apache2/modules/libphp5.so -t shlib_t

Po uruchomieniu przeglądarki WWW i wpisaniu adresu http://localhost lub http://127.0.0.1 powinniśmy otrzymać efekt jak na rysunku 3.2 (dla serwera Apache 2.2).

Rysunek 3.2. Strona startowa serwera Apache 2.2

Mając działający serwer WWW, możemy przystąpić do kompilacji PHP. Źródła najnowszej stabilnej wersji PHP możemy znaleźć na stronie http://www.php.net. Po pobraniu archiwum zawierającego źródła PHP (zakładamy, że mamy do czynienia z wersją 5.3.0 dystrybuowaną w archiwum o nazwie php-5.3.0.tar.gz) rozpakowujemy je do wybranego katalogu, najlepiej /usr/src, np. wydając polecenia:

gzip –d php-5.3.0.tar.gz

tar –xvf php-5.3.0.tar

Następnie przechodzimy do katalogu php-5.3.0, który został automatycznie utworzony podczas dekompresji archiwum i który zawiera źródła PHP gotowe do kompilacji:

cd ./php-5.3.0

Wewnątrz tego katalogu uruchamiamy skrypt konfigurujący źródła, ale musimy pamiętać o odpowiedniej opcji, która umożliwi nam kompilację i instalację PHP jako modułu serwera:

./configure --with-apxs2=/usr/local/apache2/bin/  --with-config-file-path=/etc

Pierwsza opcja (--with-apxs2) jest konieczna, jeżeli chcemy skompilować PHP jako moduł serwera Apache. Druga opcja jest wprowadzona w tym przykładzie dla naszej wygody — chodzi o to, aby plik konfiguracyjny PHP (php.ini) umieszczony był w katalogu /etc, co pozwoli nam na łatwy dostęp do niego.

Po udanej konfiguracji źródeł należy wydać komendy make i make install — PHP zostanie zainstalowany i skonfigurowany (częściowo) do współpracy z serwerem Apache. Musimy jeszcze wprowadzić zmiany w pliku konfiguracyjnym serwera httpd.conf, który znajduje się w katalogu /usr/local/apache2/conf/. Przede wszystkim musimy „nauczyć” serwer, co ma robić z plikami z rozszerzeniem php, dodajemy więc wiersz:

AddType application/x-httpd-php .php

oraz umożliwić wczytywanie domyślnej strony w danym katalogu, jeżeli użytkownik nie określi w adresie strony nazwy pliku:

DirectoryIndex index.html index.php

Upewniamy się także, że w sekcji

Dynamic Shared Object (DSO) Support

znajduje się wpis:

LoadModule php5_module modules/libphp5.so

Po zapisaniu zmian w pliku httpd.conf restartujemy serwer WWW.

Teraz sprawdzimy, czy udało się zainstalować poprawnie PHP. W tym celu w katalogu /usr/local/apache2/htdocs tworzymy plik o nazwie test.php i wprowadzamy do niego następujący wiersz:

<?php phpinfo(); ?>

Zapisujemy plik, uruchamiamy przeglądarkę WWW i wpisujemy adres http://localhost/test.php lub http://127.0.0.1/test.php. Efekt powinien być podobny do tego z rysunku 3.3, czyli powinniśmy zobaczyć stronę informacyjną PHP.

Rysunek 3.3. Strona konfiguracyjna PHP

Pozostaje nam tylko skonfigurować PHP, ale szczegóły na ten temat znajdują się w dalszej części kursu. Na dobry początek warto do katalogu /etc skopiować plik php.ini-recommended znajdujący się w katalogu ze źródłami PHP i zmienić jego nazwę na php.ini. Pamiętajmy, że przy każdej zmianie zawartości pliku php.ini powinniśmy zrestartować serwer WWW.

Jeśli dotarliśmy do tego miejsca i nie stało się po drodze nic, czego nie przewidzieliśmy, to oznacza, że możemy już zacząć pracę w PHP działającym w systemie Linux.

Windows

Instalacja PHP w systemach Windows jest prostsza niż w systemach Linux, ponieważ nie musimy kompilować oprogramowania — możemy użyć dobrze przygotowanych wersji binarnych zarówno serwera WWW, jak i samego PHP.

Zacznijmy od instalacji serwera WWW Apache. Na początek ze strony http://httpd.apache.org musimy pobrać najnowszą stabilną i współpracującą z PHP wersję serwera (w trakcie pisania tego kursu była to wersja 2.2.13) — plik instalacyjny będzie miał nazwę podobną do apache_2.2.13-win32-x86-no_ssl.msi. W trakcie instalacji będziemy musieli podać parę niezbędnych do poprawnej pracy serwera danych, takich jak:

  • domena sieciowa serwera,

  • nazwa serwera,

  • adres e-mail administratora,

oraz podjąć decyzję, czy serwer ma pracować jako usługa (domyślnie), czy jako program uruchamiany ręcznie.

Po zakończeniu instalacji serwer zostaje uruchomiony — możemy sprawdzić jego stronę startową, wpisując w polu adresu przeglądarki http://localhost. Zobaczymy witrynę z napisem It Works!, czyli taką samą jak w przypadku instalacji w systemie Linux.

Jeśli serwer WWW działa, możemy przystąpić do instalacji PHP. Wersję binarną PHP dla Windows znajdziemy na stronie http://www.php.net — będzie to zarówno archiwum zawierające samo PHP z niezbędnymi dodatkami, jak i wersja zawierająca typowy instalator (plik będzie miał nazwę podobną do php-5.3.0-Win32-VC9-x86.msi lub php-5.3.0-Win32-VC9-x86.zip). Jeżeli zdecydujemy się na wersję z instalatorem, poprowadzi on nas przez wszystkie etapy instalacji. W trakcie tego procesu będziemy mogli wybrać serwer WWW — oczywiście wskazujemy Apache. Wtedy cała konfiguracja powinna odbyć się automatycznie, bez naszego udziału.

Jeśli pobierzemy tylko archiwum zip, rozpakowujemy jego zawartość do wybranego folderu, np. c:\Program Files\php (lub nawet c:\php). Następnie w pliku konfiguracyjnym serwera Apache wpisujemy następujące wiersze:

LoadModule php5_module "c:/Program Files/php/php5apache2.dll"

AddType application/x-httpd-php .php

Pierwszy z nich powoduje załadowanie interpretera PHP jako modułu serwera, drugi definiuje, co serwer ma robić z plikami z rozszerzeniem PHP. Oczywiście możemy jeszcze dodać wiersz:

DirectoryIndex index.html index.php

który umożliwi nam pobieranie domyślnej strony WWW zapisanej jako skrypt PHP. Po dodaniu tych wierszy do pliku konfiguracyjnego serwera WWW i zmianie nazwy pliku php.ini-recommended na php.ini (w folderze c:\Program Files\php) możemy zrestartować serwer WWW.

Aby przetestować instalację PHP, tworzymy plik index.php o treści jak w przypadku pliku test.php przedstawianego w opisie instalacji w systemie Linux i umieszczamy go w folderze htdocs znajdującym się w folderze, w którym zainstalowany został serwer Apache. Po wprowadzeniu adresu http://localhost powinniśmy zobaczyć efekt jak na rysunku 3.4.

Rysunek 3.4. Test instalacji PHP w systemie Windows

Jeżeli okno naszej przeglądarki przypomina okienko z rysunku 3.4, jesteśmy gotowi do rozpoczęcia przygody z PHP w systemie Windows.

 

PHP i HTML. Tworzenie dynamicznych stron WWW

PHP i HTML.
Tworzenie dynamicznych stron WWW

PHP 5. Narzędzia dla ekspertów

PHP 5. Narzędzia dla ekspertów

PHP. Praktyczne projekty

PHP. Praktyczne projekty

Nowości Helionu

Statystyki

Użytkowników : 766
Artykułów : 513
Zakładki : 28
Odsłon : 15754467