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 ?>).