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