Poznaj możliwości nowoczesnych technologii i twórz dynamiczne serwisy internetowe
* Jak sprawdzić poprawność danych i obsługiwać błędy?
* Jak zapisywać nazwy użytkowników i hasła w bazie danych?
* Jak tworzyć zapytania do bazy danych za pomocą funkcji PHP?
PHP i MySQL to już standardowe technologie do tworzenia dynamicznych stron internetowych wykorzystujących bazy danych. Istotne jest, że zapewniają one nie tylko interaktywność, ale również wysoki stopień bezpieczeństwa witryn WWW. Ich ogromne możliwości powodują, że wykorzystywane są do tworzenia zarówno prostych aplikacji, jak i skomplikowanych stron internetowych, zaopatrzonych w rozbudowane systemy autoryzacji, na przykład różnego rodzaju sklepy internetowe. Połączenie PHP i MySQL stanowi więc niezastąpione narzędzie do tworzenia dynamicznych witryn, spełniających wymagania zarówno administratorów, jak i użytkowników.
Książka "PHP i MySQL. Wprowadzenie. Wydanie II" przedstawia krok po kroku zasady tworzenia serwisów WWW z wykorzystaniem baz danych. W podręczniku na przykładach przedstawiono m.in. sposoby pracy z bazą danych MySQL, serwerem WWW Apache czy językiem PHP i XHTML. Czytając tę książkę, nauczysz się przeprowadzać operacje na danych, zarządzać sesjami i tabelami oraz tworzyć zapytania. "Learning PHP &My SQL" stanowi niezbędny podręcznik zarówno dla początkujących Czytelników, jak i programistów, którzy mieli wcześniej do czynienia z językiem HTML, a teraz chcą tworzyć dynamiczne i bezpieczne strony internetowe.
* Treść generowana dynamicznie i Internet
* Podejmowanie decyzji w PHP
* Funkcje i tablice
* Pobieranie danych z kilku tabel
* Praca z bazą danych MySQL
* Operatory logiczne
* Współpraca PHP i MySQL
* Formularze sieciowe
* XHTML
* Pliki cookie, sesje i kontrola dostępu
* Modyfikowanie obiektów MySQL i danych PHP
Oto cała, aktualna wiedza, której potrzebujesz, aby tworzyć interaktywne strony WWW.
1. PHP i MySQL.
Wprowadzenie. Wydanie II
Autor: Michele Davis, Jon Phillips
T³umaczenie: Robert Górczyñski
ISBN: 978-83-246-1528-5
Tytu³ orygina³u: Learning PHP & MySQL:
Step-by-Step Guide to Creating
Database-Driven Web Sites
Format: 168x237, stron: 424
Poznaj mo¿liwoœci nowoczesnych technologii
i twórz dynamiczne serwisy internetowe
• Jak sprawdziæ poprawnoœæ danych i obs³ugiwaæ b³êdy?
• Jak zapisywaæ nazwy u¿ytkowników i has³a w bazie danych?
• Jak tworzyæ zapytania do bazy danych za pomoc¹ funkcji PHP?
PHP i MySQL to ju¿ standardowe technologie do tworzenia dynamicznych stron
internetowych wykorzystuj¹cych bazy danych. Istotne jest, ¿e zapewniaj¹ one nie tylko
interaktywnoœæ, ale równie¿ wysoki stopieñ bezpieczeñstwa witryn WWW. Ich ogromne
mo¿liwoœci powoduj¹, ¿e wykorzystywane s¹ do tworzenia zarówno prostych aplikacji,
jak i skomplikowanych stron internetowych, zaopatrzonych w rozbudowane systemy
autoryzacji, na przyk³ad ró¿nego rodzaju sklepy internetowe. Po³¹czenie PHP i MySQL
stanowi wiêc niezast¹pione narzêdzie do tworzenia dynamicznych witryn, spe³niaj¹cych
wymagania zarówno administratorów, jak i u¿ytkowników.
Ksi¹¿ka „PHP i MySQL. Wprowadzenie. Wydanie II” przedstawia krok po kroku
zasady tworzenia serwisów WWW z wykorzystaniem baz danych. W podrêczniku
na przyk³adach przedstawiono m.in. sposoby pracy z baz¹ danych MySQL,
serwerem WWW Apache czy jêzykiem PHP i XHTML. Czytaj¹c tê ksi¹¿kê, nauczysz siê
przeprowadzaæ operacje na danych, zarz¹dzaæ sesjami i tabelami oraz tworzyæ
zapytania. „Learning PHP &My SQL” stanowi niezbêdny podrêcznik zarówno
dla pocz¹tkuj¹cych Czytelników, jak i programistów, którzy mieli wczeœniej do czynienia
z jêzykiem HTML, a teraz chc¹ tworzyæ dynamiczne i bezpieczne strony internetowe.
• Treœæ generowana dynamicznie i Internet
• Podejmowanie decyzji w PHP
• Funkcje i tablice
• Pobieranie danych z kilku tabel
• Praca z baz¹ danych MySQL
Wydawnictwo Helion
• Operatory logiczne
ul. Koœciuszki 1c
• Wspó³praca PHP i MySQL
44-100 Gliwice
tel. 032 230 98 63 • Formularze sieciowe
e-mail: helion@helion.pl • XHTML
• Pliki cookie, sesje i kontrola dostêpu
• Modyfikowanie obiektów MySQL i danych PHP
Oto ca³a, aktualna wiedza, której potrzebujesz,
aby tworzyæ interaktywne strony WWW
2. Spis tre ci
Wprowadzenie .............................................................................................................. 7
1. Tre ë generowana dynamicznie i Internet ..................................................................11
Protokóä HTTP i Internet 11
Miejsce PHP i MySQL w programowaniu sieciowym 12
Zalety u ywania PHP oraz MySQL 13
Warto è wolnego oprogramowania 13
Komponenty aplikacji PHP 14
Integracja wielu ródeä informacji 17
ñdanie danych ze strony internetowej 21
2. Instalacja ......................................................................................................................25
Lokalne tworzenie aplikacji 25
Praca zdalna 46
3. Poznajemy PHP ............................................................................................................ 51
PHP i tekst HTML 51
Tworzenie klocków kodu 55
4. Podejmowanie decyzji w PHP ..................................................................................... 73
Wyra enia 73
Operatory 75
Instrukcje warunkowe 82
Pötle 88
5. Funkcje .........................................................................................................................95
Wywoäywanie funkcji 97
Definiowanie funkcji 99
Programowanie zorientowane obiektowo 105
3
3. ROZDZIA 2.
Instalacja
Programi ci wykorzystujñcy technologie PHP i MySQL bardzo czösto uznajñ, e znacznie wy-
godniej jest pracowaè na komputerze lokalnym, ni u ywaè zdalnego serwera WWW. Ogólnie
rzecz biorñc, du o bezpieczniejszym rozwiñzaniem jest utworzenie i przetestowanie aplikacji na
komputerze lokalnym, a dopiero nastöpnie umieszczenie jej na serwerze publicznym i udo-
stöpnienie wszystkim u ytkownikom. Zwykle na komputerze lokalnym trzeba zainstalowaè
serwer Apache, jözyk PHP oraz bazö danych MySQL, podczas gdy ISP obsäuguje instalacjö
na serwerze publicznym.
Lokalne tworzenie aplikacji
Tworzenie aplikacji internetowych na komputerze lokalnym jest zalecanym sposobem nauki,
poniewa wspóäpraca z wszystkimi komponentami przebiega lokalnie i nie wystöpuje ryzyko
spowodowania problemów w rodowisku produkcyjnym. W ten sposób, po wystñpieniu ewen-
tualnych problemów na komputerze lokalnym, mo na je natychmiast usunñè bez ujawniania ich
u ytkownikom witryny. Praca z plikami lokalnymi oznacza tak e brak potrzeby korzystania
z konta FTP na serwerze oraz poäñczenia z Internetem. Programista dokäadnie wie równie , jakie
komponenty sñ dostöpne, poniewa samodzielnie przeprowadziä ich instalacjö.
Do zainstalowania sñ trzy komponenty:
x Apache,
x PHP,
x MySQL.
Wymienione oprogramowanie trzeba zainstalowaè w podanej kolejno ci. Wszystkie przykäady
przedstawione w ksiñ ce bödñ dotyczyäy rodowiska zainstalowanego w systemie Windows,
choè z uwagami dotyczñcymi systemów Macintosh i Linux.
Pakiety czy pe ne wersje instalacyjne?
Je li Czytelnik rozpoczyna pracö programisty internetowego, äatwiejszym rozwiñzaniem bödzie
instalacja pakietu zawierajñcego Apache, MySQL, phpMyAdmin oraz PHP. Dostöpnych jest kilka
pakietów instalujñcych jednocze nie wszystkie wymienione programy w jednym katalogu na
dysku twardym komputera. Tego rodzaju pakiety zawierajñ tak e panel kontrolny pozwalajñcy
25
4. 6. Tablice ......................................................................................................................... 117
Podstawy tablic 117
7. Praca z bazé danych MySQL .......................................................................................131
Baza danych MySQL 131
Zarzñdzanie bazñ danych 134
U ywanie narzödzia phpMyAdmin 135
Koncepcja bazy danych 139
Jözyk SQL 141
8. Bazy danych ............................................................................................................... 155
Projekt bazy danych 155
Tworzenie kopii zapasowej danych i ich przywracanie 164
Zaawansowany SQL 168
9. Wspó praca PHP i MySQL .......................................................................................... 187
Proces 188
Wykonywanie zapytania do bazy danych za pomocñ funkcji PHP 188
U ywanie PEAR 198
10. Praca z formularzami sieciowymi ............................................................................. 207
Tworzenie formularza sieciowego 207
Szablony 225
11. Praktyczne PHP ..........................................................................................................233
Funkcje dotyczñce ciñgu tekstowego 233
Funkcje daty i godziny 244
Operacje na plikach 248
Wywoäywanie poleceþ systemowych 260
12. XHTML ........................................................................................................................263
Dlaczego XHTML? 265
Przestrzenie nazw XHTML i XML 266
Wersje XHTML 266
Generowanie dokumentu XHTML w PHP 273
13. Modyfikowanie obiektów MySQL i danych PHP ...................................................... 275
Zmiana obiektów bazy danych z poziomu PHP 275
Operacje na danych tabeli 278
Wy wietlanie wyników zapytania wraz z osadzonymi äñczami 279
Jeden plik wy wietlajñcy formularz i przetwarzajñcy jego dane 283
4 _ Spis tre ci
5. Uaktualnianie danych 289
Usuwanie danych 290
Wykonywanie podzapytania 296
14. Pliki cookie, sesje i kontrola dostýpu ........................................................................299
Pliki cookie 299
PHP i uwierzytelnianie HTTP 302
Sesje 307
Wykorzystanie moduäu Auth_HTTP do uwierzytelniania 314
15. Bezpiecze stwo ......................................................................................................... 319
Bezpieczeþstwo sesji 328
16. Sprawdzanie poprawno ci danych i obs uga b ýdów ............................................. 337
Sprawdzanie poprawno ci danych wprowadzanych przez u ytkowników
za pomocñ JavaScript 337
Dopasowywanie wzorców 341
Ponowne wy wietlenie formularza w przypadku niepomy lnego testu
poprawno ci danych 345
17. Przyk adowa aplikacja .............................................................................................. 351
Plik konfiguracyjny 352
Szkielet stron 352
Baza danych 355
Wy wietlanie streszczeþ artykuäów 358
Wy wietlanie artykuäów wraz z komentarzami 360
Dodawanie i modyfikowanie artykuäów 364
Dodawanie i modyfikowanie komentarzy 371
18. Ko czymy naszé podró ............................................................................................ 377
Standardy kodowania w PHP 377
PEAR 381
Struktury PHP 383
Ajax 383
Wiki 384
Szukanie pomocy w Internecie 384
Dodatek. Odpowiedzi na pytania ......................................................................................387
Skorowidz ............................................................................................................................. 401
Spis tre ci _ 5
6. Najäatwiejszym sposobem instalacji Apache, PHP i MySQL w wiökszo ci systemów
Linux jest pobranie pakietu dystrybucyjnego. Wszystkie popularne dystrybucje sys-
temu Linux majñ przygotowane pakiety programów Apache, PHP i MySQL. Przykäa-
dowo, dystrybucja Red Hat Linux u ywa pakietów .rpm, podczas gdy Debian u ywa
pakietów .deb. Informacje dotyczñce instalacji pakietów dodatkowych powinny znajdo-
waè siö w dokumentacji danej dystrybucji. Ponadto wiele dystrybucji Linuksa domy l-
nie instaluje Apache, PHP i MySQL, tak wiöc nawet nie trzeba instalowaè tych kom-
ponentów samodzielnie. Mimo wszystko, je li instalacja wydaje siö Czytelnikowi zbyt
trudna, warto wypróbowaè pakiet XAMPP.
na uruchamianie i zatrzymywanie poszczególnych usäug oraz administracjö nimi. Innymi säowy,
jest to doskonaäe rozwiñzanie dla poczñtkujñcego programisty. Wadñ jest to, e nie nadaje
siö ono do u ycia w rodowisku produkcyjnym, poniewa najczö ciej jest skonfigurowane
z uwzglödnieniem minimalnego poziomu bezpieczeþstwa w celu maksymalnego uäatwienia
obsäugi. W dalszej czö ci rozdziaäu zostanie przedstawiony jeden z popularniejszych pakietów
o nazwie XAMPP. Jednak w pierwszej kolejno ci zostanie omówiona instalacja wszystkich kom-
ponentów w standardowy sposób.
Instalacja serwera Apache
Serwer Apache musi zostaè zainstalowany i skonfigurowany przed instalacjñ PHP i MySQL,
poniewa w przeciwnym razie wymienione komponenty nie bödñ dziaäaäy prawidäowo. Ka dy
komputer mo na zmieniè w serwer WWW poprzez zainstalowanie oprogramowania serwera
i podäñczenie komputera do Internetu. W celu zachowania maksymalnej prostoty instalacji
w rozdziale zostanie omówiona instalacja tylko najnowszych wersji Apache, PHP i MySQL.
Mimo e mo na u yè starszych wersji oprogramowania, sñ one nieco trudniejsze w instalacji
i konfiguracji zapewniajñcej harmonijnñ wspóäpracö.
1. Pierwszym krokiem jest pobranie binarnego pakietu instalacyjnego Apache 2.x Win32 MSI
z witryny http://httpd.apache.org/. W lewej kolumnie strony nale y kliknñè äñcze „Download
from a mirror”, a nastöpnie pobraè najnowszñ dostöpnñ wersjö serwera. Mirror oznacza
serwer, z którego bödzie pobierany instalator. Plik zapisany na dysku twardym bödzie miaä
nazwö podobnñ do apache_2.2.4-win32-x86-no_ssl.msi (dokäadny numer wersji mo e byè
nieco inny).
Czytelnicy u ywajñcy systemu operacyjnego Mac OS X majñ domy lnie zainstalowany
serwer Apache. Po uruchomieniu System Preferences nale y kliknñè ikonö Sharing, a na-
stöpnie zaznaczyè opcjö Personal Web Sharing (która w rzeczywisto ci oznacza serwer
Apache). System Mac OS X 10.2, 10.3 i 10.4 sñ dostarczane z ró nymi wersjami Apache,
ale ka da z nich dziaäa doskonale1.
2. Nastöpnie nale y zainstalowaè serwer Apache, u ywajñc pobranego instalatora. Po dwu-
krotnym klikniöciu pliku MSI na ekranie zostanie wy wietlone okno instalatora pokazane
na rysunku 2.1.
Instalator przeprowadzi u ytkownika przez caäy proces instalacji.
1
W systemach Mac OS X 10.2 – 10.4 zainstalowany jest Apache w wersji 1.3.x, natomiast Mac OS X w wersji 10.5
zawiera ju Apache 2.x — przyp. täum.
26 _ Rozdzia 2. Instalacja
7. Rysunek 2.1. Instalator Apache wy wietla kilka pytaþ dotyczñcych podstawowej konfiguracji serwera
3. Aby przej è dalej, trzeba zgodziè siö z warunkami licencji, klikajñc przycisk opcji pokazany
na rysunku 2.2, a nastöpnie przycisk Next.
Rysunek 2.2. Warunki licencji i zasady u ywania serwera Apache
Lokalne tworzenie aplikacji _ 27
8. 4. Na ekranie zostanie wy wietlone pokazane na rysunku 2.3 okno z dokumentem „Read This
First”. Wy wietlony dokument zawiera kilka informacji wskazujñcych u yteczne ródäa,
w których mo na znale è dodatkowe informacje dotyczñce serwera WWW. Klikniöcie przy-
cisku Next powoduje przej cie do kolejnego kroku.
Rysunek 2.3. Wy wietlone informacje o serwerze Apache
5. W pokazanym na rysunku 2.4 oknie dialogowym trzeba podaè wszystkie informacje doty-
czñce sieci, a nastöpnie kliknñè przycisk Next.
Domy lny port HTTP ma numer 80. Innymi säowy, po ñdaniu wy wietlenia witryny
http://www.helion.pl/ nastöpuje wyra ne ñdanie dostöpu do portu 80. Po ustawieniu
tego portu wszystkie ñdania sieciowe bödñ mogäy byè wykonywane bez podawania
numeru portu. Serwer WWW komputera lokalnego zawsze bödzie dostöpny poprzez
urzñdzenie loopback o adresie http://localhost/ lub adresie IP http://127.0.0.1/.
Podanych adresów mo na u ywaè wymiennie.
6. W kolejnym oknie, pokazanym na rysunku 2.5, trzeba wybraè rodzaj instalacji. Opcja Typical
sprawdza siö doskonale do zadaþ omówionych w ksiñ ce. Klikniöcie przycisku Next powo-
duje przej cie do kolejnego kroku.
7. Na ekranie zostanie wy wietlone okno (pokazane na rysunku 2.6), w którym nale y zaak-
ceptowaè domy lnie ustalony katalog instalacyjny, a nastöpnie kliknñè przycisk Netx.
Domy lnie ustalony katalog instalacyjny C:Program FilesApache Software Foundation
Apache2.2 jest zarówno standardowo stosowany, jak i äatwy do odszukania, zwäaszcza
gdy trzeba przeprowadziè zmiany konfiguracyjne.
28 _ Rozdzia 2. Instalacja
9. Rysunek 2.4. Okno dialogowe Server Information
Rysunek 2.5. Wybór rodzaju instalacji
8. Jak pokazano na rysunku 2.7, klikniöcie przycisku Install rozpocznie wäa ciwñ instalacjö ser-
wera. Instalator spowoduje instalacjö ró nych moduäów, a na ekranie bödzie pojawiaäo siö
i znikaäo okno DOS.
Lokalne tworzenie aplikacji _ 29
10. Rysunek 2.6. Okno wy wietlajñce katalog domy lny dla plików instalacyjnych serwera Apache
Rysunek 2.7. Okno dialogowe „Ready to Install”
9. Po zakoþczeniu instalacji nale y kliknñè przycisk Finish.
10. W celu sprawdzenia poprawno ci instalacji w pasku adresu przeglñdarki internetowej
nale y wpisaè adres http://localhost/. Trzeba pamiötaè, e nazwa jest täumaczona na
adres IP 127.0.0.1, który zawsze jest adresem komputera lokalnego.
30 _ Rozdzia 2. Instalacja
11. 11. Po wpisaniu podanego wy ej adresu w przeglñdarce internetowej zostanie wy wietlona
strona domy lna serwera Apache podobna do pokazanej na rysunku 2.8. Je eli instalacja
zakoþczyäa siö powodzeniem, na ekranie zostanie wy wietlony komunikat „It works!”.
Strona mo e byè jednak nieco inna w zale no ci od wersji zainstalowanego serwera Apache.
Generalnie, je li na ekranie nie zostanie wy wietlony komunikat informujñcy o bäödzie,
instalacja zakoþczyäa siö powodzeniem.
Rysunek 2.8. Strona domy lna serwera Apache wy wietlona po jego instalacji
W chwili obecnej komputer mo e ju obsäugiwaè strony internetowe i jest przygotowany do
instalacji PHP.
Instalacja PHP
W pierwszej kolejno ci nale y przej è na stronö http://www.php.net/downloads.php i pobraè naj-
nowszñ wersjö PHP. Wymieniona strona zawiera pakiety zarówno wersji binarnej, jak i kodu
ródäowego. W czö ci Windows Binaries trzeba wybraè instalacyjnñ wersjö PHP 5.x, gdzie x oznacza
najnowszñ dostöpnñ wersjö. Po wskazaniu serwera lustrzanego rozpocznie siö pobieranie pliku
instalacyjnego.
1. Pobrany plik bödzie miaä nazwö podobnñ do php-5.2.5-win32-installer.msi (dokäadny numer
wersji mo e byè nieco inny).
2. Dwukrotne klikniöcie pobranego pliku MSI spowoduje wy wietlenie na ekranie pokazanego
na rysunku 2.9 okna instalatora i rozpoczöcie procesu instalacyjnego.
3. Po klikniöciu przycisku Next zostanñ wy wietlone warunki licencji (zobacz rysunek 2.10).
4. Trzeba kliknñè przycisk opcji akceptujñcy warunki licencji, a nastöpnie przycisk Next.
5. Kolejne wy wietlone okno bödzie wskazywaäo domy lnie ustalony katalog instalacyjny PHP
(zobacz rysunek 2.11). U ytkownik mo e samodzielnie wybraè katalog lub u yè domy l-
nego C:Program FilesPHP bñd C:PHP. (Przykäady przedstawione w ksiñ ce zakäadajñ,
e PHP zostaäo zainstalowane w katalogu C:PHP). Klikniöcie przycisku Next spowoduje
przej cie do kolejnego kroku.
Lokalne tworzenie aplikacji _ 31
12. Rysunek 2.9. Okno instalatora PHP
Rysunek 2.10. Okno wy wietlajñce warunki licencji
6. Na ekranie zostanie wy wietlone pokazane na rysunku 2.12 okno dialogowe „Web Server
Setup”. Nale y wybraè opcjö Apache 2.2.x Module, a nastöpnie kliknñè przycisk Next. Oczy-
wi cie w przypadku u ywania innego serwera WWW trzeba wybraè odpowiedniñ opcjö
z wy wietlonej listy.
32 _ Rozdzia 2. Instalacja
13. Rysunek 2.11. Wskazanie katalogu instalacyjnego PHP
Rysunek 2.12. Okno dialogowe Web Server Setup
7. Kolejne okno dialogowe pozwala na wskazanie katalogu, w którym zostaä zainstalowany
serwer Apache, co umo liwia instalatorowi modyfikacjö konfiguracji Apache i przystoso-
wanie go do u ywania PHP. Pokazane na rysunku 2.13 okno „Apache Configuration
Directory” bödzie wskazywaäo katalog podobny do C:Program FilesApache Software Foun-
dationApache2.2.
Lokalne tworzenie aplikacji _ 33
14. Rysunek 2.13. Wskazanie katalogu, w którym zostaä zainstalowany serwer Apache
8. Na rysunku 2.14 pokazano okno dialogowe „Ready to Install”. Zaproponowane przez insta-
latora warto ci domy lne sprawdzajñ siö doskonale. Je eli u ytkownik zmieniä wcze niej
katalog instalacyjny, to w wy wietlonym oknie mo e wystñpiè potrzeba wprowadzenia
zmian. Klikniöcie przycisku Next spowoduje przej cie do kolejnego kroku.
Rysunek 2.14. Opcje instalacyjne PHP
34 _ Rozdzia 2. Instalacja
15. 9. Klikniöcie przycisku Install spowoduje potwierdzenie rozpoczöcia wäa ciwego procesu
instalacji.
10. Gdy na ekranie zostanie wy wietlone pokazane na rysunku 2.15 okno dialogowe, nale y
kliknñè przycisk Tak, potwierdzajñc tym samym modyfikacjö konfiguracji serwera Apache.
Rysunek 2.15. Okno dialogowe informujñce, e instalator przeprowadzi konfiguracjö serwera Apache
11. Po zakoþczonej powodzeniem modyfikacji pliku konfiguracyjnego httpd.conf serwera Apa-
che nale y kliknñè przycisk OK w wy wietlonym oknie dialogowym.
12. Po zakoþczonej powodzeniem modyfikacji pliku mime.types serwera Apache nale y kliknñè
przycisk OK w wy wietlonym oknie dialogowym.
13. Na ekranie zostanie wy wietlone okno dialogowe informujñce o zakoþczonej powodzeniem
instalacji rodowiska PHP.
W jözyku PHP polecenia poprzedzone znakiem hash (#) sñ uznawane za umieszczone
w komentarzu i sñ widoczne tylko dla programisty — nigdy przez u ytkownika koþ-
cowego w oknie przeglñdarki internetowej.
14. Na koniec nale y ponownie uruchomiè serwer Apache, wybierajñc opcjö menu Start/
Programy/Apache HTTP Server 2.x.x/Control Apache Server/Restart. Ten krok spowoduje, e
serwer Apache odczyta dyrektywy konfiguracyjne umieszczone w pliku httpd.conf przez
instalatora PHP. Wymieniony plik konfiguracyjny nakazuje serwerowi Apache wczytanie
procesu PHP jako moduäu. Innñ mo liwo ciñ ponownego uruchomienia serwera jest dwu-
krotne klikniöcie ikony Apache w zasobniku, a nastöpnie wybranie opcji Restart.
Aby przetestowaè poprawno è instalacji, nale y wykonaè nastöpujñce kroki:
1. W dowolnym edytorze tekstowym trzeba utworzyè plik zawierajñcy nastöpujñcy wiersz:
<?php phpinfo(); ?>
2. Utworzony plik nale y zapisaè pod nazwñ phpinfo.php w katalogu instalacyjnym Apache
htdocs, zwykle umieszczonym w C:Program FilesApache Software FoundationApache2.2
htdocs. Nazwa pliku musi mieè rozszerzenie .php, w przeciwnym razie plik nie zostanie
przetworzony jako PHP.
3. Kolejny etap to uruchomienie ulubionej przeglñdarki internetowej.
4. W pasku adresu przeglñdarki nale y podaè adres http://127.0.0.1/phpinfo.php. Przeglñ-
darka powinna wy wietliè stronö informacyjnñ PHP, podobnñ do pokazanej na rysunku 2.16.
Lokalne tworzenie aplikacji _ 35
16. Rysunek 2.16. Szczegóäowe informacje dotyczñce konfiguracji rodowiska PHP
W éczenie PHP w systemie Mac OS X
Je eli Czytelnik u ywa systemu operacyjnego Mac OS X, to rodowisko PHP jest ju zainstalo-
wane w systemie, ale domy lnie nie zostaäo wäñczone. W celu wäñczenia obsäugi PHP nale y
przeprowadziè edycjö pliku konfiguracyjnego serwera Apache.
Wbudowane systemowe narzödzie wyszukiwania plików w Mac OS X nie znajdzie
pliku konfiguracyjnego serwera Apache, gdy jest on traktowany jako plik ukryty przed
u ytkownikami. W celu edycji tego pliku trzeba skorzystaè z aplikacji Terminal.
1. Pierwszy krok to uruchomienie aplikacji Terminal znajdujñcej siö w katalogu /Applications/
Utilities.
2. W oknie terminalu trzeba wydaè polecenie:
sudo vi /etc/httpd/httpd.conf
3. Po wy wietleniu pytania o hasäo nale y podaè hasäo konta z uprawnieniami administratora
(którym domy lnie jest pierwsze konto zaäo one w systemie Mac OS X).
36 _ Rozdzia 2. Instalacja
17. 4. Kolejny krok to usuniöcie znaku komentarza z wiersza wczytujñcego moduä PHP. W tym
celu trzeba usunñè znak # umieszczony na poczñtku wiersza poprzez wydanie polecenia:
:%s/#LoadModule php/LoadModule php/
Po ostatnim uko niku nale y nacisnñè klawisz Enter. Polecenie %s edytora vi powoduje
wykonanie operacji znajd i zastñp.
5. Usuniöcie znaku komentarza z poczñtku wiersza dodajñcego moduä PHP nastöpuje po
wydaniu polecenia:
:%s/#AddModule php/AddModule php/
W przypadku u ywania systemu w wersji 10.3 (Panther), 10.4 (Tiger) i 10.5 (Leopard) nale y
pominñè punkty 6. i 7., poniewa wymagane wiersze znajdujñ siö w standardowej instalacji
systemu.
6. Mac OS X 10.2 wymaga ustawienia mapowania plików index poprzez dodanie do dyrektywy
DirectoryIndex opcji index.php. W tym celu trzeba wydaè poni sze polecenie zastöpujñce
opcjö index.html opcjñ index.html index.php:
:%s/index.html/index.html index.php/
7. Mac OS X 10.2 wymaga równie dodania do pliku konfiguracyjnego Apache bloku tekstu,
który informuje Apache, e pliki z rozszerzeniem .php muszñ byè przetwarzanie jako PHP.
Wymieniony blok tekstu musi znale è siö po wierszu:
Include /private/ext/httpd/users
Po wydaniu polecenia Go trzeba na koþcu pliku dodaè poni szy blok tekstu:
<IfModule mod_php4.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps
</IfModule>
8. Aby zapisaè wprowadzone zmiany, nale y wydaè polecenie:
<escape>:wq
w którym <escape> oznacza naci niöcie klawisza Esc powodujñcego wyj cie z trybu edycji
edytora vi.
9. Nastöpny krok to ponowne uruchomienie serwera Apache (Personal Web Sharing w progra-
mie System Preferences).
10. Aby utworzyè plik test.php i przetestowaè instalacjö PHP, z poziomu aplikacji Terminal
trzeba wydaè polecenia:
vi ~/Sites/test.php
o
<?php phpinfo(); ?>
<escape>:wq
w którym <escape> oznacza naci niöcie klawisza Esc powodujñcego wyj cie z trybu edycji
edytora vi. W ten sposób zostanie utworzony plik z rozszerzeniem .php. Korzystamy z edy-
tora vi, gdy wbudowany w Mac OS X edytor TextEdit, tworzñc pliki tekstowe, domy lnie
nadaje im rozszerzenie .rtf.
11. W pasku adresu przeglñdarki internetowej nale y podaè adres http://localhost/~uzytkownik/
test.php, w którym uzytkownik oznacza krótkñ nazwö aktualnie u ywanego konta systemu
Lokalne tworzenie aplikacji _ 37
18. Mac OS X. Je eli u ytkownik nie jest pewny krótkiej nazwy konta, trzeba z menu Apple
wybraè opcjö About This Mac, a nastöpnie kliknñè przycisk More info…. Krótka nazwa konta
jest wy wietlona w nawiasie na koþcu wiersza Username.
12. Strona test.php (podobna do u ytej podczas instalacji PHP w systemie Windows) wy wietla
w oknie przeglñdarki internetowej informacje dotyczñce PHP oraz MySQL. Wy wietlenie
strony oznacza, e instalacja zakoþczyäa siö powodzeniem.
Po wykonaniu powy szej procedury rodowisko PHP powinno byè zainstalowane w systemie
Mac OS X.
Instalacja bazy danych MySQL 5.0
Ostatnim komponentem u ywanym podczas tworzenia i testowania na komputerze lokalnym
dynamicznych stron internetowych jest baza danych MySQL. Nale y rozpoczñè od pobrania
instalatora MySQL.
1. Na stronie http://dev.mysql.com/downloads/ znajdujñ siö do pobrania zarówno pliki binarne, jak
i kod ródäowy bazy MySQL. Trzeba pobraè wersjö binarnñ. W polu MySQL Community
Server nale y wiöc kliknñè przycisk Download.
2. W wy wietlonej na ekranie li cie trzeba kliknñè äñcze Windows.
3. Nastöpnie nale y kliknñè äñcze Windows Essentials (x86). Pobierany plik bödzie instalatorem
MSI Windows.
4. Klikniöcie powy szego äñcza spowoduje przeniesienie u ytkownika na stronö, na której
mo e albo podaè informacje o sobie, albo kliknñè äñcze No thanks i rozpoczñè pobieranie
pliku. Na ekranie zostanñ wy wietlone serwery lustrzane, trzeba z nich wybraè jeden. Warto
pobraè najnowszñ zalecanñ wersjö bazy danych, obecnie jest to 5.0. Plik instalacyjny zostanie
pobrany i zapisany na dysku twardym komputera.
5. Dwukrotne klikniöcie pliku MSI spowoduje wy wietlenie na ekranie okna instalatora bazy
danych MySQL (zobacz rysunek 2.17), który przeprowadzi u ytkownika przez proces insta-
lacji. Klikniöcie przycisku Next powoduje przej cie do kolejnego kroku.
6. W wy wietlonym oknie nale y wybraè rodzaj instalacji, klikajñc przycisk opcji Typical, jak
pokazano na rysunku 2.18, a nastöpnie przycisk Next.
7. Na ekranie zostanie wy wietlone okno dialogowe „Ready to Install”. Klikniöcie przycisku
Install rozpocznie wäa ciwy proces instalacji.
8. Program instaluje pliki bazy danych MySQL, a nastöpnie wy wietla na ekranie okno dialo-
gowe „MySQL.com Sign Up” (zobacz rysunek 2.19). Je eli u ytkownik nie chce zaäo yè
konta, nale y wybraè opcjö Skip Sign-Up. Zaäo enie konta powoduje otrzymywanie co
miesiñc newslettera oraz mo liwo è umieszczania informacji o bäödach oraz komentarzy
na forach internetowych.
9. W pokazanym na rysunku 2.20 kolejnym oknie dialogowym trzeba zaznaczyè przycisk
wyboru „Configure the MySQL Server now”, a nastöpnie kliknñè przycisk Finish.
10. Na ekranie zostanie wy wietlone okno dialogowe „MySQL Server Instance Configuration”.
Klikniöcie przycisku Next powoduje przej cie do kolejnego kroku.
38 _ Rozdzia 2. Instalacja
19. Rysunek 2.17. Instalator bazy danych MySQL
Rysunek 2.18. Wybór rodzaju instalacji
11. W pokazanym na rysunku 2.21 oknie dialogowym trzeba wybraè opcjö „Standard Configu-
ration”, a nastöpnie kliknñè przycisk Next.
Lokalne tworzenie aplikacji _ 39
20. Rysunek 2.19. Okno dialogowe umo liwiajñce zaäo enia konta na witrynie MySQL.com
Rysunek 2.20. Instalator pozwala na przeprowadzenie konfiguracji bazy danych
12. Na ekranie zostanie wy wietlone kolejne okno dialogowe, w którym nale y zaznaczyè opcjö
zarówno „Install As Windows Service”, jak i „Include Bin Directory in Windows PATH”
(zobacz rysunek 2.22). Druga z wymienionych opcji pozwala na wydawanie poleceþ MySQL
w wierszu poleceþ bez konieczno ci wcze niejszego przechodzenia do katalogu bin bazy
danych MySQL. Klikniöcie przycisku Next powoduje przej cie do kolejnego kroku.
40 _ Rozdzia 2. Instalacja
21. Rysunek 2.21. Wybór poziomu szczegóäowo ci wy wietlanych okien dialogowych
Rysunek 2.22. Okre lenie sposobu uruchamiania MySQL oraz ustalenie systemowej cie ki dostöpu
13. W nastöpnym oknie dialogowym trzeba ustaliè hasäo dla u ytkownika root bazy danych
(zobacz rysunek 2.23). Klikniöcie przycisku Next powoduje przej cie do kolejnego kroku. Nie
ma potrzeby tworzenia konta anonimowego u ytkownika (Anonymous Account), poniewa
wszystkie operacje bödñ przeprowadzane w ramach kont u ytkowników. Ze wzglödów
bezpieczeþstwa nie nale y wäñczaè opcji „Enable root access from remote machines”.
Lokalne tworzenie aplikacji _ 41
22. Rysunek 2.23. Ustawienia bezpieczeþstwa podczas konfiguracji bazy danych
14. Kolejny krok to klikniöcie przycisku Execute w oknie dialogowym „MySQL Server Instance
Configuration”.
15. Po klikniöciu przycisku Finish, jak pokazano na rysunku 2.24, baza danych MySQL bödzie
zainstalowana i skonfigurowana na komputerze lokalnym.
Rysunek 2.24. Instalacja zostaäa zakoþczona
42 _ Rozdzia 2. Instalacja
23. Na tym etapie wszystkie komponenty o znaczeniu krytycznym — Apache, PHP oraz MySQL —
zostaäy zainstalowane.
W niektórych sytuacjach instalator mo e wy wietliè informacje o podstawowych pro-
blemach podczas instalacji, takich jak maäa ilo è wolnego miejsca na dysku twardym
bñd brak wystarczajñcych uprawnieþ do instalacji bazy danych MySQL.
Instalacja MySQL Connector
Jest jeszcze jeden, ostatni element, który trzeba bödzie pobraè i zainstalowaè, aby jözyk PHP
mógä w peäni komunikowaè siö z bazñ danych MySQL. Connector/PHP zawiera dwie biblioteki
.dll dla PHP, które sñ wymagane w celu u ywania MySQL z poziomu PHP:
1. Ze strony http://dev.mysql.com/downloads/connector/php-mysqlnd/ nale y pobraè MySQL PHP
Connector.
2. Kolejny krok to rozpakowanie pliku ZIP o nazwie podobnej do php_5.2.0_mysql_5.0.27-
´win32.zip.
3. Nastöpnie trzeba utworzyè katalog C:PHPextensions.
4. Dwa rozpakowane pliki .dll trzeba skopiowaè do utworzonego wcze niej katalogu.
5. Ponadto plik libmysql.dll trzeba skopiowaè do katalogu C:Windowssystem322 (lub innego
katalogu wymienionego w systemowej cie ce dostöpu).
6. Nale y siö upewniè, e plik C:PHPphp.ini zawiera przedstawione poni ej wiersze (pierw-
szy wiersz mo e nie wymagaè modyfikacji, podczas gdy z drugiego trzeba bödzie usunñè
znajdujñcy siö na poczñtku znak komentarza):
extension_dir = C:PHPextensions
extension=php_mysql.dll
7. Po wprowadzeniu zmian trzeba ponownie uruchomiè serwer Apache.
8. W przeglñdarce internetowej nale y ponownie przej è na stronö phpinfo.php (http://localhost/
phpinfo.php). Strona powinna obecnie wy wietlaè tak e sekcjö MySQL, która bödzie potwier-
dzeniem, e PHP prawidäowo komunikuje siö z bazñ danych MySQL.
Instalacja MySQL w systemie Mac OS X
Je eli Czytelnik u ywa systemu 10.3, 10.4 lub 10.5, to najäatwiejszñ opcjñ bödzie wykorzystanie
samodzielnego pakietu w formacie .dpkg pobranego z witryny MySQL. Instalacja w systemie
10.2 jest nieco bardziej skomplikowana, poniewa wersja binarna dla 10.2 nie jest ju dostöpna
na witrynie MySQL. Zamiast niej nale y skorzystaè ze zbioru oprogramowania pod nazwñ Fink.
Dziöki projektowi Fink istnieje wiele ró nych narzödzi systemu Unix, które zostaäy przygoto-
wane do u ywania ich w Mac OS X. Aby zainstalowaè MySQL w systemie 10.2 za pomocñ
projektu Fink, trzeba wykonaè poni sze kroki:
1. W pierwszej kolejno ci nale y pobraè Fink ze strony http://www.finkproject.org/download/.
2. Po pobraniu pliku trzeba dwukrotnie kliknñè program instalatora.
3. Nastöpny krok to akceptacja warunków licencji.
2
W systemie Windows 2000 katalogiem bödzie C:WINNTsystem32 — przyp. täum.
Lokalne tworzenie aplikacji _ 43
24. 4. Kolejny etap to wybór dysku, na którym zostanie zainstalowany Fink.
5. W kolejnym oknie dialogowym trzeba zgodziè siö na proponowanñ modyfikacjö ustawieþ
powäoki.
6. Po wykonaniu powy szych kroków Fink jest gotowy do pracy, mo na wiöc pobraè i zain-
stalowaè MySQL. W aplikacji Terminal nale y wydaè nastöpujñce polecenia:
sudo apt-get install mysql
sudo apt-get install mysql-client
daemonic enable mysql
7. Baza danych MySQL jest zainstalowana w systemie Mac OS X 10.2.
W przypadku systemu w wersji 10.3, 10.4 lub 10.5 mo na pobraè plik w formacie .dpkg, dostöpny
na witrynie MySQL (http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg). Po dwukrotnym
klikniöciu pliku trzeba stosowaè siö do wskazówek wy wietlanych na ekranie, zaakceptowaè
warunki licencji i wskazaè dysk, na którym zostanie zainstalowana baza danych MySQL.
XAMPP
Pakiet XAMPP jest dostöpny dla systemów Windows, Linux oraz Mac OS X (zbudowanych
w oparciu o procesory Intel i dziaäajñcych pod kontrolñ systemu OS X 10.4 lub 10.5). Oferuje
proste i zintegrowane rozwiñzanie umo liwiajñce instalacjö wszystkich potrzebnych narzödzi na
wielu systemach operacyjnych. Przedstawiona poni ej procedura dotyczy instalacji XAMPP
w systemie Windows, ale proces instalacyjny bödzie przebiegaä podobnie na wszystkich obsäu-
giwanych platformach:
1. W pierwszej kolejno ci nale y pobraè instalator XAMPP w postaci pliku MSI, dostöpny na
stronie http://www.apachefriends.org/en/xampp-windows.html.
2. Dwukrotne klikniöcie pliku MSI spowoduje wy wietlenie na ekranie okna instalatora (zobacz
rysunek 2.25).
Rysunek 2.25. Okno pozwalajñce na wybór jözyka u ywanego podczas instalacji XAMPP
3. Z wy wietlonej listy trzeba wybraè jözyk u ywany podczas instalacji, a nastöpnie kliknñè
przycisk OK.
4. Na ekranie zostanie wy wietlone okno dialogowe instalatora, pokazane na rysunku 2.26.
Klikniöcie przycisku Next powoduje przej cie do kolejnego kroku.
5. Kolejne okno dialogowe instalatora (zobacz rysunek 2.27) pozwala na wybranie katalogu
instalacyjnego. Klikniöcie przycisku Next spowoduje akceptacjö katalogu domy lnego i przej-
cie do kolejnego kroku.
44 _ Rozdzia 2. Instalacja
25. Rysunek 2.26. Instalator pakietu XAMPP
Rysunek 2.27. Wybór katalogu instalacyjnego pakietu XAMPP
6. Na ekranie zostanie wy wietlone nastöpne okno dialogowe, tym razem zawierajñce opcje
instalacyjne pakietu XAMPP (zobacz rysunek 2.28). Nale y pozostawiè niezaznaczone
opcje sekcji „Service Section”, przez co komponenty nie bödñ zainstalowane jako usäugi
Lokalne tworzenie aplikacji _ 45
26. Rysunek 2.28. Opcje instalacyjne pakietu XAMPP
w systemie. Zamiast tego u ytkownik bödzie mógä je uruchamiaè za pomocñ panelu kon-
trolnego. Klikniöcie przycisku Install spowoduje rozpoczöcie wäa ciwej instalacji.
7. Po zakoþczeniu instalacji trzeba kliknñè przycisk Finish.
8. Na ekranie zostanie wy wietlony komunikat z pytaniem, czy uruchomiè panel kontrolny
pakietu (zobacz rysunek 2.29). Nale y kliknñè przycisk Tak.
Rysunek 2.29. Instalacja zostaäa zakoþczona
9. Klikniöcie przycisku Tak spowoduje wy wietlenie pokazanego na rysunku 2.30 okna panelu
kontrolnego pakietu XAMPP.
Wymieniony panel umo liwia uruchamianie i zatrzymywanie usäug, a tak e ich konfiguracjö.
Praca zdalna
Chocia zalecanñ metodñ pracy jest u ywanie komputera lokalnego, Czytelnik mo e równie
skorzystaè z konta ISP, o ile oferuje ono obsäugö PHP i MySQL.
46 _ Rozdzia 2. Instalacja
27. Rysunek 2.30. Panel kontrolny XAMPP pozwala na uruchamianie i zatrzymywanie komponentów
W celu u ywania takiego konta bödzie potrzebna nazwa u ytkownika i hasäo do konta utworzo-
nego na zdalnym serwerze, a do utworzenia bazy danych MySQL mo e byè konieczne u ycie
dostarczonego przez ISP narzödzia bazujñcego na przeglñdarce internetowej.
Do przekazywania plików i katalogów do zdalnego serwera potrzebne bödzie konto FTP utwo-
rzone przez ISP i zwykle dostöpne z poziomu panelu kontrolnego konta. Po uzyskaniu nazwy
u ytkownika FTP mo na przekazywaè pliki HTML i PHP za pomocñ klienta FTP.
Mo e siö zdarzyè, e ISP bödzie wymagaä u ywania Secure FTP (SFTP) zamiast zwy-
käego FTP. Nale y to sprawdziè bezpo rednio u ISP. Wiele klientów FTP obsäuguje
równie SFTP.
Nawet je li komputer posiada tekstowñ wersjö klienta FTP, to jej u ywanie mo e byè trudne.
Korzystanie z graficznych klientów FTP jest znacznie äatwiejsze. Klient FTP Voyager dostöpny
na http://www.ftpvoyager.com/ jest jednym z programów FTP, których mo na u ywaè do prze-
kazywania plików do zdalnego serwera. Gäówny ekran klienta FTP Voyager jest podobny do
pokazanego na rysunku 2.31. Na platformie Mac dobrym klientem FTP jest Fetch.
Po nawiñzaniu poäñczenia za pomocñ klienta Voyager na ekranie zostanie wy wietlone okno
dialogowe podobne do pokazanego na rysunku 2.32. U ytkownik mo e przeciñgaè i upuszczaè
utworzone pliki .php. Nale y pamiötaè, e aby pliki PHP zostaäy przetworzone przez serwer
WWW, muszñ mieè rozszerzenie .php zamiast .html. Serwer WWW musi po prostu wiedzieè,
e ma do czynienia z plikami PHP, a wtedy przekazuje je interpreterowi PHP.
Pliki PHP muszñ byè obsäugiwane przez serwer WWW, poniewa przeglñdarka internetowa
nie ma mo liwo ci przetwarzania kodu PHP. Do przetwarzania plików PHP jest u ywany
interpreter PHP.
Praca zdalna _ 47
29. Na tym etapie Czytelnik jest gotowy do poznania podstawowych informacji dotyczñcych inte-
gracji komponentów oraz szybkiego i äatwego tworzenia dynamicznych stron internetowych.
W rozdziale 3. zostanñ przedstawione podstawowe informacje o rodowisku PHP oraz proste
zasady kodowania odnoszñce siö do programowania w PHP.
Pytania do rozdzia u 2.
Pytanie 2.1.
Wymieþ komponenty, które muszñ zostaè zainstalowane w celu umo liwienia tworzenia
dynamicznej strony internetowej.
Pytanie 2.2.
W jakim systemie operacyjnym serwer Apache jest zainstalowany domy lnie?
Pytanie 2.3.
Gdzie powinien zostaè utworzony katalog PHP na pobrane oprogramowanie?
Pytanie 2.4.
Co oznacza znak hash (#)?
Pytanie 2.5.
W jaki sposób mo na pracowaè zdalnie?
Pytanie 2.6.
W jaki sposób mo na przekazywaè pliki do zdalnego konta ISP?
Pytanie 2.7.
W jaki sposób muszñ byè udostöpniane pliki PHP?
Odpowiedzi na te pytania mo na znale è w Dodatku.
Pytania do rozdzia u 2. _ 49