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 .





 
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 :



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 .



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( ) .



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 .



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 :

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 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 :



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 " .