Autorem PHP je Rasmus Lerdorf, který PHP napsal, aby věděl, kdo se pohybuje po jeho stránkách. První verze PHP, která byla dostupná veřejnosti, byla vydána v roce 1995 jako Personal Home Page Tools. Toto velice jednoduché skriptovací jádro rozumělo pouze několika "příkazům". V roce 1995 bylo jádro přepsáno a přejmenováno na PHP/FI (verze 2). Toto jádro již mělo zabudováno podporu formulářů - jejich zpracování. Postupem času se stále víc a víc lidí dávalo do programování právě v PHP. Postupně se také rozrůstala skupina vyvíjející PHP a vytvořila PHP 3, které bylo skoro celé kompletně přepsáno. Nynější verze PHP - PHP 4 používá skripovací jádro ZEND, které je mnohem rychlejší a podporuje mnoho modulů. Nyní se PHP nachází na mnoha platformách (Linux, Windows a mnoha dalších).
PHP je serverový skriptovací jazyk. To znamená, že veškerá činnost se odehraje na serveru a výsledná data jsou odeslána klientovi. V praxi to znamená to, že pokud například zadáte adresu nějakého internetového obchodu (který je vytvořen v PHP), tak PHP vykoná zvolený kód (vybere například nejnovější zboží z databáze, či zobrazí náhodný výrobek) a výsledná data odešle klientovi. Tuto výslednou stránku si pak můžete prohlédnout pomocí klasického WWW prohlížeče.
K vytváření skriptů v PHP budete potřebovat editor, který podporuje práci s kódem. Mezi tyto editory patří například všem známý Microsoft Notepad, Allaire Homesite (nyní Macromedia HomeSite), Macromedia Dreamweaver, atd. Jelikož jak jsme si již řekli, veškerá činnost se odehrává na serveru, budeme potřebovat také nějaký Webový server. Na výběr máme z několika serverů. Mezi ty nejznámější patří Apache či Microsoft Internet Information Server (IIS). V dnešním díle si ukážeme kompletní postup instalace na těchto serverech (Apache, IIS) a nastavení PHP. Pro dnešní díl si ukážeme instalaci PHP na platformě Windows.
Pro všechny typy instalací (Apache, IIS, atd.) budete potřebovat si stáhnout samotné PHP. Můžete tak učinit na stránkách http://www.php.cz. Přímý odkaz na stažení poslední verze PHP (4.2.2) je zde: http://www.php.cz/distributions/php-4.2.2-Win32.zip. Jedná se o soubor ZIP, který je potřeba rozbalit. Nyní tak učiňte a rozbalte jej do adresáře C:\PHP. Tento adresář by měl mít následující obsah.
Ve složce C:\PHP se nachází soubory php.ini-dist a php.ini-recommended. Jedná se o hlavní konfigurační soubory, které se odlišují svým nastavením. My použijeme soubor php.ini-recommended a přejmenujeme jej na php.ini. Vše by mělo vypadat následovně.
Nyní zkopírujte soubory php4ts.dll a php.ini do adresáře C:\Windows (pokud máte systém nainstalován v jiné složce, zkopírujte to do ní). Nyní máme PHP nachystáno k provozu na obouch serverech (Apache, IIS). Teď si ukážeme instalaci na jednotlivých serverech.
Samotný webový server Apache si můžete stáhnout na adrese http://httpd.apache.org respektivě poslední "funkční" verzi na adrese http://www.apache.org/dist/httpd/binaries/win32/apache_1.3.26-win32-x86-src.msi.
Pokračujte v instalaci až k obrazovce viz. níže. Zde zadejte stejné údaje, jaké jsou na obrázku. Tyto údaje označují názvy serveru a e-mailovou adresu správce serveru (tu si můžete změnit).
Nyní máte na výběr ze dvou voleb. Jedná se o Run as a service for All Users -- Recommended (umožňuje spouštět apache jako službu - nebudete jej muset spouštět manuálně, ale spustí se již po startu počítače) a volbu Run when started manually, only for me (<<Uživatel>>), (ta spustí Apache až po kliknutí na příslušného zástupce v menu Start). V následujícím menu vyberte typ instalace Complete. Na výběr ještě budete mít adresář, kam Apache naistalujete. Zvolte C:\Apache a server úspěšně doinstalujte. Po úspěšné instalaci by se měly v menu Start ->Programy zobrazit zástupci Apache HTTP Server viz. obrázek.
Nyní bychom měli mít Apache nainstalovaný, přejdeme tedy ke konfiguraci PHP ve spojení s Apache. Přejděte do složky C:\Apache (C:\Apache\Apache), dále do složky conf. Zde naleznete několik souborů *.conf, které obsahují direktivy pro konfiguraci serveru. Nyní otevřete soubor httpd.conf pomocí nějakého textového editoru (Notepad). Všechny položky, které před sebou mají umístěn znak # jsou komentáře. Všechna nastavení necháme prozatím stejná a jen upozorním na to, že pokud budete chtít provozovat Apache i IIS, budete muset v konfiguraci Apache nebo IIS změnit port, na kterém jednotlivé servery poběží. Standartní port je 80, ale oba servery na něm být nemohou. V tomto případě můžete v Apache změnit direktivu Port xx (kde xx je číslo portu) na jinou než 80. Můžete zde nastavit například 81 (to jen v případě, že hodláte provozovat Apache i IIS - kvůli ASP zároveň). Direktiva Port 80 by se měla nacházet na řádku 268. Dále změňte na řádku 301 direktivu DocumentRoot "C:/Apache/Apache/htdocs" na DocumentRoot "C:/www", tím si nastavíte místo, kde budete ukládat naše skripty, které musí "projít" přes server. Pokud nemáte adresář C:\www již vytvořen, tak jej vytvořte, v pozdější části dnešního dílu si do něj umístíme soubor index.php, ale to až dále. Ještě budete muset změnit následující direktivu:
<Directory "C:/Apache/Apache/htdocs"> # # This may also be "None", "All", or any combination of "Indexes", # "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # Options Indexes FollowSymLinks MultiViews # # This controls which options the .htaccess files in directories can # override. Can also be "All", or any combination of "Options", # "FileInfo", "AuthConfig", and "Limit" # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory>
na
<Directory "C:/www"> # # This may also be "None", "All", or any combination of "Indexes", # "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # Options Indexes FollowSymLinks MultiViews # # This controls which options the .htaccess files in directories can # override. Can also be "All", or any combination of "Options", # "FileInfo", "AuthConfig", and "Limit" # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory>
Nyní za direktivu:
<IfModule mod_negotiation.c> LanguagePriority en da nl et fr de el it ja kr no ...... </IfModule>
umístěte následující "text":
# Načte PHP modul pro Apache LoadModule php4_module C:/php/sapi/php4apache.dll # Přidá mapování koncovek PHP skriptů AddType application/x-httpd-php .php .php3 .php4 .wml .phtml .inc .ihtml # Do budoucna si již nastavíme Wapové aplikace AddType text/vnd.wap.wml .wml AddType image/vnd.wap.wbmp .wbmp
Vše uložte a spusťte Apache - můžete pomocí menu Start -> Programy nebo také C:\Apache\Apache\Apache.exe. Vše by mělo dopadnout dobře a mělo by se zobrazit okno podobné tomuto:
Nyní máte Apache správně naistalován a nastaven. Pokud by něco nefungovalo, přikládám svůj soubor httpd.conf, ze kterého vycházím. Podívat se na něj můžete zde.
Pokud vlastníte operační systém Windows 2000, Windows XP nebo Windows .NET Server můžete naistalovat již zmíněný Internet Information Server. Pokud vlastníte operační systémy Windows 95, 98, ME můžete si naistalovat PWS (Personal Web Server). Pro lepší funkčnost PHP na těchto systémech doporučuji Apache Web Server (viz. předchozí instalace). Pro instalaci IIS (pokud jej již nemáte naistalován třeba kvůli programování v ASP) zvolte Start -> Ovládací panely -> Přidat nebo odebrat programy -> Přidat nebo odebrat součásti systému. Zde zvolte Internetová informační služba.
Klikněte na tlačítko Podrobnosti. Zde zaškrtněte pole Common Files, Dokumentace, Modul snap-in Internetová informační služba, Webová služba a pokud ještě nemáte nainstalován Mail server, tak i Služba SMTP.
Klikněte na tlačítko OK -> Další a vše nainstalujte. Po úspěšné instalaci zvolte Start -> Ovládací panely -> Nástroje pro správu -> Internetová informační služba. Nebo tak můžete učinit po kliknutí pravým tlačítkem na Tento počítač -> Spravovat -> Služby a aplikace -> Internetová informační služba. Mělo by se vám zobrazit okno podobné tomuto.
Nyní klikněte pravým tlačítkem na položku Webové servery a zvolte Vlastnosti. Opět by se vám mělo zobrazit okno podobné tomuto:
Zde klikněte na tlačítko Přidat. Mělo by se zobrazit okno pro vytvoření nového filtru (jedná se o DLL knihovnu, která je pořád v paměti a bude interpretovat PHP soubory). Do pole Název filtru zadejte php a do pole Program zadejte následující hodnotu (jedná se o cestu k DLL knihovně) C:\php\sapi\php4isapi.dll (viz. obrázek). Klikněte na tlačítko OK a opět OK pro zavřítí okna. Do pole Místní cesta tedy zadejte adresář C:\www a klikněte na tlačítko Konfigurace
Nyní klikněte pravým tlačítkem na položku Výchozí webový server a zvolte Vlastnosti. Nyní je čas si vytvořit adresář C:\www, do kterého budeme v budoucnu umísťovat všechny skripty. Vše by mělo vypadat jako na tomto obrázku.
Nyní klikněte na tlačítko Konfigurace.... V okně, které se vám zobrazí klikněte na tlačítko Přidat. Do následujícího okna vyplňte konfiguraci jako je uvedena na obrázku (Program -> C:\php\sapi\php4isapi.dll a Přípona -> ".php"). Více viz. obrázek.
Klikejte na tlačítka OK až do té doby, než se opět zobrazí hlavní panel pro obsluhu serveru :-). Zde klepněte pravým tlačítkem na položku <<Název počítače>>(místní počítač) a zvolte Všechny úkoly -> Restartovat službu IIS.
Otevře se vám okno, ve kterém vyberte položku Restartovat služby sítě Internet v <<Název počítače>>.
Správnou funkčnost filtru, který jsme přidali do IIS si můžete ověřit v Webové servery -> Vlastnosti. Zde by měl mít náš PHP filtr zelenou šipku, což označuje správnou funkčnost. Více viz. obrázek.
Nyní vytvořte v adresáři c:\www\ soubor index.php (soubor můžete vytvořit například pomocí Notepadu) a umístěte do něj následující kód.
<? phpinfo(); ?>
Jedná se o kód, který zobrazí informace o PHP. Zároveň budete mít jistotu, že PHP je správně naistalováno. Pokud ještě nemáte spuštěn jeden ze serveru (Apache nebo IIS), tak tak učiňte a spusťte si Internetový prohlížeč. Do řádku s adresou zadejte http://localhost/index.php. Nyní by se vám měla zobrazit stránka, která obsahuje informace o verzi a nastavení PHP. Pokud ji neuvidíte, máte PHP zřejmě špatně naistalováno -> opakujte předchozí kroky a restartujte Webový server.
Pro tento díl to bude vše. V příštím díle si ukážeme co jsou to proměnné a jak zapisovat PHP tagy (značky <? a ?>).