PHP patří ve spojení s MySQL mezi nejpoužívanější kombinace softwaru pro provoz webových aplikací pod operačním systémem Linux. Dalo by se říci, že právě díky PHP a MySQL je Linux na poli webových serverů v segmentu SOHO nejčastěji používaným operačním systémem. Obě technologie lze však bez problémů provozovat i pod Windows. A to v kterékoli verzi, buď samostatně, nebo pohodlněji v některém z balíčků. V našem seriálu pracujeme již nějaký čas se souborem aplikací XAMPP. Ponechme jej tedy jako výchozí. XAMPP je poměrně často aktualizován včetně všech svých komponent. K dispozici tedy máte MySQL 5.5 a PHP 5.3.8.
Konfigurace PHP
PHP není serverovou službou. Jde o skriptovací jazyk s bohatými možnostmi použití zejména pro vytváření jednodušších webových aplikací. Síla PHP je v jeho propojení s webovým serverem Apache a databázovým serverem MySQL. Oba musí mít podporu PHP kompilovanou ve svých binárních souborech nebo ve formě modulu. V balíčku XAMPP je toto samozřejmostí.
Soubor nastavení PHP naleznete standardně ve složce c:\xampp\php\ s obligátním názvem php.ini. Jeho struktura je pod všemi operačními systémy velmi podobná. Následující řádky tak budou platné např. i pro OS Linux.
Mezi zajímavé direktivy patří např.
memory_limit = 128M
display_errors = On
log_errors = On
register_globals = Off
post_max_size = 8M
upload_max_filesize = 128M
První z nich definuje maximum operační paměti, kterou si může alokovat jeden skript. Tato hodnota patří mezi velmi důležité a vyplatí se s ní laborovat v případě nedostatečného výkonu aplikace. Následující dvě direktivy využijete při ladění skriptů. Jde v nich v podstatě o zobrazení chyby přímo v prohlížeči v případě neúspěšného provedení. Tento postup je obvykle rychlejší než dohledávání chyb v log souborech na serveru.
Direktiva Register_globals je neméně zajímavá, hlavně pro spouštění starších skriptů pod novými webovými servery nebo komerčními hostingy. Postupem času se totiž v rámci programovacích technik PHP změnil přístup ke globálním proměnným. Pokud tedy provozujete dříve vytvořené webové stránky, může se vám stát, že budou funkční pouze s povolením globálním proměnných, ačkoliv jsou standardně v PHP zakázány (důvodem je bezpečnost aplikace).
Poslední dvě hodnoty jsou datovými limity pro funkci POST a pro nahrání souborů na server. Funkce POST se používá v souvislosti s formuláři a její velikost je také často příčinou nefunkčnosti hotových skriptů.
V rámci souboru php.ini věnujte pozornost ještě sekci [MYSQL] a sekci určující cesty na pevném disku.
V případě, že máte Apache kompilovaný s podporou PHP (což v rámci XAMPP máte), nejsou třeba pro jeho funkci žádné další procedury.
MySQL
MySQL je standardní databází určenou pro malé a středně velké aplikace. Je dostupná zdarma pod všemi důležitými operačními systémy. Technicky jde o běžící službu (server), jenž vyřizuje požadavky jak v rámci lokálního počítače (fyzického serveru), tak pomocí TCP portu přes internet. Snadno tak propojíte MySQL server s jiným serverem (např. webovým) na zcela jiném PC. Nativní port MySQL má číslo 3306.
Základní konfigurace MySQL spočívá v nastavení přístupu administrátora, resp. jeho hesla. Uživatelské master jméno je vždy root. Jděte do menu Start a spusťte Příkazový řádek. V něm přejděte do složky c:\xampp\mysql\bin. Zde spusťte příkaz
mysql -u root --password=vaseadminheslo
Tím vytvoříte heslo správce. Kontrolu správné funkce ověříte příkazem
mysql -u root -p
kdy budete k napsání hesla vyzváni. Pokud se podaří přihlásit do konzole MySQL, je vše prokazatelně funkční.
Práce s MySQL
MySQL je databáze jako každá jiná. Podstatou práce v ní je tak vytváření a propojování tabulek a jejich následné plnění hodnotnými daty. Toto všechno lze v MySQL dělat z textové konzole, jedná se však o zdlouhavou činnost. Nabízí se tak možnost načtení souboru s kódem ve formátu jazyka SQL (viz nápověda).
phpMyAdmin
V rámci balíčku XAMPP je k dispozici webová aplikace napsaná v PHP, s příznačným názvem phpMyAdmin. K jejímu spuštění potřebujete pouze funkční webový server a samozřejmě MySQL. V případě našeho balíku stačí navštívit stránky
http://localhost/
a z levého menu vybrat položku phpMyAdmin.
Před spuštěním administrátorského rozhraní je však nutné jej nejprve nakonfigurovat, resp. nastavit v jeho konfiguračním souboru jméno správce a jeho heslo. Ve složce c:\xampp\phpmyadmin\ vyhledejte konfigurační soubor config.inc.php a v něm následně direktivy
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'vaseadminheslo';
Jejich funkce, myslím, není třeba blíže vysvětlovat. Direktivy by měly být standardně vyplněny správnými hodnotami, s výjimkou hesla, které musíte doplnit podle vámi vytvořeného výše.
Poté již přistupte ke spuštění prostředí phpMyAdmin, kam byste se měli bez problémů přihlásit.
Opět platí, že aplikace pro administraci může ležet i na fyzicky jiném serveru, než je vlastní MySQL. Direktivu host pak samozřejmě nahradíte odpovídajícím názvem daného počítače (podle DNS) nebo jeho IP adresou.
V rámci administrace nejde jen o vytváření a správu databází, velmi snadno zde obsloužíte i uživatelské účty a jejich oprávnění k jednotlivým databázovým souborům. Vše podstatné pak najdete ve složce c:\xampp\mysql\data\mysql, kde leží veškeré databáze a jejich indexy. Zálohu tak provedete (vždy při vypnuté službě databázového serveru) prostým zkopírováním výše uvedené složky nebo pomocí obdobné funkce přímo v phpMyAdminu. O tom ale až v příštím dílu, kdy si práci s webovým rozhraním databáze popíšeme podrobněji. A přidáme i server poštovní.
Autor je vedoucím Informačního centra Fakulty výrobních technologií a managementu Univerzity Jana Evangelisty Purkyně v Ústí nad Labem.