Prof. dr hab. inż. Sławomir W
iak
Systemy Baz
Systemy Baz
Danych
Danych
(cz. 1.2)
(cz. 1.2)
PHP
PHP
Prof. dr hab.
Prof. dr hab.
inż
inż
. Sławomir Wiak
. Sławomir Wiak
Prof. dr hab. inż. Sławomir W
iak
PHP, Apache oraz MySQL
Prof. dr hab. inż. Sławomir W
iak
PHP jest to język skryptowy wykonywany, podobnie
jak
CGI
czy
ASP
po stronie serwera (server-side), a
nie po stronie użytkownika (client-side), więc nie
jest zależny od rodzaju przeglądarki, czy od systemu
operacyjnego (jak wiemy różne elementy mogą być
odmiennie wyświetlane na różnych przeglądarkach),
tylko od oprogramowania serwera.
Wszystko to połączone z stosunkowo dużą łatwością
obsługi i ogromnymi możliwościami sprawia, że
PHP
staje się bardzo poważnym konkurentem
innych
server-side'owych języków, chociażby CGI.
Twórcą PHP jest Rasmus Lerdorf, który w 1994 roku
użył tego języka na swojej stronie domowej.
Zadaniem tej pierwszej, niepublikowanej wersji PHP
było zbieranie informacji o osobach odwiedzających
witrynę, a spośród ciekawych funkcji należy
wymienić możliwość umieszczania pytań SQL w
stronach WWW.
Prof. dr hab. inż. Sławomir W
iak
Już w następnym roku
PHP (Personal Home Page
Tools)
zyskało sobie dość dużą popularność i
zostało udostępnione użytkownikom Sieci. Nie
miało ono jeszcze wtedy zbyt dużych możliwości.
Obsługiwało
proste
instrukcje,
pozwalało
realizować popularne usługi (licznik, księga gości,
itp...)
wykorzystywane
na
stronach
WWW.
Wkrótce pojawiły się jednak liczne sugestie
dotyczące rozszerzenia możliwości parsera PHP.
Wyraźnie
brakowało
pętli,
instrukcji
warunkowych, czy bogatszych struktur danych.
W 1995 roku narodziło się
PHP/FI (PHP2),
uzupełnione o pakiet interpretujący dane z
formularzy HTML (
FI = Form Interpreter
) oraz
możliwość obsługi baz danych
mSQL
. Kiedy ludzie
zaczęli dodawać swój kod, nastąpił niewiarygodny
rozwój nowej wersji PHP. Technologii tej używano
na coraz większej liczbie witryn WWW.
Prof. dr hab. inż. Sławomir W
iak
Kolejna zmiana nastąpiła dwa lata później. PHP
przestało być jedynie osobistym projektem
Rasmusa i garstki zapaleńców, stając się dziełem
zespołowym. Zeev Suraski i Andi Gutmans,
pisząc część kodu zupełnie od nowa, stworzyli
nowy parser, będący podstawą PHP3.
Najnowsza wersja (PHP4) korzysta z potężnej
platformy skryptowej Zend (
, co zwiększa jej wydajność oraz może
działać jako moduł serwera innego niż Apache.
Obecnie PHP4 dostarczane jest z wieloma
komercyjnymi produktami, a z technologii tej
korzysta już ponad 5 milionów strona na całym
świecie.Kod źródłowy PHP jest powszechnie
dostępny na zasadzie Open Source (
)
Prof. dr hab. inż. Sławomir W
iak
PHP a serwer WWW
PHP może być zainstalowany
w dwojaki
sposób
.
Pierwszy
, najbardziej popularny, to
instalacja jako moduł serwera, np. Apache'a.
Wówczas skrypt PHP jest wykonywany na
prawach
użytkownika,
który
jest
właścicielem Apache'a - zwykle nobody.
Drugi,
rzadziej
stosowany
sposób
to
instalacja PHP jako programu CGI. Wówczas
skrypty PHP umieszczane są w katalogu ze
skryptami CGI (najczęściej jest to katalog
cgi-bin). Należy również pamiętać, taki
skrypt jest pełnoprawnym programem
CGI
(Common Gateway Interface)
i musi mieć
odpowiednie uprawnienia (755, czyli -rwxr-
xr-x) oraz w pierwszej linii pliku ścieżkę do
interpretera języka.
Prof. dr hab. inż. Sławomir W
iak
Rozszerzenia plików PHP
Pliki stron WWW zawierających skrypty PHP mogą
mieć różne rozszerzenia w zależności od
konfiguracji serwera. Najczęściej stosowane to:
*.php, *.php3, *.phtml
. Jeżeli chcesz, aby pliki
PHP miały także inne rozszerzenia, musisz w
pliku httpd.conf (lub srm.conf) wpisać w sekcji
AddType
następującą
linię:
AddType
application/x-httpd-php .<nowe rozszerzenie>
a
następnie,
aby
plik
index
z
nowym
rozszerzeniem był traktowany jako domyślny
plik katalogu
, w sekcji
DirectoryIndex
dopisać:
DirectoryIndex index
.<nowe rozszerzenie>
Prof. dr hab. inż. Sławomir W
iak
Umieszczanie skryptów w HTML-u
Skrypty PHP (obecnie Hypertext Preprocessor)
wykonywane są po stronie serwera, ale
umieszczane bezpośrednio w kodzie strony.
Serwer interpretuje kod PHP i przekazuje
przeglądarce stronę WWW bez wstawek PHP.
Kod PHP umieszczany jest na stronie za pomocą
następujących znaczników:
<?php i ?>
<? i ?>
<script language=php> i </script>
<% i %>
Prof. dr hab. inż. Sławomir W
iak
Drugi typ znaczników, nazywany
Short Tags
(krótkie znaczniki), dostępny jest, jeżli w pliku
konfiguracyjnym PHP (
c:\apache\php\php.ini w
win32
) włączona jest opcja
short_open_tag
:
short_open_tag = On
lub po wywołaniu funkcji short_tags().
Czwarty typ znaczników pochodzi
z języka ASP
i
nie jest dostępny w standardowej konfiguracji
PHP
.
Aby
go
uaktywnić
należy
włączyć
następującą opcję:
asp_tags = On
Prof. dr hab. inż. Sławomir W
iak
Przykładowy skrypt PHP
W celu przedstawienia podstawowych cech PHP
zostanie zaprezentowany i omówiony przykładowy
skrypt odpowiedzialny za wyświetlenie na stronie
aktualnej daty.
<html>
<head>
<title>Skrypt PHP</title>
</head>
<body>
/* skrypt PHP
drukowanie aktualnej daty */
$aktualna_data = date("d-m-Y"); // pobieramy datę
do zmiennej
echo("Dziś jest $aktualna_data"); // drukujemy linię
#koniec drukowania aktualnej daty
</body>
</html>
Prof. dr hab. inż. Sławomir W
iak
Wynikiem działania tego skryptu będzie:
<html>
<head>
<title>Skrypt PHP</title>
</head>
<body>
Dziś jest: 27-07-2001
</body>
</html>
Zwrócony tekst zastąpi znaczniki skryptu (<? i ?>)
wraz z umieszczonym między nimi kodem i
komentarzami.
Prof. dr hab. inż. Sławomir W
iak
PHP – Personal Home Page
w odróżnieniu od
HTMLa jest kompilowany po stronie serwera
.
Odciąża to w znacznym stopniu
komputer
klienta i znacznie zwiększa możliwości
zabezpieczenia
zarówno
wymienianych
informacji jak i samego kodu strony:
użytkownik widzi jedynie zwracane przez
serwer informacje, a nie tak jak w HTML cały
kod.
Dodatkową korzyścią jest fakt
, iż strona jest
niezależna od przeglądarki internetowe –
tutaj za wszystko jest odpowiedzialny serwer.
Ponadto PHP umożliwia dostęp do baz
danych, a to daje już bardzo duże możliwości.
Prof. dr hab. inż. Sławomir W
iak
Pozwala nam stworzyć na przykład:
sklep
internetowy, serwis ogłoszeniowy, bazę danych
firmy
gdzie oddziały z innych miast będą na
bieżąco zaznaczały swoje przychody, rozchody,
zamówienia itp., forum dyskusyjne na wybrany
przez nas temat, internetowy terminarz firmy
pozwalający zawsze i o każdej porze sprawdzić
co w najbliższym czasie jest do zrobienia w
pracy, a kierownictwu znacznie ułatwi podział
zadań – nie trzeba informować każdego z
osobna... Można jeszcze długo wymieniać.
Sam
kod PHP łączymy z plikami HTML poprzez
zamknięcie go w znacznikach <? oraz ?>
<table><tr><td>
<?
phpinfo();
?>
</td></tr></table>
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Cechy i opis MySQL
MySQL może zostać zainstalowany i pracować
pod
praktycznie
każdym
systemem
operacyjnym
(MS Windows, systemy z
rodziny Unix, Mac OS, OS/2).
Wersja dla
systemów MS Windows jest wersją 30
dniową.
W
pozostałych
przypadkach
program można używać bez konieczności
wnoszenia
opłat.
Producent
MySQL-a
oferuje także szeroki wachlarz usług
związanych z programem oraz pełne
wsparcie techniczne.
Niżej
wymienione
możliwości
MySQL-a
sprawiają, że stanowi on silną konkurencję
dla podobnych, aczkolwiek komercyjnych
produktów:
Prof. dr hab. inż. Sławomir W
iak
baza danych zdolna pomieścić nawet
kilkadziesiąt milionów rekordów –
wielkość ta zależy jedynie od fizycznych
możliwości komputera;
interfejsy API dla najważniejszych języków
programowania (m.in. C, PHP, Perl);
wykorzystanie mocy komputerów
wieloprocesorowych;
nieograniczona liczba użytkowników
mogących jednocześnie korzystać z bazy
danych;
duża szybkość działania wynikająca
jednak w pewnym stopniu z braku
niektórych funkcji – np. obsługi transakcji
Prof. dr hab. inż. Sławomir W
iak
Serwer MySQL jest produktem bardzo
dobrze zaprojektowanym, dzięki czemu
możliwe stało się uzyskanie bardzo dużej
szybkości przetwarzania danych, przy
zachowaniu bardzo dobrej stabilności i
funkcjonalności.
Unikalnym rozwiązaniem jest oddzielenie
jądra
serwera
od
mechanizmów
zarządzania bazami i tabelami (fizycznie
są to katalogi i pliki). Między innymi
dlatego
uzyskano
niezwykle
dużą
wydajność
serwera,
znacznie
przewyższającą
większość
innych
produktów, w tym komercyjnych.
Prof. dr hab. inż. Sławomir W
iak
W
chwili
obecnej
MySQL
jest
najpopularniejszym
serwerem
bazodanowym dostępnym nieodpłatnie wraz
z kodem źródłowym. Zainstalowany jest na
ponad
2 milionach serwerów
obsługując
serwisy internetowe, hurtownie danych,
aplikacje biznesowe, systemy logowania i
zbierania danych (np. statystyki).
Serwer MySQL wykorzystywany jest m.in.
przez
Yahoo! Finance, MP3.com, Motorollę,
NASA, Silicon Graphics, Texas Instruments.
O popularności serwera MySQL świadczy
także liczba odsłon serwisu www.mysql.com,
która wynosi ponad
10.000.000
miesięcznie
Prof. dr hab. inż. Sławomir W
iak
MySQL
doczekał się kilku wyspecjalizowanych
wersji, zoptymalizowanych dla konkretnych
zastosowań i wymagań klientów:
MySQL 4.0.
Jest to najnowsza i najbardziej
rozbudowana wersja MySQL, wspierająca
m.in. cache’owanie zapytań.
MySQL.
Jest to standardowa i
najpopularniejsza wersja, zoptymalizowana
pod względem szybkości działania,
pozbawiona przede wszystkim obsługi
transakcji.
MySQL-Max.
Jest to specjalna wersja MySQL
wyposażona w dwa różne mechanizmy obsługi
tabel (InnoDB i BDB); wersja ta w pełni
wspiera transakcje.
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak
Prof. dr hab. inż. Sławomir W
iak