Podręcznik PHP
Poprzedni | Rozdział 3. Instalacja | Następny

# Serwery-Apache

Ten rozdział zawiera wskazówki dotyczące instalacji PHP z serwerem Apache, zarówno na systemach Unix i Windows.

## Szczegóły instalacji PHP z Apache na systemach Unix.

Możesz wybrać parametry do dodania do configure w linii 8 z Kompletnej listy opcji konfiguracji.

Przykład 3-5. Instrukcja instalacji (wersja jako moduł Apache)

    1.  gunzip apache_1.3.x.tar.gz
    2.  tar xvf apache_1.3.x.tar
    3.  gunzip php-x.x.x.tar.gz
    4.  tar xvf php-x.x.x.tar
    5.  cd apache_1.3.x
    6.  ./configure --prefix=/www
    7.  cd ../php-x.x.x
    8.  ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
    9.  make
    10. make install
    11. cd ../apache_1.3.x
    12. dla PHP 3: ./configure --activate-module=src/modules/php3/libphp3.a
        dla PHP 4: ./configure --activate-module=src/modules/php4/libphp4.a
    13. make
    14. make install

      Zamiast tego kroku możesz poprostu skopiować plik binarny httpd przebijając
      istniejący plik. Przedtem upewnij się, że serwer jest zastopowany.

    15. cd ../php-x.x.x
    16. dla PHP 3: cp php3.ini-dist /usr/local/lib/php3.ini
        dla PHP 4: cp php.ini-dist /usr/local/lib/php.ini

      Możesz wyedytować swój plik .ini aby ustawić opcje PHP. Jeśli
      chcesz użyć innej lokalizacji, użyj
      --with-config-file-path=/path w punkcie 8.

    17. Wyedytuj swój plik httpd.conf lub srm.conf i dodaj:

         Dla PHP 3:   AddType application/x-httpd-php3 .php3
         Dla PHP 4:   AddType application/x-httpd-php .php

      W tym miejscu możesz wybrać dowolne rozszerzenie. .php jest tym sugerowanym.
      Możesz nawet użyć rozszerzenie .html .

    18. Użyj zwykłej procedury dla uruchomienia serwera Apache. (Musisz zatrzymać
    i ponownie uruchomić serwer, nie tylko spowodować przeładowanie serwera
    używając sygnał HUP lub USR1.)

Zależnie od wersji Apache i rodzaju Uniksa, jest wiele możliwości aby zatrzymać i ponownie uruchomić serwer. Poniżej znajdują się typowe polecenia służące do reinstalacji serwera dla różnych wariantów Apache/Uniksa. Powinieneś zamienić `/path/to/` na ścieżkę do właściwych aplikacji na swoich systemach.

    1. Kilka wariantów Linuksa i SysV:
    /etc/rc.d/init.d/httpd restart

    2. Używając skrypty apachectl:
    /path/to/apachectl stop
    /path/to/apachectl start

    3. httpdctl i httpsdctl (Używając OpenSSL), podobnie do apachectl:
    /path/to/httpsdctl stop
    /path/to/httpsdctl start

    4. Używając mod_ssl, lub innego serwera SSL, możesz ręcznie zatrzymać i
    uruchomnić serwer:
    /path/to/apachectl stop
    /path/to/apachectl startssl

Lokalizacje binariów apachectl i http(s)dctl mogą się różnić. Jeśli twój system ma polecenia `locate` lub `whereis` albo `which`, mogą one pomóc w szukaniu programów contrl serwera.

Różne przykłady kompilacji PHP dla Apache:

    ./configure --with-apxs --with-pgsql

Stworzony zostanie współdzielona biblioteka `libphp4.so` które jest ładowana przez Apache używając linii LoadModule w pliku `httpd.conf`. W pliku `libphp4.so` zostanie zawarte wsparcie dla biblioteki PostgreSQL.

    ./configure --with-apxs --with-pgsql=shared

Tu także zostanie stworzona biblioteka współdzielona `libphp4.so`, ale zostanie stworzona także współdzielona biblioteka `pgsql.so` która może być załadowana do PHP używając dyrektywy 'extension' w pliku `php.ini` lub poprzez użycie w skrypcie funkcji dl().

    ./configure --with-apache=/path/to/apache_source --with-pgsql

Stworzona zostanie biblioteka `libmodphp4.a`, plik `mod_php4.c` i kilka dodatkowych plików, które zostaną skopiowane do katalogu `src/modules/php4` który znajduje się w drzewie źródeł Apache. Potem skompiluj Apache używając `--activate-module=src/modules/php4/libphp4.a` a system budowania Apache stworzy `libphp4.a` który zostanie dołączony statycznie do pliku binarnego `httpd`. Obsługa PostgreSQLa zostanie włączona bezpośrednio do pliku binarnego `httpd`, a więc wynikiem będzie pojedyńczy plik binarny `httpd` który zawiera całe Apache i całe PHP.

    ./configure --with-apache=/path/to/apache_source --with-pgsql=shared

To samo co powyżej, ale zamiast dołączania obsługi PostgreSQLL bezpośrednio do ostatecznego pliku `httpd` dostaniesz współdzieloną bibliotekę `pgsql.so` którą możesz załadować do PHP kożystając z pliku `php.ini` lub bezpośrednio używając dl().

Wybierając sposób budowania PHP powinieneś rozważyć wszystkie wady i zalety każdej metody. Budowanie jako obiekt współdzielony oznacza, że możesz kompilować osobno Apache i nie musisz rekompilować wszystkiego jeśli chcesz dodać lub zmienić PHP. Wbudowywanie PHP w Apache (metoda statyczna) oznacza, że PHP będzie się ładowało i uruchamiało szybciej. Aby uzyskać więcej informacji, zobacz stronę Apache na stronie wsparcia DSO.

## Instalacja PHP na systemie Windows z Apache 1.3.x

Istnieją 2 sposoby aby skonfigurować PHP do pracy z Apache 1.3.x na systemie Windows. Pierwszy to wykorzystanie binariów CGI (php.exe), a drugi to użycie DLLa modułu Apache. W obu przypadkach musisz zatrzymać serwer Apache i wyedytować plik `srm.conf` lub `httpd.conf` aby przygotować Apache do pracy z PHP.

Pomimo że istnieje kilka sposobów konfiguracji PHP w Apache, te poniższe powinny wystarczyć każdemu początkującemu. Aby uzyskać więcej informacji o dyrektywach konfiguracyjnych przejrzyj dokumentację Apache'a.

Jeśłi odzipowałeś pakiet PHP do C:\php\ tak jak zostało to opisane w rozdziale Ręczny proces instalacji , musisz dodać do pliku konfiguracyjnego Apache te linie aby ustawić binaria CGI:

- `ScriptAlias /php/ "c:/php/"`

- `AddType application/x-httpd-php .php .phtml`

- `Action application/x-httpd-php "/php/php.exe"`

Druga z powyższych linii może znajdować się w aktualnych wersjach `httpd.conf`, ale jest wykomentowana. Po zmianie pliku konfiguracyjnego trzeba zrestartować serwer, na przykład `NET STOP APACHE` a potem `NET START APACHE`, jeśli uruchamiasz Apache jako Usługę Windows, lub użyj normalnych skrótów.

Jeśli chcesz używać PHP w postaci modułu Apache, upewnij się że plik `php4ts.dll` znajduje się w katalogu windws/system (dla Windows 9x/Me) lub winnt/system32 (dla Windows NT/2000/XP), nadpisując jakiekolwiek starsze pliki. Potem powinieneś dodać poniższe 2 linie do pliku konfiguracyjnego Apache:

- `LoadModule php4_module c:/php/sapi/php4apache.dll`

- `AddType application/x-httpd-php .php .phtml`

> Notatka: W Apache 1.3.22 dla Windows, domyślny plik konfiguracyjny (`httpd.conf-dist-win`) ma domyślnie dołączoną dyrektywę `ClearModuleList`. Jeśli ta dyrektywa znajduje się w pliku konfiguracyjnym, musisz dodać `AddModule mod_php4.c` do listy `AddModule`. W przeciwnym razie PHP nie będzie zarejestrowane jako moduł Apache.

Aby użyć opcji podświetlania kodu, po prostu stwórz skrypt PHP i wstaw do niego: `<?php show_source ("original_php_script.php"); ?>` . Zamień `original_php_script.php` na nazwę pliku którego źródło chcesz pokazać. (Jest to jedyny sposób na zrobienie tego, ponieważ pod systemem Windows nie ma opcji .phps).

> Notatka: Na Win-Apache wszystkie znaki backslash ('\') w ścieżkach, jak na przykład "c:\directory\file.ext", muszą być zamienione na znaki slash ('/'), czyli "c:/directory/file.ext".

Poprzedni | Spis treści | Następny
Instalacja na systemach Windows | Początek rozdziału | Serwery-CGI/Linia poleceń