MYSQL I PHP NA SERWERZE WWW.pdf

(2011 KB) Pobierz
683527268 UNPDF
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-
683527268.050.png 683527268.060.png 683527268.061.png 683527268.062.png
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
683527268.001.png 683527268.002.png 683527268.003.png 683527268.004.png 683527268.005.png 683527268.006.png 683527268.007.png 683527268.008.png 683527268.009.png 683527268.010.png 683527268.011.png 683527268.012.png 683527268.013.png 683527268.014.png
 
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
683527268.015.png 683527268.016.png 683527268.017.png 683527268.018.png 683527268.019.png 683527268.020.png 683527268.021.png 683527268.022.png 683527268.023.png 683527268.024.png 683527268.025.png 683527268.026.png
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.
http://localhost 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
683527268.027.png 683527268.028.png 683527268.029.png 683527268.030.png 683527268.031.png 683527268.032.png 683527268.033.png 683527268.034.png 683527268.035.png 683527268.036.png 683527268.037.png 683527268.038.png 683527268.039.png 683527268.040.png 683527268.041.png 683527268.042.png 683527268.043.png 683527268.044.png
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
http://adres_serwera/test.php
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 http://adres_serwe-
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-
683527268.045.png 683527268.046.png 683527268.047.png 683527268.048.png 683527268.049.png 683527268.051.png 683527268.052.png 683527268.053.png 683527268.054.png 683527268.055.png 683527268.056.png 683527268.057.png 683527268.058.png 683527268.059.png
 
Zgłoś jeśli naruszono regulamin