MYSQL I PHP NA SERWERZE WWW, Poradniki

[ Pobierz całość w formacie PDF ]
PORADY
MYSQL I PHP NA SERWERZE WWW
Strony WWW
Apache HTTP
Server
freeware
KRASNAL Serv
freeware
MySQL 4
freeware
MySQL-Front
freeware
PHP 4
i
PHP 4
Installer
freeware
Kody êród∏owe –
przyk∏adowe strony
PHP
Ekspert pokaże, jak napisać mecha-
nizm automatycznie generujący za-
wartość strony WWW na podstawie
bazy danych. Jest to najlepszy spo-
sób na realizację bardziej rozbudowa-
nych witryn
towa napisana w HTML
to ju˝ prze˝ytek.
Wspó∏czesne witryny stajà si´ co-
raz bardziej interaktywne, pozwa-
lajàc na pobieranie danych
od u˝ytkownika, a po ich przetwo-
rzeniu zwracajà wyniki. Dlatego
w celu wykonania profesjonalnej
strony nie mo˝na si´ ograniczaç
do stosowania technologii wyko-
nywanych tylko po stronie klienta
(client-side), takich jak na przy-
k∏ad JavaScript.
Ostatnio gwa∏townie wzros∏o
zainteresowanie technologiami
server-side, czyli takimi, które wy-
konywane sà bezpoÊrednio
na serwerze WWW. Jednym z naj-
popularniejszych j´zyków skrypto-
wych, wykorzystywanych na witry-
nach z dynamicznie generowany-
mi stronami WWW,jest niewàt-
pliwie PHP. Ten z kolei, zintegro-
wany z bazà danych MySQL,sta-
nowi pot´˝ne narz´dzie.
W poni˝szym artykule Ekspert
przedstawi, w jaki sposób zainsta-
lowaç, skonfigurowaç i powiàzaç
ze sobà te narz´dzia tak, aby
stworzy∏y wspólne Êrodowisko
pracy. Na koniec,na przyk∏adzie
prostej strony napisanej w j´zyku
PHP, Ekspert poka˝e, jak pobieraç
dane z bazy danych przechowy-
wanej w MySQL-u i dynamicznie
generowaç strony WWW. W ten
sposób zostanà opisane niezb´d-
ne podstawy potrzebne do tego,
by móc samemu zaczàç tworzyç
profesjonalne witryny z dynamicz-
nie zmieniajàcà si´ zawartoÊcià.
Środowisko pracy
Ekspert poka˝e, jak stworzyç
ksià˝k´ telefonicznà i wyÊwietliç jej
zawartoÊç na stronie WWW. Wyko-
rzystamy PHP i MySQL-a. System
pobierania i wyÊwietlania odpo-
wiednich informacji wymaga jesz-
cze jednego sk∏adnika – serwera
WWW. B´dzie nim Apache HTTP
Server pracujàcy pod kontrolà
Windows 2000. Jednak zarówno
Apache Server jak i inne opisywa-
ne narz´dzia mo˝na zainstalowaç
na dowolnej wersji Windows.
MySQL to jeden z najpopular-
niejszych serwerów baz danych.
Jego sukces to efekt wielu zalet:
jest darmowy, niezwykle szybki,
a tak˝e niezawodny. Pozwala na jed-
noczesnà prac´ z nieograniczonà
liczbà u˝ytkowników (jedynym limi-
tem mogà byç ograniczenia sprz´to-
we serwera). MySQL doskonale na-
daje si´ do wspó∏pracy z PHP, dlate-
go na jego podstawie coraz cz´Êciej
tworzone sà du˝e serwisy informa-
cyjne i sklepy internetowe. Przedsta-
wione informacje b´dà przydatne
nie tylko dla osób, które majà w∏a-
sny serwer WWW.
Webmasterzy, którzy korzystajà
z firm hostingowych, oferujàcych
na swoich serwerach obs∏ug´ tech-
nologii PHP w powiàzaniu z bazà
danych, równie˝ znajdà tu coÊ dla
siebie. W dalszej cz´Êci artyku∏u
znajduje si´ opis MySQL-Front,
za pomocà którego mo˝na zarzà-
dzaç serwerem MySQL znajdujàcym
si´ na serwerze w internecie (o ile
dostawca us∏ugi otwiera dost´p
do serwera)
.
Instalacja i konfiguracja MySQL
ono domyÊlnie w kata-
logu
C:\MySQL\Bin
pod nazwà
WinMy-
SQLAdmin.exe
N
ajnowsza wersja serwera,
jaka by∏a dost´pna w trak-
cie pisania artyku∏u,ma numer
4.0.12. Zosta∏a ona oczywiÊcie za-
mieszczona na krà˝ku CD za∏àczo-
nym do numeru, mo˝na tak˝e jà po-
braç ze strony www.mysql.com
Uruchamiamy instalator z p∏yty
CD lub rozpakowujemy plik ZIP
z serwerem Êciàgni´ty z internetu.
Sam proces instalacji jest dosyç
prosty i intuicyjny – pami´tajmy tyl-
ko, ˝e jako poczàtkujàcy u˝ytkowni-
cy powinniÊmy wskazaç opcj´ typo-
wej instalacji . W kolejnym oknie
jako katalog docelowy MySQL-a za-
znaczamy
C:\mysql
Modyfikacja ustawień
MySQL-a
1.
Zanim rozpoczniemy tworzenie
bazy danych, nale˝y zmodyfikowaç
plik
my.ini
, który okreÊla parametry
pracy serwera. Mo˝na to zrobiç
r´cznie,tworzàc go i edytujàc, jed-
nak poczàtkujàcym u˝ytkownikom
Ekspert poleca skorzystanie z narz´-
dzia WinMySQLAdmin. Znajduje si´
2.
Po uruchomieniu
programu wykryje on,
˝e w domyÊlnym kata-
logu systemowym
Windows nie ma pliku
my.ini
i utworzy go. Zostaniemy
poproszeni o wybranie has∏a do po-
∏àczenia si´ z bazà danych. Ekspert
wpisa∏ nazw´ u˝ytkownika
root
oraz has∏o
eks_pert*254
.
Uwaga! – has∏o roota jest standar-
dowo puste, nale˝y je zmieniç (po-
kazujemy to w ramce na stronie 43).
go. Aby go uruchomiç, nale˝y klik-
nàç prawym przyciskiem myszy na
jego ikon´
i wybraç polecenie
. Od tej chwili program
b´dzie automatycznie uruchamia∏
si´ przy starcie systemu operacyjne-
go.
3.
Zaraz po tym WinMySQLAdmin
chowa si´ do zasobnika systemowe-
42
SIERPIEŃ - WRZESIEŃ 2003
z automatu
S
tatyczna strona interne-
Zmiana hasła w MySQL-u
każdy może dostać się do danych znajdujących się w bazie MySQL-a. Należy więc koniecznie
zmienić hasło użytkownika
root
zdefiniowanego w domyślnej bazie o nazwie mysql, a dokładnie
w tabeli
user
w tej bazie. Po instalacji MySQL-a
root
ma puste hasło, więc logujemy się na to kon-
to, nie podając hasła. W tym celu wpisujemy komendę
mysql -u root
Następnie wykonujemy p
ole-
cenie
, które wybiera bazę
o nazwie mysql oraz wpisujemy komendę zmieniającą hasło roota .
4.
WinMySQLAdmin pozwala
nam na zak∏adce
zweryfikowaç, czy sta
rt
serwera
przebieg∏ poprawnie .
si´ jednak nie sta∏o, nale˝y us∏ug´
dodaç r´cznie.
1.
W tym celu w linii komend
przechodzimy do katalogu
c:\mysql\bin
i wpisujemy w niej
polecenie .
5.
Dodatkowo, za pomocà zak∏ad-
ki mo˝emy zmie-
niç niektóre ustawienia pracy My-
SQL-a .
Jak widaç, w systemie sà ju˝
dwie domyÊlne bazy:
mysql
oraz
test
. Pierwsza z nich przechowuje
dane na temat u˝ytkowników oraz
ich uprawnieƒ, druga jest pustà ba-
zà, automatycznie utworzonà przez
MySQL-a w celach testowych.
Tworzymy własną bazę
1.
Aby stworzyç baz´ danych, na-
le˝y pos∏u˝yç si´ poleceniem
cre-
ate database nazwa_bazy;
Na-
tomiast usuwa si´ jà poleceniem
drop database nazwa_bazy;
W celu utworzena bazy
w MySQL-u wydajemy polecenie .
tego komendà
use nazwa_bazy
W naszym wypadku wpisujemy wi´c:
use ksiazka_telefoniczna;
4.
W celu stworzenia tabeli
dane
wydajemy polecenie
.
5.
Po utworzeniu tabeli
dane
, de-
finiujemy w niej pola i ich typy (wy-
jaÊnione w ramce obok) .
Typy pól w MySQL
Dla naszej wygody zmieƒmy
Êcie˝k´ do katalogu z informacjami
o ewentualnych b∏´dach tak, by by∏y
one podawane w j´zyku polskim.
W tym celu usuwamy znak komen-
tarza
#
w linijce
language
i podajemy Êcie˝k´:
language=C:/mysql/share/polish
2.
Warto wiedzieç, ˝e us∏ug´ My-
SQL mo˝emy w przysz∏oÊci urucha-
miaç i zatrzymywaç w systemie za
pomocà poleceƒ:
net start mysql
net stop mysql
Logowanie do MySQL-a
1.
W celu po∏àczenia si´ lokalnie
z naszà bazà danych wydajemy z li-
nii komend polecenie
.
Char(N)
– pole znakowe, przecho-
wujące teksty o określonej z góry dłu-
gości. Ograniczone do 255 znaków.
Varchar(N)
– pole znakowe, ale
przechowujące tekst o takiej długości,
jaka jest używana.
Int(N)
– pole liczb całkowitych
(od -2 147 483 647 do
2 147 483 647). Jeśli dodamy para-
metr Unsigned, to będzie miało war-
tość od 0 do 4 294 967 295.
Date
– pole daty.
Blob/Text
– pole tekstowe,
przechowujące tekst nie dłuższy niż
65 535 znaków.
6.
Pole
id
pe∏ni rol´ klucza
podstawowego (ang.
primary
key
) i oznacza danà kolumn´ jako
klucz g∏ówny tabeli. W tabeli mo-
˝e wyst´powaç tylko jeden klucz
g∏ówny, którego wartoÊci nie mo-
gà si´ powtarzaç ani nie mogà
byç puste (
NULL
). WartoÊç
id
identyfikuje konkretny rekord,
a jego wartoÊç jest automatycznie
wstawiana przez MySQL jako
o 1 wi´ksza od poprzedniego
(ang. auto increment). W przypad-
ku usuni´cia któregoÊ z rekordów
wartoÊci pól
id
poszczególnych
rekordów nadal pozostanà nie-
zmienione, unikatowe.
6.
Zapisujemy wprowadzone
zmiany za pomocà przycisku
.
Ekspert radzi
O
czywiście możemy znacznie
bardziej szczegółowo sprecy-
zować parametry pliku
my.ini
, ale
na początek takie ustawienia po-
zwolą na prawidłową pracę z bazami
danych. Zainteresowanych dodatko-
wymi opcjami Ekspert odsyła do
pliku z dokumentacją, który znajduje
się domyślnie w katalogu
c:\mysql\docs\manual.html
2.
Po parametrze
-u
wpisujemy
nazw´ u˝ytkownika (zwykle
root
)
oraz parametr
-p
, jeÊli do zalogo-
wania si´ do bazy potrzebne jest
has∏o (wi´cej informacji w ramce
Zmiana has∏a w MySQL-u). W ko-
lejnej linijce wpisujemy has∏o u˝yt-
kownika root. Po udanej autoryzacji
otrzymujemy dost´p do bazy.
2.
Tworzymy tabel´
dane
. Mu-
simy w niej zdefiniowaç potrzebne
nam pola, czyli
id
(identyfikator),
imie
,
nazwisko
,
adres
,
telefon
7.
Majàc ju˝ stworzonà tabel´
dane
, mo˝emy teraz obejrzeç jej
struktur´. W tym celu wydajemy
Serwer MySQL pracujący
jako usługa
W Windows NT/2000/XP, w mo-
mencie pierwszego uruchomienia
narz´dzia WinMySQLAdmin, MySQL
jest automatycznie dodawany do li-
sty us∏ug systemowych i przy na-
st´pnych uruchomieniach kompute-
ra startuje automatycznie. Gdyby tak
3.
Skoro jesteÊmy ju˝ zalogowani
do bazy, warto wyÊwietliç jej zawar-
toÊç za pomocà komendy .
oraz
email
. Pami´tajmy tak˝e, ˝e
ka˝de polecenie koƒczymy zna-
kiem Êrednika.
komend´ . W efekcie widzimy in-
formacje na temat wybranej tabeli.
8.
Skoro mamy ju˝ stworzonà
baz´ danych oraz tabel´, czas wy-
pe∏niç jà danymi. Dodanie nowych
rekordów dokonuje si´ za pomocà
3.
Rozpoczynajàc prac´ z któràÊ
z istniejàcych baz danych, nale˝y naj-
pierw do niej przejÊç. Dokonujemy

SIERPIEŃ - WRZESIEŃ 2003
43
P
o instalacji MySQL-a hasło dla użytkownika
root
jest puste. Wykorzystując tę lukę, praktycznie
 PORADY
MYSQL I PHP NA SERWERZE WWW
Lista podstawowych operacji na bazie itabelach wMySQL
Logowanie do konsoli MySQL
c:\mysql\bin>mysql -u nazwa_u˝ytkownika -p
Tworzenie nowej bazy danych
CREATE DATABASE nazwa_bazy;
Wyświetlenie listy baz
SHOW DATABASES;
Wybranie bazy danych do edycji
USE nazwa_bazy;
Usunięcie bazy danych
DROP DATABASE nazwa_bazy;
Wyświetlenie listy tabel w bazie
SHOW TABLES;
Utworzenie nowej tabeli
CREATE TABLE nazwa_tabeli (lista pól i typy);
Zmiana nazwy tabeli
ALTER TABLE nazwa_tabeli RENAME nowa_nazwa;
Wyświetlenie struktury tabeli
DESCRIBE nazwa_tabeli;
Skasowanie tabeli
DROP TABLE nazwa_tabeli;
Dodanie pola do istniejącej tabeli
ALTER TABLE nazwa_tabeli ADD nazwa_pola typ_pola;
Zmiana typu pola w tabeli
ALTER TABLE nazwa_tabeli MODIFY nazwa_pola typ_pola;
Usunięcie pola w tabeli
W nawiasie
podajemy war-
toÊci dla po-
szczególnych,
kolejnych pól
znajdujàcych si´
w tabeli
dane
.
Warto zauwa˝yç,
˝e Ekspert po-
minà∏ podanie wartoÊci dla pola
id
,
gdy˝ jego wartoÊç wstawiana jest
automatycznie. W analogiczny spo-
sób wprowadzamy kolejne rekordy.
9.
Mo˝emy teraz wyÊwietliç re-
kordy w tabeli
dane
. Dokonamy te-
go komendà . Na ekranie widzimy
list´ wprowadzonych rekordów .
10.
Po wype∏nieniu bazy da-
nych rekordami czas poznaç My-
SQL-Front – narz´dzie, które u∏a-
twia obs∏ug´ MySQL-a.
Lista podstawowych operacji na rekordach wMySQL
ALTER TABLE nazwa_tabeli DROP COLUMN nazwa_pola;
Dodanie rekordu
INSERT INTO nazwa_tabeli VALUES (wartoÊci poszczególnych pól);
Usunięcie rekordu
DELETE FROM nazwa_tabeli WHERE nazwa_pola = ‘Kowalski’;
Wybranie rekordów
SELECT * FROM nazwa_tabeli WHERE nazwa_pola = ‘Jan’;
według kryterium
Wybranie poszcze-
SELECT id, nazwisko FROM nazwa_tabeli
gólnych pól zbazy
WHERE nazwa_pola = ‘Jan’;
Sortowanie wyników
SELECT imie, nazwisko FROM nazwa_tabeli ORDER BY nazwisko;
według kryterium
Modyfikacja rekordów
UPDATE nazwa_tabeli SET nazwisko = ‘Adamczak’ WHERE id = 4;
polecenia
INSERT
. Ekspert poka-
˝e, jak wprowadziç do naszej bazy
nowego u˝ytkownika Jan Kowalski.
Wydajemy polecenie .
MySQL-Front
D
o zarzàdzania i edytowania
dost´pnych jest wielu klientów baz
danych, za pomocà których mo˝emy
pracowaç z MySQL. Jednym z z nich
jest darmowy MySQL-Front. Jego
najnowszà wersj´ 2.5 zamieÊciliÊmy
na krà˝ku CD Eksperta. Jest to prosta
aplikacja, dzia∏ajàca pod systemem
Windows, pe∏niàca rol´ klienta SQL.
Za jej pomocà mo˝emy w ∏atwy
i intuicyjny sposób zarzàdzaç bazà,
czyli mi´dzy innymi: tworzyç, usu-
waç i edytowaç bazy danych, tabele
i rekordy, uruchamiaç komendy SQL,
zarzàdzaç u˝ytkownikami, przeprowa-
dzaç diagnostyk´ i optymalizacj´
baz danych, zapisywaç informacje
w formacie CSV i HTML. Ekspert
poka˝e kilka mo˝liwoÊci klienta My-
SQL-Front.
Połączenie z bazą
danych
Po uruchomieniu programu kli-
kamy na przycisk i podajemy
nazw´ nowego po∏àczenia. Nast´p-
nie podajemy szczegó∏y po∏àczenia,
takie jak nazwa hosta, login, has∏o
oraz nazwa bazy, z którà mamy za-
miar pracowaç . Po klikni´ciu
na przycisk mo˝emy ju˝ praco-
waç z serwerem baz danych.
Tworzenie nowej tabeli
W celu utworzenia nowej tabeli
wchodzimy do menu i wybie-
ramy . Nast´pnie
podajemy szczegó∏y dotyczàce
no-
wej tabeli, takie jak jej nazwa ,
oraz za pomocà przycisku de-
finiujemy list´ pól wraz z ich typami.
Po naciÊni´ciu przycisku
zostanie ona stworzona w naszej ba-
zie i pojawi si´ w prawej kolumnie
panelu MySQL-Front . Teraz mo-
˝emy jà modyfikowaç.
Dodawanie nowego pola
1.
Pole dodajemy, klikajàc w pra-
wym panelu na zak∏adk´ ,
a nast´pnie na ikon´
.
Pojawi si´
okno, które wype∏niamy danymi
na temat nowego pola .
po klikni´ciu prawym przyciskiem
na pole, rekord czy inny obiekt i wy-
branie po-
lecenia .
3.
Jednak bardzo przydat-
na okazuje si´ lista ikon ,
znajdujàcych si´ w prawym
panelu. Za ich pomocà mo-
˝emy mi´dzy innymi prze-
glàdaç dane, zmieniaç w∏a-
ÊciwoÊci tabeli, dodawaç
nowe pola, wprowadzaç rekordy
czy usuwaç pola.
2.
Sama obs∏uga programu jest
bardzo intuicyjna i nie sprawia wi´k-
szych trudnoÊci. Dost´p do wielu
operacji uzyskujemy przewa˝nie
Serwer WWW obsługujący PHP
Instalacja Apache
Pakiet instalacyjny najnowszej
wersji Apache (obecnie jest to
2.0.46) zamieszczony zosta∏ na p∏y-
cie do∏àczonej do magazynu. Jego
najnowsza wersja dost´pna jest tak-
˝e na stronie projektu, czyli
www.apache.org JeÊli korzystamy
z Windows XP, musimy najpierw za-
instalowaç Service Pack 1 (opubli-
kowany w Ekspercie 3/03).
jàc, czy akceptujemy licencj´
i przedstawiajàc informacje o pro-
dukcie. Warto zwróciç uwag´
na cz´Êç dotyczàcà podania szcze-
gó∏ów naszego serwera .
1.
Instalacja serwera Apache jest
dosyç prosta. Przyjazny instalator
prowadzi nas krok po kroku, pyta-
2.
W tym miejscu musimy po-
daç nazw´ naszej domeny, adres
44
SIERPIEŃ - WRZESIEŃ 2003
bazami danych, tabelami czy
rekordami nie musimy wcale wpisy-
waç skomplikowanych tekstowych
poleceƒ w linii komend. W internecie
Ekspert radzi
cuje już usługa WWW, na
przykład
IIS
, to na czas instalacji
Apache’a należy ją zatrzymać.
W wypadku
IIS
-a najprościej jest
to zrobić poleceniem
net stop w3svc
W przyszłości należy całkowicie
zablokować start usługi WWW
za pomocą Menadżera Usług.
internetowy hosta, adres e-mail
osoby odpowiedzialnej za prac´
serwera, a tak˝e mamy mo˝liwoÊç
zdefiniowania, na jakim porcie
TCP/IP pracowaç b´dzie us∏uga
WWW (standardowo jest to port
o numerze 80). W systemach
Windows NT/2000/XP Apache zo-
stanie zainstalowany jako us∏uga,
która b´dzie uruchamiana automa-
tycznie wraz ze startem systemu.
JeÊli wszystko
jest w porzàdku, us∏uga zosta∏a
uruchomiona i na ekranie przedsta-
wi si´ powitalna strona serwera
Apache .
CGI czy moduł?
Wszystko w jednym
stępne w dwóch postaciach:
jako plik wykonywalny CGI
(
php.exe
) oraz jako tak zwany
moduł (na przykład biblioteka
php4apache2.dll
). PHP w roli
modułu jest nowością, ma nowe
funkcje i zwiększoną wydajność, jed-
nak nie na wszystkich konfigura-
cjach działa poprawnie. Dlatego
Ekspert skoncentruje się na instala-
cji PHP w postaci pliku CGI.
wać na komputerze serwera WWW lub ma-
my problemy z konfiguracją serwera PHP, My-
SQL czy serwera stron WWW, możemy skorzy-
stać ze zintegrowanych pakietów oprogramo-
wania. Ich zaletą jest prostota w implementacji,
instalacji i konfiguracji. Najpopularniejsze z ta-
kich pakietów to
AppServ
,
KRASNAL
Serv
,
FoxServ
czy
PHPTriad
– zawierają
one wszystkie potrzebne nam składniki i dosyć
łatwo się instalują i konfigurują. Pakiet
KRASNAL Serv
Ekspert zamieścił na CD.
7.
Po instalacji Apache’a domyÊl-
nym katalogiem, gdzie umieszczone
sà strony WWW, jest
c:\apa-
che2\htdocs
Natomiast w menu
,
Ekspert radzi
W
wypadku, gdy nie mamy
i
znajduje si´ kilka skrótów. Dzi´ki
nim mo˝emy mi´dzy innymi uru-
chamiaç i zatrzymywaç us∏ug´
WWW, przeglàdaç logi serwera,
a tak˝e edytowaç plik konfigura-
cyjny
httpd. conf
Instalacja PHP
Skoro mamy ju˝ dzia∏ajàcy ser-
wer stron internetowych, warto za-
braç si´ za jego integracj´ z PHP.
PHP to jeden z najbardziej popular-
nych j´zyków skryptowych dzia∏ajà-
cych po stronie serwera (ang.
server-side). Wed∏ug statystyk ser-
wisu php. net, obecnie ju˝ ponad
12 milionów domen internetowych
obs∏uguje t´ w∏aÊnie technologi´.
Powody tego sukcesu sà doÊç
oczywiste: jest to j´zyk ∏atwy do na-
uki, ma praktycznie nieograniczone
mo˝liwoÊci (na przyk∏ad umieszcze-
nie zapytaƒ SQL), a wi´kszoÊç na-
rz´dzi i serwerów wykorzystujàcych
PHP jest darmowa.
W trakcie pisania poni˝szego arty-
ku∏u najnow-
szà, dost´p-
nà wersjà
PHP jest
4.3.2. Zosta-
∏a ona oczy-
wiÊcie zamieszczona na krà˝ku CD
za∏àczonym do magazynu. Oprócz
tego najÊwie˝sza wersja dost´p-
na jest zawsze na stronie projektu,
czyli
www.php.net
prywatnej domeny, może-
my podać fikcyjne dane. Nie po-
gorszy to funkcjonalności serwe-
ra i nadal będzie poprawnie pra-
cował.
2.
Teraz nale˝y skopiowaç plik
c:\php\php. ini-recommended
do katalogu systemowego
c:\winnt
(lub
c:\windows
)
i zmieniç jego nazw´ na
php. ini
7.
Podobnie post´pujemy z linià
include_path
, która musi wyglà-
daç nast´pujàco .
3.
Kolejnym krokiem jest wybór
rodzaju instalacji. Dysponujemy ty-
powà oraz definiowanà
przez u˝ytkownika . Eks-
pert sugeruje poczàtkujàcym u˝yt-
kownikom na wybranie typowego
wariantu.
3.
Kopiujemy pliki
php. exe
,
php4ts. dll
oraz
php4ts. lib
do katalogu
c:\winnt\system32
lub
c:\windows\system
8.
Ostatnim krokiem jest usta-
wienie wartoÊci opcji
Regi-
ster_globals
na
On
.
W ten sposób unikniemy proble-
mów z przekazywaniem zmiennych
z formularzy do innych stron.
Integracja serwera
Apache z PHP
Jest to stosunkowo proste, o ile
na komputerze jest ju˝ dzia∏ajàcy
serwer Apache. Najpierw nale˝y
skonfigurowaç serwer Apache tak,
aby obs∏ugiwa∏ pliki z rozszerze-
niem
. php
,
. php3
albo
. phtml
(
. php
jest najcz´Êciej spotykane,
ale nie zaszkodzi dopisaç do konfi-
guracji wszystkich rozszerzeƒ).
W tym celu musimy wyedytowaç
plik konfiguracyjny Apache, którym
jest
c:\Apache2\conf\httpd. conf
4.
Nale˝y skopiowaç wszystkie bi-
blioteki DLL z katalogu
c:\php\dlls
do katalogu
c:\winnt\system32
lub
c:\windows\system
4.
Ostatnim elementem instalacji
jest zdefiniowanie katalogu, w któ-
rym zainstalowany zostanie serwer
WWW. Ekspert wybra∏ dysk
C:\
Zostanie tam utworzony katalog
Apache2
5.
Kolejnym krokiem jest edycja
pliku
php. ini
Odnajdujemy linijk´
z tekstem
cgi. force_redirect
,
usuwamy poprzedzajàcy jà Êrednik
i zmieniamy wartoÊç z
1
na
0
.
5.
Po udanej instalacji w za-
sobniku systemowym poka˝e si´
charakterystyczna ikona ,
za pomocà której mamy mo˝li-
woÊç uruchomienia narz´dzia
Apache Monitor . Ten z kolei
6.
Definiujemy Êcie˝k´ do kata-
logu z bibliotekami rozszerzeƒ.
Dlatego linijka rozpoczynajàca si´
od
extension_dir
powinna wyglà-
daç tak .
pozwala nam na koordynacj´ pra-
cy serwera, mi´dzy innymi jego
uruchamianie lub zatrzymywanie.
Ekspert radzi
1.
Chcàc, by Apache obs∏ugiwa∏
PHP w postaci CGI oraz odpowied-
nie mapowania PHP,w pliku konfi-
guracyjnym
httpd. conf
muszà si´
znaleêç nast´pujàce wpisy .
i zatrzymujemy bądź za po-
mocą znajdującego się w zasobni-
ku systemowym programu
Apache Monitor, bądź przez pole-
cenia z linii komend:
net start Apache2
net stop Apache2
6.
W celu upewnienia si´, czy
instalacja przebieg∏a poprawnie,
warto uruchomiç przeglàdark´ stron
WWW i wpisaç w niej adres IP
komputera lub po prostu

1.
Najpierw nale˝y rozpakowaç
pliki instalacyjne do wybranego ka-
talogu, na przyk∏ad
c:\php
SIERPIEŃ - WRZESIEŃ 2003
45
J
eśli w naszym systemie pra-
P
HP 4 dla Windows jest do-
J
eśli z jakichś powodów nie chcemy instalo-
U
sługę Apache uruchamiamy
PORADY
MYSQL I PHP NA SERWERZE WWW
PHP jako moduł
zmienne Êrodowiskowe serwera.
Wyglàda on w ten sposób .
J
eśli Czytelnik zapragnie, by PHP pracowało jako mo-
duł serwera, do pliku
httpd.conf
należy wpisać inne
informacje .
<?php
phpinfo();
?>
2.
W tym momencie nasz serwer
WWW mo˝e ju˝ obs∏ugiwaç skrypty
napisane w j´zyku PHP. Warto jed-
nak sprawdziç, czy wszystko dzia∏a
poprawnie. Dlatego tworzymy pro-
sty kod w PHP, który wywo∏ujàc
funkcj´
phpinfo
, wyÊwietli nam
3.
Stworzony plik (nazwijmy go
na przyk∏ad
test. php
) umieszcza-
my w katalogu ze stronami WWW –
na przyk∏ad
c:\apache2\htdocs
.
Wywo∏ujemy go, wpisujàc adres
W efekcie na ekranie widzimy .
4.
Warto zadbaç o to, by do-
myÊlnie wyÊwietlanym plikiem
przy wywo∏aniu serwera by∏ plik
towej były dostępne dla Apa-
che’a, także za jego pośrednictwem
dla użytkowników internetowych,
muszą mieć one odpowiednio usta-
wione prawa dostępu. W przypadku,
gdy strona WWW znajduje się na
partycji FAT, nie mamy się czym mar-
twić, bo na tym systemie plików nie
można ustawić uprawnień dostępu
(konfiguracja taka nie jest jednak
bezpieczna). W przypadku partycji
obsługującej system plików NTFS
należy zadbać o to, by anonimowi
użytkownicy mieli możliwość odczytu
i urucham
iania skryptów. W tym celu
w oknie nadajemy odpowiednie prawa do katalogów zawierających pliki PHP:
Administratorzy: Pe∏na kontrola;
SYSTEM: Pe∏na kontrola;
Wszyscy: Odczyt | Zapis i wykonanie | WyÊwietlanie zawartoÊci folderu;
Należy także pamiętać, aby analogiczne uprawnienia ustawić na katalog
c:\php
, a także te
foldery, w których przechowywane są i wykorzystywane pliki PHP.
index. php
W tym celu w odpo-
wiedniej sekcji pliku
httpd. conf
nale˝y wyedytowaç linijk´ .
Kolejne nazwy wypisane po
DirectoryIndex
oznaczajà kolejne
pliki, które b´dà wyÊwietlane jako
domyÊlna strona g∏ówna. W sytu-
acji, gdy w katalogu ze stronà nie
znajdzie si´ plik
index. php
, serwer
spróbuje wyÊwietliç kolejno plik
index. htm
, a nast´pnie
index.
html
Ekspert radzi
wania znaków. Wystarczy tylko
w dyrektywie
AddDefaultChar-
set
ustawić wartość ISO-8859-2:
szczegó∏owà konfiguracjà Ekspert
odsy∏a do artyku∏u Apacz w pececie
(Ekspert 2/03 w dziale Linux), a tak-
˝e do dokumentacji produktu. Do-
st´pna jest ona po wpisaniu do okna
przeglàdarki
ra/manual/index.html
(aby doku-
mentacja wyÊwietli∏a si´, serwer
WWW musi byç uruchomiony).
5.
Serwer Apache oferuje szero-
kie mo˝liwoÊci ustawieƒ i konfigu-
racji. Zainteresowanych bardziej
Skrypty w PHP
noczeÊnie definiowane sà kolej-
no:
adres serwera, nazwa
u˝ytkownika
oraz
has∏o
. Dane te
sà trzymane w zmiennej
$conn
2.
Nast´p-
nie nale˝y wy-
Êwietliç wy-
brane dane.
W tym celu
u˝ywa si´ p´tli
while
.
Kolejne pobra-
ne rekordy sà
zapisywane (za
pomocà funk-
cji
mysql_fetch_assoc
) jako po-
la tablicy o nazwie
$myrow
. Klu-
cze tej tablicy odpowiadajà po-
szczególnym
nazwom ko-
lumn tabeli
dane
w naszej bazie.
Nast´pnie za pomocà polecenia
echo wyÊwietlamy kolejne ele-
menty tablicy
$myrow
.
while ($myrow = mysql_fetch_assoc($result))
{
N
a potrzeby poni˝szego arty-
echo “<P>”;
echo “ID: “.$myrow[“id”];
echo “<br>Imie: “.$myrow[“imie”];
echo “<br>Nazwisko: “.$myrow[“nazwisko”];
echo “<br>Adres: “.$myrow[“adres”];
echo “<br><b>Telefon: “.$myrow[“telefon”];
echo “</b>”;
echo “<br>E-mail: “.$myrow[“email”];
echo “</P>”;
ku∏u Ekspert stworzy∏ kilka
przyk∏adowych stron napisanych
w PHP i HTML-u. Za ich pomocà
mo˝na wykonywaç ró˝ne operacje
na bazie danych przechowywanej
w MySQL. Wszystkie omówione po-
ni˝ej skrypty, wraz z komentarzami,
zosta∏y zamieszczone na p∏ycie CD
za∏àczonej do magazynu. Ekspert
omówi najwa˝niejsze fragmenty
tych skryptów.
Połączenie z bazą
1.
Zanim zaczniemy prac´ z bazà
z poziomu skryptu PHP, najpierw
musimy nawiàzaç z nià po∏àczenie.
W tym celu, na poczàtku ka˝dego
skryptu umieszczamy komend´ .
3.
Kolejnym krokiem jest wybór
bazy, z którà chcemy pracowaç.
W tym celu wykorzystywana jest
komenda .
// no i kreseczka oddzielajaca porcje danych
echo (“______________________”);
4.
Jako argument funkcji
mysql_select_db
podajemy na-
zw´ bazy, na której chcemy wyko-
nywaç wszystkie operacje.
}
mysql_select_db(“ksiazka_telefoniczna”, $conn);
Wyświetlanie rekordów
1.
Najprostszym zapytaniem jest
wyÊwietlenie wszystkich danych
znajdujàcych si´ w tabeli. W tym
celu pos∏u˝ymy si´ funkcjà
my-
sql_query
Nasze zapytanie polega
na wybraniu z tabeli
dane
wszyst-
kich rekordów, które zostajà posor-
towane wed∏ug pola
nazwisko
.
3.
W efekcie, po otworzeniu
strony
index.htm
(odwo∏uje si´
ona do pliku
main.php
, zawierajà-
cego opisywany skrypt) widzimy
na ekranie stron´ WWW z listà
wszystkich rekordów znajdujàcych
si´ w bazie .
$conn=mysql_connect(“localhost”,”root”,”haslo”);
2.
Polecenie
mysql_connect
tworzy po∏àczenie z bazà, a jed-
$result=mysql_query(“SELECT * FROM dane ORDER BY nazwisko”, $conn);
46
SIERPIEŃ - WRZESIEŃ 2003
Uprawnienia do plików i katalogów
A
by pliki i katalogi strony interne-
Z
alecane jest ustawienie kodo-
  [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • annablack.xlx.pl