Hlavní navigace

Webové aplikace na domácím PC

1. 2. 2008

Sdílet

Časům, kdy světem internetu hýbaly jen statické stránky, již dávno odzvonilo. Dnes je tady doba dynamických webo...


Časům, kdy světem internetu hýbaly jen statické stránky, již dávno odzvonilo. Dnes je tady doba dynamických webových stránek – webových aplikací. S tím však pro uživatele, kteří chtějí stránky postavit a otestovat, vzniká problém. Aby dynamické stránky fungovaly, musí být umístěny na serveru, který poté vyřizuje požadavky návštěvníků a posílá obsah webové stránky prohlížeči v PC, z něhož přišel požadavek na zobrazení. V tomto článku a několika následujících se budeme zabývat možnostmi domácího testování aplikací, postaveném na webovém serveru Apache, databázovém serveru MySQL a skriptovacím programovacím jazyku PHP, který je základem pro většinu dnes dostupných dynamických webových stránek, open source projektů a dokonce i konzolových či desktopových aplikací.Proč zrovna tyto tři technologie? Jde o nástroje volně dostupné a použitelné bez jakýchkoliv nákladů. Tím pádem jsou tyto technologie vhodné i pro IAP (Internet Acces Provider, tedy poskytovatel internetových služeb). Poskytovatelé internetových služeb kromě samotného připojení k internetu zajišťují také registraci domén a webhostingové služby. Řadíme mezi ně jak zdarma dostupné technologie základu LAMP, což je kombinace Linuxu, Apache,
MySQL a PHP, tak i konkurenční produkty postavené na platformě Windows a jejich .NET technologii, kdy je třeba jednoduše využívat technologií dostupných Windows serverů, například Active Directory a podobně. Velké procento českého i zahraničního internetu využívá právě PHP. Většina tvůrců webových aplikací a stránek
není dostatečně obeznámena s Linuxem, a proto existují nástroje, které umožní i bez internetu a Linuxu zprovoznit webový server, na němž můžeme vytvářené aplikace a stránky testovat.
Při vytváření vhodného prostředí pro naše pokusy s PHP se musíme nejdříve zamyslet nad tím, co vlastně potřebujeme. Pokud nám stačí pouze základní řešení all-in-one, můžeme si vybrat z dvojice rozšířených nástrojů: EasyPHP a XAMPP. První z nich trochu doplácí na rychlý vývoj technologií, aktualizovaná a zároveň stabilní verze je oproti nejnovějším trendům vždy trochu zastaralá (implementované komponenty jsou ve skutečnosti o něco novější). Pro základní i většinu složitějších aplikací však bohatě postačí. Druhý zmiňovaný nástroj je určitá high-end verze, v níž je implantováno úplně vše, co můžete potřebovat. S více možnostmi však narůstá rovněž zátěž, možné nebezpečné díry v zabezpečení a také náchylnost ke zkolabování všech součástí. Řešení all-in-one rozhodně nedoporučuji na produkční servery! Pokud bychom takový server chtěli postavit, je mnohem výhodnější instalovat všechny komponenty zvlášť. Takový postup zaručí plnou kontrolu nad strojem a verzemi, což se může hodit pro simulování běhu aplikace na hosting s nějakými omezeními, případně staršími verzemi PHP a podobně.

EASYPHP

Na stránkách http://www.easyphp.org/ je možné stáhnout instalační soubory pro dvě verze, lišící se především verzemi obsažených komponent:

EasyPHP 2.0 beta1 [ 23/12/2006 ]:
???Apache 2.2.3,
???PHP 5.2.0,
???MySQL 5.0.27,
???PHPMyAdmin 2.9.1.1,
???SQLiteManager 1.2.0.

EasyPHP 1.8 [ 01/03/2005 ]:
???Apache 1.3.33,
???PHP 4.3.10,
???MySql 4.1.9,
???phpMyAdmin 2.6.1.

Pro nás nejdůležitějším údajem je verze PHP – vzhledem ke končící technické podpoře ze strany php.net a vzhledem k funkcím, které jsou v PHP 5 obsaženy, je dobré vybrat EasyPHP 2.0 beta1. I verze MySQL je velmi důležitá a v tomto případě platí, že čím vyšší, tím lepší. Pro potřeby začátečníků by stačila jakákoliv z uvedených verzí, ale výhodnější bude verze s PHP 5.
Z našeho DVD můžete použít soubor EASYPHP-2.0B1-SETUP.EXE, nebo jej získáte na adrese http://www.easyphp.org/telechargements.php3 a jeho spuštěním nastartujete instalaci. Ta je velmi jednoduchá, stačí sledovat klasický instalační proces a řídit se jednotlivými obrázky. Jako cestu k instalaci použiji adresář
C:easy_php, po instalaci je někdy nutné povolit ve firewallu adresu 127.0.0.1 na portu 80, což je port přenosu http. Rozhodně je dobré si ve firewallu nastavit, že požadavek na vaši statickou IP adresu (pokud ji máte přidělenu) nemá být odkazován na vnitřní adresu IP. To samozřejmě neplatí, pokud chcete, aby soubory webového serveru byly přístupné z internetu.
Pokud nyní zadáte do prohlížeče tuto adresu: http://127.0.0.1/, díváte se právě na obsah root adresáře vašeho testovacího serveru. Při instalaci jsem zadal cestu C:easy_php, v tomto adresáři se nalézá především složka www, do které můžete nahrávat své dynamické stránky se skripty PHP a následně je uvidíte v prohlížeči. Doporučuji vytvořit například složku test ve složce C:easy_phpwww a do ní následně vložit soubor index.php, jehož obsahem může být například toto:

<?php
phpinfo();
?>
Po zadání http://127.0.0.1/test/ do prohlížeče se zobrazí stránka generovaná vaším novým testovacím webovým serverem, a to soubor phpinfo, kde můžete vidět všechny důležité informace – verzi, funkce, které je možné používat, a podobně. Pokud jste ještě neměli možnost si jakékoliv phpinfo přečíst, rozhodně to doporučuji, například úplně poslední tabulka vám ukáže, co všechno lze pomocí PHP zjistit o návštěvníkovi.

Pokud byste chtěli, aby byl váš nově vytvořený server dostupný i jiným uživatelům sítě internet, je třeba nastavit vaší IP adresu v konfiguračním souboru Apache a povolit ve firewallu port 80 pro přístup. Do konfiguračního souboru se dostanete tak, že kliknete na ikonu EasyPHP v hlavním panelu pravým tlačítkem myši, zadáte příkaz Configuration > Apache, otevře se konfigurační soubor a v něm je třeba vyhledat toto:

#Listen 12.34.56.78:80
Listen 127.0.0.1:80

Znak # znamená komentář a Apache řádky, kde se tento znak na začátku nalézá, vynechává. Soubor upravte tak, aby výsledkem bylo například toto:

#Listen 12.34.56.78:80
Listen 127.0.0.1:80
Listen 192.168.0.30:80

Tento zápis znamená, že Apache server „poslouchá“ i na IP adrese vnitřní sítě 192.168.0.30 (takovou a podobné IP adresy přiřazuje DHCP server routerům nejčastějších internetových připojení). A pokud nyní do prohlížeče zadáte jakoukoliv z těchto dvou IP adres, objeví se totožný obsah. Pokud přidáte i vaši vnější IP adresu, uvidíte po jejím zadání kdekoliv s připojením k internetu obsah stránek umístěných na vašem testovacím serveru. Pokud naopak nechcete, aby nikdo neviděl obsah Vašeho serveru, ponechte pouze adresu 127.0.0.1:80.

Varování! Snažte se v konfiguračním souboru nic nemazat, Apache se při chybě v konfiguračním souboru nespustí! Pokud by se vám povedlo něco v konfiguračním souboru smazat a server se nechtěl spustit, v adresáři C:easy_phpsafe jsou zálohy konfiguračních souborů, které stačí vhodně přejmenovat a zkopírovat do C:easy_phpconf_files.

K pravé dynamické webové stránce/aplikaci je potřeba databáze. Ta je samozřejmě spuštěna, což můžeme kontrolovat v hlavním okně. Pokud byste však povolili přístup z venku, je třeba nastavit heslo pro uživatele root v databázi a pro přístup k ní je třeba zkopírovat složku z umístění instalace C:easy_php. Složka se jmenuje C:phpMyAdmin a musíte ji překopírovat do složky C:easy_phpwww. Po otevření http://127.0.0.1/phpmyadmin/ se objeví webové rozhraní pro ovládání MySQL databáze a pro přístup k datům, jež jsou v ní uložena.
Začněte na stránce http://127.0.0.1/phpmyadmin/, zvolte odkaz Privileges. Objeví se klasický výpis tabulky, kde ve sloupci „User“ naleznete uživatele „root“, na řádku jsou další informace a nejdůležitější Password je zatím prázdná. Nyní klikněte na tlačítko na konci řádku uživatele root a na další stránce naleznete pole Change password, kde zatrhnete pole Password, vyplníte heslo, zopakujete jej do pole Re-type a nakonec stisknete tlačítko GO. Po této proceduře se již do phpmyadmina nedostanete. Na stránce se objeví varování a odkaz setup_script. Kliknutím na něj se dostanete do setupu phpmyadmina. Zde stačí nastavit pouze informace pod záložkou Servers – ADD.

Na otevřené stránce vyplníte nebo vyberete následující údaje:
???Server hostname – localhost.
???Connection type – tcp.
???PHP extension – mysqli nebo mysql.
???
Authentication type nastavíme na cookie nebo http – nejčastěji používaná je volba cookie, kterou doporučuji.
Stiskněte tlačítko ADD, a je hotovo. Nyní již stačí v sekci Configuration stisknout tlačítko Download a stáhnout konfigurační soubor, který je nyní třeba uložit do složky phpMyAdmina, v naší instalaci tedy soubor config.inc.php přesuneme do složky C:easy_phpwwwphpmyadmin. Nastavení hesla a následný možný přístup do phpMyAdmina je tímto dokončen. Zbývá se jen přihlásit na stránce http://127.0.0.1/phpmyadmin/ pomocí přihlašovacího jména root a hesla, které jsme zadali.
Tímto máme nainstalované vše, co potřebujeme k testování aplikací na domácím PC. Jde o nejjednodušší variantu, vhodnou jen pro to nejnutnější testování. Nyní se podíváme, jak postupovat při instalaci poněkud lepšího produktu stejného zaměření: XAMPP.

XAMPP

Podíváme-li se na XAMPP poněkud podrobněji, zjistíme, že i jeho Lite verze je obohacena o spoustu nástrojů, a navíc ve vyšších verzích než u EasyPHP, každý nástroj však s sebou nese vyšší zatížení procesoru, a proto není vhodné XAMPP instalovat na slabší PC.
V Lite edici XAMPP verze 1.6.5 se nachází:
???Apache 2.2.6,
???PHP 5.2.5,
???MySQL 5.0.51,
???phpMyAdmin 2.11.3.

a navíc:
???OpenSSL 0.9.8g,
???SQLite 2.8.15.

Tato verze je tzv. instalační/odinstalační a nelze ji dále nijak upgradovat. Naproti tomu klasickou edici je možné upgradovat a obsahuje spoustu dalších nástrojů. Ve verzi XAMPP full nalezneme:

???Apache HTTPD 2.2.6,
???MySQL 5.0.51,
???PHP 5.2.5,
???PHPMyAdmin 2.11.3.

a navíc:
???PHP 4.4.7,
???PEAR,
???Switch,
???MiniPerl 5.8.7,
???Openssl 0.9.8g,
???XAMPP Control Panel 2.5,
???Webalizer 2.01-10,
???Mercury Mail Transport System v4.52,
???FileZilla FTP Server 0.9.24,
???SQLite 2.8.15,
???ADODB 4.96,
???Zend Optimizer 3.3.0,
???XAMPP Security,
???Ming.

V tomto výčtu je nejzajímavější nástroj Zend Optimizer, který umožňuje optimalizaci kódu, jeho rychlejší provedení a tím pádem rychlejší odezvy na požadavky. S tím souvisí pokles nároků na hardwarové vybavení, což je velmi příjemné. A navíc jeho použití je naprosto jednoduché, nemusíte totiž dělat vůbec nic, stačí používat PHP a Zend váš kód sám při zpracování optimalizuje. Za zmínku stojí i SQLite, což je další možná použitelná databáze. Jde o relační databázový systém, který je velmi rychlý a rovněž málo zatěžuje počítač. V této verzi je navíc implementován poštovní server, který můžete naplno využít a odesílat poštu ze svých skriptů bez jakýchkoliv problémů. A v případě nasazení na domácí server jistě potěší také FTP server, díky němuž můžete k datům přistupovat odkudkoliv.
Ze stránek http://www.apachefriends.org/en/xampp-windows.html si stáhněte soubor XAMPP-WIN32-1.6.5-INSTALLER full, tedy verzi XAMPP s instalátorem (37 MB), nebo si jej nahrajte z našeho DVD.
Instalace je opět velmi jednoduchá, jak se přesvědčíte i na doprovodných obrázcích. Jako cestu k instalaci použijte adresář
C:xampp. Chcete-li zpřístupnit testovací aplikace i dalším uživatelům internetu, nezapomeňte odpovídajícím způsobem upravit firewall a konfiguraci Apache serveru.
Pokud nyní zadáte do prohlížeče tuto adresu:
http://127.0.0.1/, právě se díváte na obsah root adresáře a jste přesměrováni na podadresář xampp vašeho testovacího serveru. Tady doporučuji projít si ukázkové příklady a porozhlédnout se po Administraci. Při instalaci jsem zadal cestu C:xampp. V tomto adresáři se nalézá především složka htdocs, do které můžeme nahrávat dynamické stránky se skripty PHP a následně je uvidíme v prohlížeči.
Doporučuji vytvořit například složku test do složky C:xampphtdocs a do ní následně vložit soubor index.php, jehož obsahem může být například toto:
<?php
phpinfo();
?>

Po zadání http://127.0.0.1/test/ do prohlížeče se zobrazí stránka generovaná vaším novým testovacím webovým serverem, a to soubor phpinfo, jako v minulém příkladu. Tím ověříte funkčnost webového serveru.
Pokud byste chtěli, aby váš nově vytvořený server byl dostupný i z internetu jiným uživatelům sítě internet, je třeba nastavit vše stejně jako v minulém příkladu, konfigurační soubor Apache naleznete v C:xamppapacheconf.
Co se týká zabezpečení databáze, je třeba postupovat stejně jako u EasyPHP, stačí zadat http://127.0.0.1/phpmyadmin/, objeví se phpMyAdmin v češtině, nastavení tak bude jistě jednodušší. Postup je úplně stejný jako u EasyPHP – jedná se o stejné nástroje, jen ve vyšších verzích. Čeká vás akorát více uživatelů root. Nastavte hesla pro oba uživatele root, jak pro 127.0.0.1, tak pro localhost. Poté změňte v souboru config.inc.php, který naleznete v adresáři C:xamppphpmyadmin, řádky 71,72 a 73, a to z:

$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (valid choices:
config, http, HTTP, signon or cookie)
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed

na:

$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (valid choices:
config, http, HTTP, signon or cookie)
$cfg['Servers'][$i]['user'] = ''; // MySQL user
$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed

Objeví se dobře známé přihlašovací okno PhpMyAdmina, kde stačí vyplnit naše údaje, tedy root, a heslo, které jsme zadali v oprávnění.
Tímto máme nainstalované a nastavené skoro vše, co potřebujeme, dále můžeme nastavit ftp server, poštovní server a další – jsou nastaveny už od základu a fungují všechny správně, ale je dobré si nastavení projít a případně něco pozměnit.
Za zmínku rozhodně stojí ještě https://127.0.0.1/webalizer/, který podrobně vypisuje statistiky přístupů na server. A máte
tak pod drobnohledem, kdo se kam díval, jaký máte provoz
a podobně.

Nakonec ještě soupis toho, kde lze co naleznout po instalaci XAMPP:
??
.xamppanonymous – přístup do složky pod anonymním uživatelem přes FTP.
??
.xamppapache – Apache server, hlavní adresář.
??
.xamppcgi-bin – adresář pro vykonávání CGI skriptů.
??
.xamppFileZillaFTP – FileZilla FTP server, hlavní
adresář.
??
.xampphtdocs – hlavní adresář pro www.
??
.xamppinstall – instalační soubory XAMPP (nemazat).
??
.xamppMercuryMail – Mercury Mail, SMTP, POP3, IMAP server, hlavní adresář.
??
.xamppmysql – MySQL server, hlavní adresář.
??
.xamppperl – Perl, hlavní adresář.
??
.xamppphp – PHP (4+5), hlavní adresář.
??
.xamppphpmyadmin – phpMyAdmin, hlavní adresář.
??
.xamppsecurity – adresář s bezpečnostními konfiguračními skripty.
??
.xampptmp – Temp adresář.
??
.xamppwebalizer – adresář s Webalizer.

Toto by bylo ohledně instalace nástrojů pro dynamicky generované webové stránky a aplikace všechno – v příštích článcích se můžete těšit na popis jednotlivých nástrojů, příbuzných rozšiřujících modulů a dalších nastavení. 8 0002/TJi ?

Pojmy

???MIME (Multipurpose Internet Mail Extensions) – internetový standard, který rozšiřuje původní standard RFC822 o možnost posílání zpráv s diakritikou, obrázků, zvuků, elektronický podpis, šifrování zprávy atd.
???IAP (Internet Access Provider) – kromě přístupu k internetu přes technologie jako dial-up připojení, ADSL nebo Wi-Fi mohou poskytovat kombinaci služeb včetně internet transitu, registraci doménového jména, hostingu nebo webhostingu.
???DHCP (Dynamic Host Configuration Protocolserver) – aplikační protokol z rodiny TCP/IP. Používá se pro automatické přidělování IP adres koncovým stanicím v síti.
???Router neboli směrovač – síťové zařízení, které procesem zvaným routování přeposílá datagramy směrem k jejich cíli. Routování probíhá na třetí (síťové) vrstvě sedmivrstvého modelu ISO/OSI.

???LAMP – zkratka, jež v informatice označuje svobodný software, který se často používá jako webový server pro dynamické webové stránky. Zahrnuje tyto technologie:
???Linux – operační systém,
???Apache – webový server,
???MySQL – databázový systém,
???PHP, někdy Perl nebo Python – programovací jazyk.
???FTP (File Transfer Protocol) – protokol aplikační vrstvy z rodiny TCP/IP, je určen pro přenos souborů mezi počítači, na kterých mohou běžet velmi rozdílné operační systémy.
???Linux – jádro (kernel) několika počítačových operačních systémů. Je známým příkladem svobodného softwaru a vývoje open source softwaru – na rozdíl od proprietárních operačních systémů jako Windows či Mac OS je celý jeho zdrojový kód volně k dispozici pro veřejnost a kdokoli jej může svobodně používat, upravovat a dále distribuovat.Technologie
???PHP (PHP: Hypertext Preprocessor „PHP: Hypertextový preprocesor“, původně Personal Home Page) – skriptovací programovací jazyk, určený především pro programování dynamických internetových stránek. Nejčastěji se začleňuje přímo do struktury jazyka HTML, XHTML či WML, což je velmi výhodné pro tvorbu webových aplikací. PHP lze ovšem také použít i k tvorbě konzolových a desktopových aplikací.

???Apache HTTP Server – softwarový webový server s otevřeným kódem pro Linux, BSD, Microsoft Windows a další platformy. V současné době dodává prohlížečům na celém světě většinu internetových stránek.

???MySQL – databázový systém vytvořený švédskou firmou MySQL AB. Jeho hlavními autory jsou Michael „Monty“ Widenius a David Axmark. Je považován za úspěšného průkopníka dvojího licencování. Je k dispozici jak pod bezplatnou licencí GPL, tak pod komerční placenou licencí.

???SQLite – relační databázový systém obsažený v relativně malé knihovně napsané v C. Je vyvíjen D. Richardem Hippem a šířen pod licencí public domain.

???PhpMyAdmin – nástroj napsaný v jazyce PHP, umožňující jednoduchou správu obsahu databáze MySQL prostřednictvím webového rozhraní. V současné době umožňuje vytvářet či rušit databáze, vytvářet/upravovat/rušit tabulky, provádět SQL příkazy a spravovat klíče. Jedná se o jeden z nejpopulárnějších nástrojů pro správu databáze. Je k dispozici v 52 jazycích.


???OpenSSL neboli HTTPS – nadstavba počítačového protokolu HTTP, která poskytuje zvýšenou bezpečnost před odposloucháváním či podvržením dat. HTTPS není přímo zvláštní protokol, data jsou přenášena pomocí HTTP, ale nejsou však přenášena v běžném textu, ale jsou šifrována pomocí SSL nebo TLS, což zaručuje ochranu proti packet-sniffingu i man-in-the-middle útokům. HTTPS implicitně komunikuje prostřednictvím TCP portu na portu 443 (u nechráněného HTTP je to port 80).

PEAR (PHP Extension and Application Repository):

???Systém pro správu a distribuci kódu.
???Normy pro vývoj. Začínají odsazováním, pokračují přes definice a volání funkcí a končí jmennými konvencemi.
???PHP Foundation Classes (PFC). Zde se autoři zaměřují na kvalitu, kompatibilitu… Hlavní dopad je tedy distribuce balíků ve verzi STABLE – stálé API, vyladěná rychlost, může záviset pouze na STABLE balících atd.
???PHP Extension Code Library (PECL). Rozšiřování programovacím jazykem C.
???Poslední částí je bugtrag, mailing list, web, mirrory.

???PERL – interpretovaný programovací jazyk vytvořený Larry Wallem v roce 1987. S rozvojem internetu se Perl stal velmi populárním nástrojem pro tvorbu CGI skriptů.

???Zend Optimizer – volně dostupný nástroj pro optimalizaci kódu, nabízí rychlejší provedení a tím pádem rychlejší odezvy na požadavky, větší množství obsloužených požadavků a pokles nároků na hardwarové vybavení serveru.
Důležité soubory
(doporučuji před úpravami zálohovat)

???httpd.conf – konfigurační soubor Apache serveru v podadresáři .apacheconf.
???httpd-* – extra konfigurační soubory Apache serveru v podadresáři .apacheconfextra.
???mime.types – konfigurační soubory pro mime types.
???config.inc.php – konfigurační soubor PhpMyAdmina v hlavním adresáři.
???php.ini – konfigurační soubor PHP v hlavním adresáři.
Historie Apache
Vývoj Apache začal v roce 1993 v NCSA (National Center for Supercomputing Aplications) na univerzitě v Illinois. Původní jméno projektu bylo NCSA HTTPd. V dalším roce však vývojářský tým opustil hlavní programátor Rob McCool, tím došlo ke zpomalení vývoje a poté v roce 1998 k jeho úplnému zastavení.
NCSA HTTPd však mezitím už používali správci webových serverů a dodávali k němu vlastní úpravy – patche (patch = záplata).
Hlavní úlohu v dalším vývoji sehráli dva z nich, a to Bria Behlendorf a Cliff Skolnick, kteří založili e-mailovou konferenci a začali sběr úprav a jejich distribuci koordinovat. První veřejná verze s označením 0.6.2 byla pak vydána v dubnu 1995. Následovalo kompletní přepsání kódu (Apache2 už neobsahuje nic z původního NCSA HTTPd) a založení Apache Group, která je dnes základem vývojářského týmu.
Od dubna 1996 byl Apache nejpopulárnější server na internetu. V květnu 1999 běžel dokonce na 57 % všech serverů a v listopadu 2005 jeho používanost dosáhla 69 % (výsledky měření podle Netcraft). Aktuálně je podle průzkumů základem až pro 73?% všech webů.
Název vznikl z anglického slovního spojení „A patchy server“ (záplatovaný server). Jako indiánský symbol se tak do znaku dostalo ptačí pero.Historie PHP
Od roku 1994 je PHP jedním z nejpoužívanějších způsobů tvorby dynamicky generovaných WWW stránek. Jeho tvůrce (Rasmus Lerdorf) ho vytvořil pro svou osobní potřebu pře-
psáním z Perlu do jazyka C. Sada skriptů byla vydána ještě v témže roce pod názvem Personal Home Page Tools,
zkráceně PHP.
V polovině roku se systém PHP spojil s programem Form Interpreter od stejného autora. Tak vzniklo PHP/FI 2.0. Zeev Suraski a Andi Gutmans v roce 1997 přepsali parser a zformovali tak základ PHP3. Současně byl název změněn na dnešní podobu PHP Hypertext Preprocessor. PHP3 vyšlo v roce 1998, bylo rychlejší, obsahovalo mnohem více funkcí. Také běželo i pod operačním systémem Windows.
V roce 2000 vyšlo PHP verze 4, o čtyři roky později pak verze 5 s vylepšeným objektovým přístupem, podobným programovacímu jazyku Java. 5. února 2008 bude ukončena podpora PHP 4 a PHP 5 bude jedinou možností, samozřejmě servery s PHP 4 nadále určitě poběží, ale bude jich ubývat, snažte se tedy programovat dynamicky generované stránky především a pouze v PHP 5 a v případě, že si necháte dělat webové prezentace, ověřte a požadujte právě PHP 5. Více zde: http://gophp5.org/.Úložiště MySQL

MySQL nabízí několik typů databázových tabulek (storage engine), které se liší svými možnostmi, použitím a způsobem ukládání dat do souborů:
???MyISAM – nejpoužívanější, bez podpory transakcí.
???InnoDB – podpora transakcí.
???BerkeleyDB (BDB).
???MEMORY – práci s daty v paměti.
???NDB Cluster – úložiště pro clusterované databáze (od verze MySQL 5.0).
???ARCHIVE – komprimované tabulky, bez podpory indexů.
???CSV – ukládání dat v prostých textových souborech.

Byl pro vás článek přínosný?