• Instalace na starší verze OS Windows. Instalace Apache, PHP, MySQL a phpMyAdmin na Windows XP Manuální instalační příručka

    Tento článek poskytuje krok za krokem průvodce instalací PHP pro práci se serverem Apache HTTP Server ve Windows. Tento postup byl testován na Windows XP i Vista. Předpokládá se, že jste již dokončili instalaci Apache.

    Kroky konfigurace PHP 5

    1. Stáhněte si PHP 5

    Než začnete, stáhněte si kopii PHP 5 z stránky ke stažení. Stáhněte si zabezpečený balíček VC6 ze sekce "Windows Binaries" - tj. nestahujte instalační program. Vyberte například balíček označený „ ZIP balíček PHP 5.2.5“, pokud je aktuální verze 5.2.5.

    Poznámka: Upozorňujeme, že níže uvedený postup jsem netestoval s verzemi PHP 5.3, pouze s verzí 5.2.5, která byla v době psaní nejnovější verze. Teoreticky by stejné kroky měly být provedeny i při instalaci PHP 7.

    2. Nainstalujte PHP 5

    Vytvořte složku PHP na pevném disku. Navrhuji c:php , i když můžete použít jiný název složky a umístění. Osobně raději nepoužívám názvy s mezerami.

    Extrahujte všechny soubory ze staženého archivu do této složky. Chcete-li to provést, jednoduše dvakrát klikněte na soubor zip. A pak přetáhněte všechny soubory do složky c:php.

    3. Pro ty, kteří aktualizují balíček: Smažte starý soubor PHP.INI z adresáře Windows

    Pokud upgradujete na PHP 5 ze starší verze, přejděte do adresáře Windows, ( obvykle c:windows) a smažte všechny soubory php.ini, které jste tam dříve umístili.

    4. Nastavení PHP

    Přejděte do složky c:php a vytvořte kopii souboru php.ini-recommended. Nový soubor pojmenujte php.ini . Nyní byste měli mít soubor c:phpphp.in se stejným obsahem jako c:phpphp.ini-recommended .

    Poznámka. Pokud používáte Apache 1, musíte buď přesunout soubor php.ini do adresáře Windows ( c: windows), nebo nastavte proměnnou prostředí PATH tak, aby zahrnovala c:php . Pokud nevíte, jak to udělat, jednoduše přesuňte soubor php.ini do složky c:windows. Pokud používáte Apache 2, nemusíte to dělat, protože později uvedeme direktivu v konfiguračním souboru Apache 2 s umístěním souboru php.ini.

    Instalace PHP na Windows 7 pomocí textového editoru ( například Poznámkový blok, který najdete v části "Systémové nástroje" v nabídce Start)? otevřete soubor php.ini. Možná budete muset v souboru provést následující změny:

    a) Včetně krátkých otevíracích štítků

    Najděte následující řádek:

    short_open_tag = Vypnuto

    Pokud je short_open_tag nastaveno na vypnuto , značky jako "

    Protože mnoho PHP skriptů třetích stran používá formát "

    short_open_tag = Zapnuto

    b) Magické citáty

    Při výchozí instalaci Apache PHP nejsou příchozí data automaticky uvozována lomítkem. Pokud chcete, aby vstup měl předponou zpětné lomítko (""), například pro reprodukci nastavení hostování, vyhledejte následující řádek:

    magic_quotes_gpc = Vypnuto

    a nahradit jej:

    magic_quotes_gpc = Zapnuto

    Nedoporučuje se to dělat, pokud tento parametr není na hostingu nastaven. I při nastavení na Vypnuto můžete stále používat PHP funkce addlashes() přidat lomítka pro konkrétní části dat.

    c) Použití globálních proměnných

    Řada starších skriptů při spuštění předpokládá, že všechna odeslání formuláře budou mít automaticky proměnnou PHP se stejným názvem. Pokud má například formulář vstupní pole s názvem "něco", staré PHP skripty předpokládají, že procesor PHP automaticky vytvoří proměnnou s názvem $něco, která obsahuje hodnotu zadanou prostřednictvím tohoto pole.

    Pokud takové skripty používáte, musíte najít následující řádek:

    register_globals = Vypnuto

    a změňte to na:

    register_globals = Zapnuto

    Upozornění: Při instalaci PHP na Windows to nedělejte, pokud nemáte skripty třetích stran, které vyžadují, aby fungoval. Při psaní nových skriptů je nejlepší vždy předpokládat, že element register_globals je nastaven na " Vypnuto«.

    d) Zobrazení chyby

    Na živém webu se chyby skriptu obvykle zaznamenávají, aniž by se objevily v souboru chyb PHP. Ale na místním počítači, když testujete a ladíte svůj PHP skript, je pohodlnější odesílat chybové zprávy přímo do okna prohlížeče, když na ně narazíte. Tímto způsobem vám neuniknou chyby, i když zapomenete zkontrolovat soubor protokolu chyb.

    Chcete-li, aby PHP zobrazovalo chybové zprávy přímo v okně prohlížeče, vyhledejte následující řádek:

    display_errors = Vypnuto

    a změňte to na:

    display_errors = Zapnuto

    Toto nastavení by mělo být na živém webu vždy nastaveno na Vypnuto.

    e) Cesta relace

    Pokud skript používá relace, vyhledejte následující řádek:

    ;session.save_path = "/tmp"

    session.save_path určuje složku, kam PHP ukládá soubory relace. Protože složka /tmp v systému Windows neexistuje, je třeba nastavit jinou složku. Jedním ze způsobů je vytvořit složku s názvem c:tmp ( jako dříve jsme vytvořili c:php) a zadejte tuto složku pro tento parametr. Pokud tak učiníte, změňte tento řádek následovně:

    session.save_path = "c:tmp"

    Všimněte si, že kromě změny cesty jsem také odstranil předponu středníku (";") z řetězce.

    Můžete také použít aktuální složku TEMP v počítači. Nebo vytvořte složku tmp v adresáři PHP, například c:phptmp, a podle toho upravte konfigurační soubor. Možností může být mnoho. Pokud se nemůžete rozhodnout, který si vybrat, stačí vytvořit c:php a udělat, jak jsem řekl výše.

    f) Server SMTP

    Pokud při instalaci PHP 5 5 skript používá funkci mail() a chcete, aby funkce úspěšně odeslala poštu na místní počítač, vyhledejte následující část:

    ; Pouze pro Win32. SMTP=localhost smtp_port=25 ; Pouze pro Win32. ;odeslat_od= [e-mail chráněný]

    Změňte jej tak, aby zahrnoval adresu vašeho serveru SMTP a e-mailový účet. Například pokud váš SMTP server mail.example.com a e-mailovou adresu [e-mail chráněný], změňte kód takto:

    smtp=mail.example.com smtp_port=25 sendmail_from= [e-mail chráněný]

    Všimněte si, že když se poté skript pokusí použít funkci mail(), bude se muset připojit k vašemu ISP, aby mohl úspěšně fungovat. Pokud nezměníte výše uvedené řádky a pokusíte se použít funkci mail() ve skriptu, funkce vrátí chybový kód a zobrazí chybovou zprávu.

    Jak nastavit Apache pro PHP 5

    Apache PHP lze nainstalovat dvěma způsoby. Za prvé: nastavte jej na spuštění php interpreter jako modul Apache. Za druhé: nakonfigurujte jej tak, aby spouštěl interpret jako binární CGI. Stačí použít pouze jeden z nich. Vyberte metodu modulu, pokud je na hostiteli nainstalováno také PHP jako modul Apache, nebo použijte metodu CGI, pokud je na hostiteli implementována.

    a) Spuštění PHP 5 jako modulu Apache

    Chcete-li nakonfigurovat Apache tak, aby načítal PHP jako analyzátor skriptů PHP, otevřete pomocí textového editoru ASCII konfigurační soubor Apache httpd.conf.

    Pokud používáte Apache 1.x , soubor je ve složce c:Program FilesApache GroupApacheconf. Uživatelé Apache 2.0.x jej mohou najít ve složce C:Program FilesApache GroupApache2conf a uživatelé Apache 2.2.x ve složce C:Program FilesApache Software FoundationApache2.2conf. Obvykle se nachází ve složce conf adresáře, kde je nainstalován Apache.

    Vyhledejte část souboru s příkazy LoadModule. Deklarace, kterým předchází symbol hash "#", jsou považovány za komentované.

    Pokud používáte Apache 1.x, přidejte za všechny příkazy LoadModule následující řádek:

    LoadModule php5_module "c:/php/php5apache.dll"

    Pokud používáte Apache 2.0.x, přidejte za všechny příkazy LoadModule následující řádek:

    LoadModule php5_module "c:/php/php5apache2.dll"

    Pokud používáte Apache 2.2.x , přidejte následující řádek:

    LoadModule php5_module "c:/php/php5apache2_2.dll"

    Všimněte si, že tento příklad instalace PHP používá znak lomítka ("/") namísto tradičního zpětného lomítka systému Windows ("") . Nejedná se o překlep.

    Pokud používáte Apache 1.x, najděte řadu příkazů "AddModule" a za všechny řádky přidejte následující.

    AddModule mod_php5.c

    Potom najděte v souboru blok AddType a za poslední příkaz AddType přidejte následující řádek. To musí být provedeno bez ohledu na verzi Apache, kterou používáte. Pro Apache 2.2.x musíte v sekci najít řádky AddType . Přidejte řádek těsně před uzavřenímpro tuto sekci.

    Pokud potřebujete podporu pro jiné typy souborů, jako je „.phtml“, přidejte je do seznamu takto:

    Pro ty, kteří používají jednu z verzí Apache 2, musíte zadat umístění souboru PHP ini. Přidejte následující řádek na konec souboru httpd.conf.

    PHPIniDir "c:/php"

    Pokud jste použili jiný adresář, budete muset změnit c:/php na správnou cestu. Nezapomeňte použít lomítko ("/").

    Pokud používáte Apache 1, soubor php.ini jste již umístili do složky Windows nebo někam do PATH. PHP si to tedy bude muset najít samo.

    Spuštění PHP 5 jako CGI Binary

    Pokud jste nakonfigurovali PHP 5 tak, aby se načítalo jako modul Apache, můžete tuto část přeskočit. Je určen pro ty, kteří chtějí nakonfigurovat PHP tak, aby běželo jako binární CGI.

    Postup při instalaci PHP 7 je stejný pro Apache 1.xa všechny verze řady 2.x.

    Vyhledejte část konfiguračního souboru Apache, která obsahuje sekci ScriptAlias ​​​​. Přidejte následující řádek hned za řádek ScriptAlias ​​pro " cgi-bin". Pokud používáte Apache 2.2.x, ujistěte se, že je řádek před zavřením umístěnpro oddíl .

    Poznámka: pokud jste nainstalovali PHP do jiného umístění, jako je c:Program Filesphp , musíte zadat příslušnou cestu místo c:/php/ (např. c:Program Filesphp). Nezapomeňte, že zde místo zpětného lomítka ve Windows ("" používáme jednoduché lomítko ("/")).

    ScriptAlias ​​​​/php/ "c:/php/"

    Apache potřebuje nakonfigurovat typ PHP MIME. Najděte blok komentáře AddType vysvětlující jeho použití a přidejte pod něj následující řádek. Pro Apache 2.2.x vyhledejte řádky AddType pod . Přidejte následující řádek těsně před uzavřením pro tuto sekci.

    AddType application/x-httpd-php .php

    Stejně jako při instalaci PHP jako modulu Apache lze přidat jakákoli rozšíření, aby je Apache rozpoznal jako skripty PHP, například:

    AddType application/x-httpd-php .phtml

    Poté musíte serveru sdělit, aby spustil spustitelný soubor PHP pokaždé, když narazí na skript PHP. Přidejte do souboru následující kód, například po bloku komentářů vysvětlujících " akce«.

    Pokud používáte Apache 2.2.x, přidejte kód hned za příkaz AddType výše; v Apache 2.2.x není žádný blok komentářů " akce«.

    Action application/x-httpd-php "/php/php-cgi.exe"

    Poznámka: Část „/php/“ bude rozpoznána jako ScriptAlias ​​​​, což je druh makra, které bude Apache rozšířeno na „c:/php/“ ( nebo "c:/Program Files/php/", pokud jste tam nainstalovali PHP). Jinými slovy, nedávejte do této směrnice cestu "c:/php/php.exe" resp "c:/Program Files/php/php.exe", ale použijte "/php/php-cgi.exe" .

    Pokud používáte Apache 2.2.x, vyhledejte v souboru httpd.conf následující sekci:

    Přidejte následující řádky hned za sekci, kterou jste právě našli.

    AllowOverride None Options None Objednat povolit, odepřít Povolit od všech

    c) Nastavení výchozí stránky indexu

    Tato část se týká instalace PHP na Windows jako modulu Apache i binárního CGI.

    Pokud vytvoříte soubor index.php a chcete, aby jej Apache načetl jako domovskou stránku webu, budete muset do souboru httpd.conf přidat ještě jeden řádek. Najděte řádek, který začíná " DirectoryIndex“ a přidejte „ index.php» do seznamu souborů. Pokud jste měli například tento kód:

    DirectoryIndex index.html

    Distribuce Apache2.2.2 s instalačním programem s názvem apache_2.2.2-win32-x86-no_ssl.msi. Najdete ho na www.sai.msu.su/apache/dist/httpd/binaries/win32/

    Spusťte stažený instalační program pro spuštění. Když se vás instalační program zeptá, kam nainstalovat Apache, zadejte mu adresář c:/Apache2.2

    Poznámka

    Všechny další instrukce budou založeny na předpokladu, že Apache je nainstalován přesně v adresáři c:/Apache2.2. Pokud instalujete Apache do jiného adresáře, měli byste pokyny přizpůsobit své situaci.

    Instalace Apache z instalačního programu je zcela transparentní a nezpůsobuje žádné zvláštní potíže, v důsledku čehož není racionální poskytovat jeho úplný popis v tomto článku. Zde je pouze jedno dialogové okno, které musí uživatel během procesu instalace vyplnit. Toto je okno pro výběr názvu serveru. Do polí "Network Domain" a "ServerName" zapište název serveru, se kterým bude Apache ve výchozím nastavení nakonfigurován.


    Poznámka

    Tato příručka popisuje, jak nainstalovat server Apache za předpokladu, že bude používán pouze pro testování místního webu a nebude fungovat na intranetech a internetu. Aby server fungoval na intranetu a internetu, musíte zadat skutečný název domény, který bude server používat.

    Pokud instalační proces proběhl dobře, po dokončení by již měl Apache2.2 běžet jako služba. Chcete-li zkontrolovat, zda se jedná o tento případ, otevřete seznam služeb systému Windows (" Start» | "Ovládací panely" | "Administrace" | "služby") a najděte v něm řádek Apache2.2. (nebo Apache2). Ve třetím sloupci je zobrazen stav služby: běží nebo ne.

    Pokud v seznamu služeb nemůžete najít řádek Apache2.2, instalační proces pravděpodobně selhal a Apache nebyl nainstalován jako služba. V tomto případě si musíte Apache jako službu nainstalovat sami. K tomu potřebujete program s konzolí, jako je FAR, WindowsCommander, TotalCommander atd.

    Otevřete program pomocí konzole, přejděte do adresáře c:/Apache2.2/bin a spusťte příkaz:

    C:/Apache2.2/bin/httpd.exe -k install

    Jako odpověď byste měli obdržet zprávu "Služba Apache2 je úspěšně nainstalována". Vzhled okna konzoly je znázorněn na obrázku.


    První start

    Správa Apache (start, stop, restart) se provádí buď přes grafické rozhraní pro správu služeb Windows, nebo v konzoli spuštěním souboru httpd.exe s určitými klávesami.

    Služby Windows se spravují pomocí kontextového menu, které se otevře kliknutím pravým tlačítkem myši na název služby. Pokud Apache ještě neběží, spusťte příkaz "Start" z kontextové nabídky.


    Pokud rádi pracujete v konzoli, pak níže uvedené klávesy slouží k ovládání Apache.

    Ovládací příkazy Apache prostřednictvím konzoly

    Httpd.exe -k start (spustit službu)
    httpd.exe -k stop (zastavit službu)
    httpd.exe -k restart (Restart)


    Ve výchozím nastavení je kořenový adresář serveru nastaven na adresář c:/Apache2.2/htdocs. Právě v něm je umístěn soubor index.html, zobrazený pod názvem localhost. Direktiva je zodpovědná za určení kořenového adresáře webu. DocumentRoot v souboru c:/Apache2.2/conf/httpd.conf.

    DocumentRoot "C:/Apache2.2/htdocs"

    Můžete jej změnit a vytvořit z druhého adresáře kořenový adresář serveru.

    Než to však uděláte, měli byste provést určité minimální úpravy konfiguračního souboru httpd.conf. Ve výchozím nastavení je Apache nakonfigurován tak, aby odepřel veškerý přístup k adresářům webu a oprávnění musí být nastavena explicitně pro každý adresář, jako je tomu u adresáře C:/Apache2.2/htdocs. Pokud přenesete kořenový adresář serveru do jiného adresáře bez nastavení příslušných oprávnění, zobrazí se chyba 403 Zakázáno a jako odpověď se zobrazí stránka zobrazená na obrázku.


    Pokud tedy NEBUDETE používat svůj nejnovější Apache k hostování internetových nebo LAN služeb, měli byste výchozí ochranu okamžitě odstranit.

    Najděte následující řádky v souboru C:/Apache2.2/conf/httpd.conf:


    Možnosti FollowSymLinks
    AllowOverride Žádné
    Objednávka odepřít, povolit
    Ode všech popřít
    Uspokojit všechny

    Všimněte si čáry Ode všech popřít.

    Zakazuje veškerý přístup k adresářům, včetně adresářů virtuálních hostitelů. Když se k nim pokusíte získat přístup, Apache odpoví chybou 403 Forbidden. Protiváhou k ní je směrnice „Povolit všem“. Nastavení této direktivy přepíše direktivu "Deny from all".

    Můžete nastavit direktivu Allow from all pro každý adresář a pro každého virtuálního hostitele, ale můžete to udělat jednodušeji a odstranit (nebo zakomentovat) direktivu "Deny from all" z kontejneru.


    Možnosti FollowSymLinks
    AllowOverride Žádné
    Objednávka odepřít, povolit
    # Odepřít všem
    Uspokojit všechny

    Po dokončení těchto jednoduchých kroků restartujte Apache. Jak to udělat, je popsáno výše.

    Instalace PHP

    Moderní webový server je nemyslitelný bez podpory dynamicky generovaných stránek. V Rusku je lídrem mezi technologiemi pro tvorbu dynamických stránek a webových aplikací technologie PHP. Níže budeme zvažovat proces připojení PHP pomocí verze 5.3.5 jako příklad. Pokud již máte nainstalovanou tuto verzi PHP, můžete přeskočit na Připojení PHP k Apache2.2.2.

    Distribuční sadu s PHP si můžete stáhnout z našich webových stránek na adrese . Pomocí odkazu se také můžete seznámit s pravidly pro výběr distribuce a proč jsme si dovolili nabídnout stažení distribuce z našeho webu a ne z oficiálního php.net. Při stahování distribuce poskytované odkazem se předpokládá, že budete instalovat PHP jako modul.

    Rozbalte zip soubor php do adresáře c:/php-5.3.5. Tím je instalace PHP dokončena. Další kroky se budou týkat nastavení balíčku PHP+Apache a konfigurace samotného PHP.

    Poznámka

    Všechny další pokyny budou vycházet z předpokladu, že používáte php-5.3.5, který je nainstalován v adresáři c:/php-5.3.5. Pokud máte jinou verzi PHP nebo pokud instalujete php do jiného adresáře, měli byste tyto pokyny přizpůsobit své situaci.

    Připojení PHP k Apache2.2.2

    Problémy s připojením PHP k Apache2.2

    Pokud se pokusíte připojit běžný modul php5apache2.dll k Apache2.2.2, selžete. Apache nebude chtít začít se zprávou zobrazenou na obrázku.


    A v protokolech systému a aplikací se objeví následující zprávy

    Jmenovaná služba Apache ohlásila následující chybu:
    >>> httpd.exe: Chyba syntaxe na řádku 115 C:/Apache2.2/conf/httpd.conf:
    Nelze načíst C:/php-5.3.5/php5apache2.dll na server: \xcd\xe5 \xed\xe0\xe9
    \xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.

    Knihovna php5apache2.dll je určena pro Apache 2.0.X, pro Apache 2.2.X je potřeba zahrnout knihovnu php5apache2_2.dll (v distribuci se nachází vedle php5apache2.dll).

    Konfigurace httpd.conf pro připojení PHP

    Chcete-li připojit php jako modul, musíte do souboru httpd.conf přidat pouze 3 instrukce

    Pokyny pro připojení PHP v httpd.conf

    LoadModule php5_module c:/php-5.3.5/php5apache2_2.dll
    AddType application/x-httpd-php phtml php
    PHPIniDir "c:/php-5.3.5/"

    Tyto řádky by měly být umístěny zhruba uprostřed souboru httpd.conf, například hned za direktivy LoadModule. Přesné umístění těchto direktiv není kritické, ale neměly by být umístěny na začátku nebo na samém konci souboru httpd.conf.

    • První řádek načte modul PHP implementovaný v knihovně php5apache2_2.dll
    • Druhý řádek mapuje soubory s příponou php na typ mime application/x-httpd-php, který má na starosti modul PHP.
    • Třetí řádek umožňuje explicitně určit umístění konfiguračního souboru php.ini.

    Poznámka

    Direktiva PHPIniDir v Apache1.3 vážně chyběla, protože často docházelo ke zmatkům při nastavování php, když existovalo více kopií souboru php.ini nebo když byl umístěn ve špatném adresáři.

    Dalším krokem je vytvoření konfiguračního souboru pro PHP. V httpd.conf v direktivě PHPIniDir byl jako umístění konfiguračního souboru php určen adresář c:/php-5.3.5. Samotný konfigurační soubor by se měl jmenovat php.ini

    Adresář c:/php-5.3.5 obsahuje několik šablon konfiguračních souborů. Vezměme soubor jako základ c:/php-5.3.5/php.ini-recommended a přejmenovat na php.ini. Konfigurační soubor PHP (php.ini) bude tedy umístěn v adresáři c:/php-5.3.5 a zde by měly být provedeny všechny změny konfigurace PHP.

    Po provedení změn v httpd.conf a vytvoření souboru php.ini restartujte Apache.

    Vytvořte testovací php skript s názvem phpinfo.php, který provede stejnojmennou funkci a uložte jej do adresáře c:/Apache2.2/htdocs.

    skript phpinfo.php

    echo phpinfo();

    // Všimněte si, že je použita úplná syntaxe zápisu
    // php skript.?>

    Poznámka

    Testovací skript phpinfo.php používá k definování skriptu PHP úplnou syntaxi. V posledních distribucích PHP je syntaxe krátkého zápisu ve výchozím nastavení zakázána. Směrnice je zodpovědná za povolení režimu krátkého záznamu short_open_tag v souboru php.ini. Je potřeba to nastavit na Na.

    Nyní přejděte na tento skript prostřednictvím prohlížeče zadáním do adresního řádku http://localhost/phpinfo.php. Jako odpověď by se vám měly zobrazit známé fialové stránky zobrazující nastavení pro php a jeho rozšíření.


    Pokud se zobrazí zpráva funkce phpinfo() ve formě „fialových tabulek“, pak Apache úspěšně spustí php.

    Možné chyby

    Apache se načte, ale místo „fialových tabulek“ se otevře prázdná stránka.

    Kontrola: Je testovací skript napsán pomocí úplné syntaxe nebo pomocí zkrácené? Ti.:

    Musí být zaznamenáno
    echo phpinfo();
    ?>
    namísto
    echo phpinfo();
    ?>

    Apache pro Windows XP

    V současné době všechny aktuální verze Apache běží na Windows 7 SP1, Vista SP2, 8 / 8.1, 10, Server 2008 SP2 / R2 SP1, Server 2012 / R2, Server 2016.

    V současné době tedy není možné provozovat moderní verze Apache na Windows XP. Apache také nebude fungovat na Windows Server 2003.

    V systému Windows XP můžete spustit pouze Apache 2.2. Kromě toho musí mít váš systém Windows XP Service Pack 3.

    Než budete pokračovat, doporučuji upgradovat na novější verzi Windows – počínaje sedmičkou si můžete nainstalovat jakoukoli moderní verzi Apache a PHP. Staré verze Apache a PHP mohou obsahovat chyby. Pokud plánujete používat lokální webový server k výuce administrace webových aplikací a programování PHP, pak Windows XP není nejlepší platforma – zde budete mít co do činění s dávno zastaralým softwarem.

    Pokud jsem vás nepřesvědčil, postupujte podle tohoto podrobného průvodce spuštěním Apache ve Windows XP.

    Vytvoření struktury webového serveru

    Vytvořme adresářovou strukturu našeho serveru. Hlavní myšlenkou je oddělit spustitelné soubory a soubory webu od databází. To je výhodné pro údržbu serveru, včetně zálohování.

    V kořenovém adresáři disku C:\ vytvořit adresář server. V tomto adresáři vytvořte 2 podadresáře: zásobník(pro spustitelné soubory) a data.

    Přejděte do adresáře data a vytvořit tam podsložky D.B.(pro databáze) a htdocs(pro webové stránky).

    Jak nainstalovat Apache na Windows XP

    Vybrat Zvyk instalace:

    Změňte instalační složku na C:\Server\bin\Apache2.2\:

    Po dokončení instalace otevřete http://localhost/ :

    Přejděte do adresáře C:\Server\bin\Apache2.2\conf\ a otevřete soubor httpd.conf jakýkoli textový editor.

    V něm musíme nahradit řadu řádků.

    #ServerName localhost:80

    ServerName localhost:80

    DocumentRoot "C:/Server/bin/Apache2.2/htdocs"

    DocumentRoot "C:/Server/data/htdocs/"

    DirectoryIndex index.html

    DirectoryIndex index.php index.html index.htm

    # AllowOverride řídí, jaké direktivy lze umístit do souborů .htaccess. # Může to být "All", "None" nebo jakákoli kombinace klíčových slov: # Options FileInfo AuthConfig Limit # AllowOverride None

    # AllowOverride řídí, jaké direktivy lze umístit do souborů .htaccess. # Může to být "Vše", "Žádné" nebo jakákoli kombinace klíčových slov: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

    #LoadModule rewrite_module modules/mod_rewrite.so

    LoadModule rewrite_module modules/mod_rewrite.so

    Soubor uložíme a zavřeme. To je vše, nastavení Apache je dokončeno! Restartujte webový server nebo restartujte počítač, aby se změny projevily.

    Umístěte své stránky do složky C:\Server\data\htdocs\.

    Jak nainstalovat PHP na Windows XP

    Na Windows XP s touto verzí Apache bude fungovat pouze PHP 5.4, nejnovější verze je PHP 5.4.9, to je soubor, který stahujeme z archivu.

    Stáhněte a nainstalujte soubor "Microsoft Visual C++ 2008 Redistributable Package (x86)" pro tuto verzi PHP.

    Ve složce C:\Server\bin\ vytvořit další složku s názvem PHP, rozbalte do něj obsah staženého souboru php-5.4.9-Win32-VC9-x86.zip.

    V souboru C:\Server\bin\Apache2.2\conf\httpd.conf přidat řádky na úplný konec

    PHPIniDir "C:/Server/bin/PHP" AddHandler application/x-httpd-php .php LoadModule php5_module "C:/Server/bin/PHP/php5apache2_2.dll"

    Nyní ve složce C:\Server\bin\PHP\ najít soubor vývoj php.ini a přejmenovat na php.ini.

    Otevřete tento soubor php.ini v libovolném textovém editoru vyhledejte řádek

    ; extension_dir = "ext"

    a nahradit jej

    Extension_dir = "C:\Server\bin\PHP\ext\"

    Nyní najděte skupinu řádků:

    ;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll ;extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension =php_interbase.dll ;extension=php_ldap.dll ;extension=php_mbstring.dll ;extension=php_exif.dll ; Musí být za mbstring, protože na něm závisí ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_oci8.dll ; Použití s ​​Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Použití s ​​Oracle 11gR2 Instant Client =php_pgsql.dll ;extension=php_pspell.dll ;extension=php_shmop.dll

    a nahradit jej:

    Extension=php_bz2.dll extension=php_curl.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ; extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Musí být za mbstring, protože na něm závisí extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Použití s ​​Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Použití s ​​Oracle 11gR2 Instant Client extension=php_openssl.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsqexl_phptetension.dll dll ;extension=php_pspell.dll ;extension=php_shmop.dll

    nyní odkomentujte řádky z této skupiny:

    ;extension=php_soap.dll ;extension=php_sockets.dll ;extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll ;extension=php_zip.

    měl dostat:

    extension=php_soap.dll extension=php_sockets.dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll extension=php_xmlrpc.dll extension=php_xsl.dll ;extension=php_zip.dll

    Restartujte webový server:

    V katalogu C:\Server\data\htdocs\ vytvořte soubor s názvem i.php

    Zkopírujte do tohoto souboru:

    Rozbalte stažený soubor do C:\Server\data\htdocs\. Přejmenujte tuto složku (phpMyAdmin-3.5.8.2-all-languages) na phpmyadmin.

    V katalogu c:\Server\data\htdocs\phpmyadmin\ vytvořit soubor config.inc.php a zkopíruj to tam:

    Nyní ve webovém prohlížeči otevřete http://localhost/phpmyadmin/ :

    Do pole Uživatelské jméno zadejte vykořenit a ponechte heslo prázdné.

    Závěr

    Jak vidíte, přestože jsme vybrali vhodné verze, na Windows XP je možné provozovat plnohodnotný webový server, i když ne s nejnovějšími softwarovými komponentami.

    Mimochodem, hotovou sestavu vytvořenou podle tohoto návodu si můžete stáhnout. Najdete ji.

    Tato část příručky platí pro Windows 98/Me a Windows NT/2000/XP/2003. PHP nepoběží na 16bitových platformách, jako je Windows 3.1 a někdy označujeme platformy podporované Windows jako Win32.

    Komentář:

    Windows XP/2003 již nejsou podporovány pro PHP 5.5.0.

    Komentář:

    Windows 98/Me/NT4/2000 již nejsou podporovány pro PHP 5.3.0.

    Komentář:

    Windows 95 již není podporován pro PHP 4.3.0.

    Pokud máte vývojové prostředí, jako je Microsoft Visual Studio, můžete také vytvářet PHP ze zdroje.

    Jakmile je PHP nainstalováno ve Windows, můžete si také stáhnout různá rozšíření, která poskytují další funkce.

    Manuální instalační příručka

    Tato část obsahuje pokyny pro ruční instalaci a konfiguraci PHP v systému Microsoft Windows.

    Výběr a stažení distribučního balíčku PHP

    Stáhněte si distribuci PHP jako soubor zip z . Existuje několik různých verzí balíčků zip – vyberte verzi, která vyhovuje vašemu webovému serveru:

    Struktura a obsah balíku PHP

    Extrahujte obsah archivu zip do vámi zvoleného adresáře, například C:\PHP\. Struktura složek a souborů extrahovaných z archivu bude vypadat takto:

    Příklad č. 1 Struktura balíčku PHP 5

    c:\php | +--dev | | | |-php5ts.lib -- verze php5.lib bez vláken | +--ext -- Moduly DLL pro PHP | | | |-php_bz2.dll | | | |-php_cpdf.dll | | | |-... | +--extra -- prázdný | +--pear -- počáteční kopie HRUŠKY | | |-go-pear.bat -- Instalační skript PEAR | |-... | |-php-cgi.exe -- Spustitelný soubor CGI | |-php-win.exe -- spouští skripty bez otevřené konzole | |-php.exe -- Spustitelný soubor příkazového řádku PHP (CLI) | |-... | |-php.ini-development -- výchozí nastavení php.ini | |-php.ini-production -- doporučená nastavení php.ini | |-php5apache2_2.dll -- k dispozici pouze ve vícevláknové verzi | |-php5apache2_2_filter.dll -- k dispozici pouze ve vícevláknové verzi | |-... | |-php5ts.dll -- jádro PHP DLL (php5.dll ve verzi bez vláken) | |-...

    Níže je uveden seznam modulů a spustitelných souborů zahrnutých v distribuci zip PHP:

      php-cgi.exe je spustitelný soubor CGI, který lze použít při spuštění PHP na IIS přes CGI nebo FastCGI.

      php-win.exe - PHP spustitelný pro spouštění PHP skriptů bez použití konzole (například PHP aplikace používající Windows GUI).

      php.exe - PHP spustitelný soubor pro spouštění PHP skriptů v konzole (CLI).

      php5apache2_2.dll – modul Apache 2.2.X.

      php5apache2_2_filter.dll – filtr Apache 2.2.X.

    Změna souboru php.ini

    Po extrahování obsahu balíčku php vytvořte kopii php.ini-production s názvem php.ini ve stejné složce. V případě potřeby je také možné umístit php.ini na jakékoli jiné místo dle vašeho výběru, ale to vyžaduje další konfiguraci, která je uvedena v sekci Konfigurace PHP.

    Soubor php.ini obsahuje pravidla spouštění PHP a pokyny pro práci s prostředím, ve kterém běží. Následují některá nastavení php.ini, která mohou zlepšit fungování PHP ve Windows. Některé z nich jsou volitelné. Existuje mnoho dalších direktiv, které mohou být užitečné ve vašem prostředí – viz seznam direktiv php.ini pro více podrobností.

    Povinné směrnice:

      extension_dir = <путь к директории модулей> - extension_dir určuje adresář, kde jsou umístěny moduly PHP. Cesta může být absolutní (např. "C:\PHP\ext") nebo relativní (např. ".\ext"). Moduly používané v php.ini musí být umístěny v adresáři extension_dir .

      prodloužení = xxxxx.dll- Pro každý modul plug-in musíte zadat direktivu "extension=". Moduly z extension_dir označené touto direktivou se načtou při spuštění PHP.

      log_errors = Na- PHP má mechanismus protokolování chyb, který lze použít k uložení chyb do souboru nebo k jejich odeslání do služby (např. syslog). Mechanismus také používá hodnotu direktivy error_log. Když je PHP spouštěno službou IIS, log_errors musí být povoleno se správným error_log .

      error_log = <пусть к файлу лога ошибок> - error_log je potřeba k označení absolutní nebo relativní cesty k souboru, kde jsou zaznamenány chyby PHP. Tento soubor musí být zapisovatelný webovým serverem. Nejběžnější umístění tohoto souboru jsou různé dočasné adresáře TEMP, jako například "C:\inetpub\temp\php-errors.log".

      cgi.force_redirect = 0 - Tato směrnice je vyžadována pro spuštění v rámci IIS. Toto je mechanismus ochrany adresářů, který vyžaduje mnoho jiných webových serverů. Povolení pod IIS však způsobí chyby jádra PHP ve Windows.

      cgi.fix_pathinfo = 1 - Poskytuje podporu pro PATH_INFO podle specifikace CGI. IIS FastCGI používá toto nastavení.

      fastcgi.impersonate = 1 - FastCGI pod IIS podporuje schopnost identifikovat bezpečnostní tokeny volajícího klienta. To umožňuje službě IIS určit kontext zabezpečení, ve kterém je požadavek podáván.

      fastcgi.logging= 0 - Protokolování FastCGI by mělo být ve službě IIS zakázáno. Pokud je položka povolena, pak všechny zprávy jakékoli třídy rozpozná FastCGI jako chyby, což způsobí, že IIS vyvolá výjimku HTTP 500.

    Nepovinné směrnice

      max_execution_time = ## - Tato směrnice určuje maximální dobu provádění libovolného skriptu PHP. Výchozí hodnota je 30 sekund. Tuto hodnotu byste měli zvýšit, pokud vaše aplikace PHP potřebuje běžet déle.

      memory_limit = ###M- Množství paměti dostupné pro proces PHP v MB. Výchozí hodnota je 128, což je dostatečné pro většinu aplikací PHP. Některé složité aplikace mohou vyžadovat více paměti.

      display_errors = Vypnuto- Direktiva definuje, které chyby by se měly vrátit na webový server pro další protokolování. Když je nastaveno na "On", PHP hlásí všechny druhy chyb, které jsou uvedeny v direktivě error_reporting. Z bezpečnostních důvodů se doporučuje nastavit na produkčních serverech na "Vypnuto", aby se zabránilo předání chybových výstupů koncovému uživateli, protože mohou obsahovat informace ohrožující bezpečnost aplikace.

      open_basedir = <пути к директориям, разделенные точкой с запятой> , například openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". Tato direktiva specifikuje cesty k adresářům, kde je PHP povoleno pracovat na souborovém systému. Jakákoli operace se soubory a adresáři mimo zadané cesty bude mít za následek chybu. Tato direktiva je zvláště užitečná pro zamezení přístupu k nainstalovanému PHP ve sdílených hostitelských prostředích, aby se zabránilo PHP skriptům v přístupu k souborům mimo kořenový adresář webové stránky.

      upload_max_filesize = ###M a post_max_size = ###M- Maximální povolená velikost nahrávaného souboru a odesílaných dat, resp. Hodnoty těchto direktiv by měly být zvýšeny, pokud aplikace PHP potřebují zpracovat velké uploady, jako jsou obrázky nebo video soubory.

    Jakmile je PHP nainstalováno ve vašem systému, dalším krokem je výběr webového serveru a jeho další konfigurace pro práci s PHP. Vyberte konkrétní webový server v obsahu pro tento materiál.

    Microsoft IIS 5.1 a IIS 6.0

    Tato část obsahuje pokyny pro ruční nastavení Internetové informační služby (IIS) 5.1 a IIS 6.0 pro práci s PHP v systémech Microsoft Windows XP a Windows Server 2003. Pokyny pro nastavení služby IIS 7.0 a novějších verzí v systémech Windows Vista, Windows Server 2008, Windows 7 a Windows Server 2008 R2 odkazují na Microsoft IIS 7.0 a novější.

    Konfigurace IIS pro zpracování požadavků PHP

    Stáhněte a nainstalujte PHP v souladu s pokyny popsanými v krocích ruční instalace

    Komentář:

    Při používání IIS se doporučuje sestavení PHP, které není bezpečné pro vlákna. Sestavení, která nejsou bezpečná pro vlákna, jsou k dispozici na

    Nakonfigurujte nastavení specifická pro CGI a FastCGI v souboru php.ini, jak je uvedeno níže:

    Příklad #2 Nastavení CGI a FastCGI v php.ini

    Povolení podpory FastCGI ve službě IIS

    Modul FastCGI je při instalaci IIS ve výchozím nastavení zakázán. Způsoby povolení se liší v závislosti na verzi systému Windows, kterou používáte.

    Povolení podpory FastCGI v systému Windows Vista SP1 a Windows 7:

      V nabídce "Start" vyberte "Spustit", v okně, které se objeví, napište na klávesnici "volitelnýfeatures.exe" a klikněte na "OK";

      V okně "Součásti systému Windows", které se otevře, rozbalte složku "IIS", "Internet Services", "Application Development Components" a zaškrtněte políčko vedle "CGI";

      Klikněte na OK a počkejte na dokončení procesu instalace.


    Chcete-li povolit podporu FastCGI v systému Windows Server 2008 a Windows Server 2008 R2:

      Ve Windows otevřete nabídku Start, vyberte „Spustit:“, na klávesnici zadejte „CompMgmtLauncher“ a klikněte na „OK“;

      Pokud role "Webový server (IIS)" není uvedena na kartě "Role", přidejte ji výběrem "Přidat role";

      Pokud je přítomna role "Webový server (IIS)", vyberte "Výběr služby role" a zaškrtněte políčko vedle "CGI" ve skupině "Součásti vývoje aplikací";


    Konfigurace IIS pro zpracování požadavků PHP

    Stáhněte a nainstalujte PHP podle pokynů uvedených v popisu instalace

    Komentář:

    Změňte nastavení CGI a FastCGI v souboru php.ini, jak je uvedeno níže:

    Příklad #8 Nastavení CGI a FastCGI v php.ini

    fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo=1 cgi.force_redirect = 0

    Nastavte obslužnou rutinu IIS pro PHP pomocí rozhraní IIS Management Interface nebo pomocí příkazového řádku.

    Použití rozhraní pro správu IIS k vytvoření obslužného programu PHP

    Následující kroky vám umožní vytvořit obslužnou rutinu IIS pro PHP v rozhraní správy IIS:



    Pomocí příkazového řádku vytvořte mapování obslužné rutiny PHP

    Pomocí níže uvedených příkazů vytvořte fond procesů IIS FastCGI, který bude používat spustitelný soubor php-cgi.exe pro požadavky PHP. Nahraďte hodnotu parametru fullPath absolutní cestou k souboru php-cgi.exe.

    Beispiel #9 Vytvoření fondu procesů IIS FastCGI

    %windir%\system32\inetsrv\appcmd nastavit konfiguraci /section:system.webServer/fastCGI ^ /+

    Konfigurace služby IIS pro zpracování konkrétních požadavků PHP z příkazového řádku je znázorněna níže. Nahraďte hodnotu parametru scriptProcessor absolutní cestou k souboru php-cgi.exe.

    Příklad č. 10 Vytvoření mapování obsluhy požadavků PHP

    %windir%\system32\inetsrv\appcmd nastavit konfiguraci /section:system.webServer/handlers ^ /+

    Tento příkaz vytvoří mapování handleru pro IIS pro soubory *.php, které je výsledkem a zpracované modulem FastCGI.

    Komentář:

    Tento krok dokončí instalaci a konfiguraci. Následující pokyny jsou volitelné, ale vysoce doporučené pro optimální funkčnost a výkon PHP na IIS.

    Prezentace a přístup k systému souborů

    Při používání IIS se doporučuje povolit zobrazení FastCGI v PHP. To je řízeno direktivou fastcgi.impersonate v souboru php.ini. Když je zosobnění povoleno, PHP provede všechny operace na souborovém systému pod účtem, který byl zadán během ověřování IIS. Tím je zajištěno, že vzhledem ke společnému procesu PHP pro všechny weby IIS nebudou mít skripty PHP těchto webů přístup k souborům ostatních, pokud služba IIS používá různé účty pro každý web.

    Například ve výchozím nastavení služby IIS 7 je anonymní ověřování povoleno v rámci standardního uživatelského IUSR. To znamená, že při udělení oprávnění IIS ke spuštění skriptu PHP je také nutné udělit účtu IUSR oprávnění ke čtení tohoto skriptu. Pokud aplikace PHP potřebuje zapisovat do některých souborů nebo složek, měl by k nim mít účet IUSR přístup pro zápis.

    Chcete-li se rozhodnout, který uživatel se použije pro ověřování ve službě IIS 7, můžete použít následující příkazy. Nahraďte "Výchozí web" názvem webu IIS, se kterým pracujete. Ve výstupu v konfiguračním XML viz atribut userName.

    Příklad č. 11 Určení účtu používaného službou IIS pro anonymní ověřování

    Konfigurace seznamu %windir%\system32\inetsrv\appcmd.exe "Výchozí web" ^ /section:anonymousAuthentication

    Komentář:

    Pokud atribut userName není přítomen v prvku anonymního ověřování nebo je nastaven na prázdný řetězec, pak se identita fondu aplikací pro tento web použije jako anonymní.

    Chcete-li změnit nastavení přístupu k souborům nebo složkám, použijte uživatelské rozhraní v Průzkumníkovi Windows nebo příkaz icacls.

    Příklad #12 Nastavení oprávnění k souboru

    icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

    Nastavení index.php jako výchozího dokumentu ve službě IIS

    Ve výchozím nastavení služba IIS nemá nastaven název dokumentu pro zpracování požadavků HTTP ve výchozím nastavení. V aplikacích PHP je výchozí dokument index.php . Chcete-li přidat index.php do výchozího listu dokumentu IIS, použijte následující příkaz:

    Beispiel #13 Nastavení index.php jako výchozího dokumentu ve službě IIS

    %windir%\system32\inetsrv\appcmd.exe set config ^ -section:system.webServer/defaultDocument /+"soubory." ^ /commit:apphost

    Konfigurace FastCGI a PHP s opětovným vytvořením procesu

    Konfigurace nastavení IIS FastCGI pro recyklaci procesů PHP pomocí příkazů je uvedena níže. Možnost FastCGI instanceMaxRequests nastavuje maximální počet požadavků, které lze zpracovat jedním procesem php-cgi.exe, dokud je služba IIS nezačne deaktivovat. Proměnná prostředí PHP PHP_FCGI_MAX_REQUESTS nastavuje, kolik požadavků zpracuje jeden proces php-cgi.exe, než je začne mazat. Hodnota nastavená pro FastCGI InstanceMaxRequests je samozřejmě menší nebo rovna PHP_FCGI_MAX_REQUESTS .

    Beispiel #14 Nastavení FastCGI a přebudování PHP

    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^ /.instanceMaxRequests:10000 %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^ / +.environmentVariables.^"

    Nastavení časového limitu FastCGI

    Zvýšení parametru časového limitu pro FastCGI se provádí, pokud existuje dlouho běžící skript PHP. Dva parametry řídí časový limit, jsou to: activityTimeout a requestTimeout . Pomocí níže uvedených příkazů změňte nastavení časového limitu. Samozřejmě je potřeba nahradit hodnotu parametru fullPath úplnou cestou k souboru php-cgi.exe.

    Příklad #15 Konfigurace nastavení časového limitu FastCGI

    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^ /.activityTimeout:"90" /commit:apphost %windir%\system32\inetsrv\appcmd.exe set config -section:system .webServer/fastCgi ^ /.requestTimeout:"90" /commit:apphost

    Změna pozice souboru php.ini

    Existují dva způsoby, jak nakonfigurovat PHP pro práci s Apache 1.3.x ve Windows. Prvním je použití binárního CGI (php.exe pro PHP 4 a php-cgi.exe pro PHP 5), druhým je použití Apache Module DLL. V obou případech musíte upravit httpd.conf, abyste nakonfigurovali Apache pro práci s PHP a restartovali server.

    V současné době je modul SAPI stabilnější pod Windows, proto jej doporučujeme používat místo CGI, protože je transparentnější a bezpečnější.

    Ačkoli existuje několik možností pro konfiguraci PHP pod Apache, pro začátečníky jsou docela jednoduché. Další pokyny pro konfiguraci naleznete v dokumentaci k Apache.

    Po změně konfiguračního souboru nezapomeňte restartovat server. Například příkazy NET STOP APACHE A NET START APACHE, pokud Apache běží jako služba Windows nebo pomocí běžných zkratek.

    Komentář:

    Instalace PHP jako modulu Apache

    Do souboru Apache httpd.conf musíte přidat následující řádky:

    Příklad #17 PHP jako modul Apache 1.3.x

    To předpokládá, že PHP je nainstalováno v c:\php. Změňte cestu, pokud není.

    # Přidat na konec sekce LoadModule # Nezapomeňte zkopírovat tento soubor z adresáře sapi! LoadModule php4_module "C:/php/php4apache.dll" # Přidat na konec sekce AddModule AddModule mod_php4.c

    # Přidat na konec sekce LoadModule LoadModule php5_module "C:/php/php5apache.dll" # Přidat na konec sekce AddModule AddModule mod_php5.c

    Pro obě verze:

    # Přidejte tento řádek dovnitř podmíněná závorka AddType application/x-httpd-php .php # Pro soubory .php se zvýrazněnou syntaxí přidejte také AddType application/x-httpd-php-source .phps

    Instalace jako binární soubor CGI

    Pokud je PHP rozbaleno do C:\php\, jak je popsáno v části Manuální kroky instalace, musí být do konfiguračního souboru Apache přidány následující řádky:

    Příklad #18 PHP a Apache 1.3.x jako CGI

    Všimněte si, že druhý řádek ve výše uvedeném seznamu je již v httpd.conf , ale je zakomentován. Také nezapomeňte nahradit c:/php/ vaší skutečnou cestou PHP.

    Pozornost

    "CGI zabezpečení"

    Při instalaci PHP jako CGI neexistuje tak pohodlná možnost pro zvýraznění syntaxe zdrojů PHP jako při instalaci jako modul. Pokud ji chcete používat, musíte funkci použít highlight_file(). Chcete-li to provést, jednoduše vytvořte PHP skript s následujícím kódem: .

    Apache 2.x v systému Microsoft Windows

    Tato část obsahuje pokyny pro instalaci PHP pro Apache 2.x v systémech Microsoft Windows.

    Komentář: Podpora Apache 2.2

    Uživatelé Apache 2.2 by si měli uvědomit, že soubor DLL pro Apache 2.2 se nazývá php5apache2_2.dll , nikoli php5apache2.dll a je dostupný pouze pro PHP 5.2.0 a novější.

    Důrazně doporučujeme, abyste si přečetli » dokumentaci k Apache, abyste získali základní znalosti o serveru Apache 2.x. Než si přečtete tuto nápovědu, podívejte se také na » Apache 2.x Windows Guidelines.

    Apache 2.x je navržen tak, aby běžel na serverových verzích Windows, jako je Windows NT 4.0, Windows 2000, Windows XP nebo Windows 7. Ačkoli Apache 2.x lze použít na Windows 9x, tyto platformy nejsou plně podporovány a některé funkce nebude fungovat. Náprava tohoto stavu se neplánuje.

    Stáhněte si nejnovější verzi » Apache 2.xa příslušnou verzi PHP. Postupujte podle Průvodce instalací krok za krokem a vraťte se, abyste mohli pokračovat v integraci PHP a Apache.

    Existují tři způsoby, jak nainstalovat PHP pro Apache na Windows. PHP můžete spustit jako handler, jako CGI nebo pod FastCGI.

    Komentář: Pamatujte, že při zadávání cest v konfiguračních souborech Apache pod Windows je nutné všechna zpětná lomítka, jako například c:\adresář\soubor.přípona, změnit na lomítka: c:/adresář/soubor.přípona . Cesty adresáře mohou také vyžadovat koncové lomítko.

    Instalace PHP jako handleru pod Apache

    Chcete-li načíst modul PHP pro Apache 2.x, musíte do konfiguračního souboru Apache httpd.conf přidat následující řádky:

    Příklad #19 PHP jako obslužný program Apache 2.x

    # LoadModule php5_module "c:/php/php5apache2.dll" AddHandler application/x-httpd-php .php # konfigurace cesty k php.ini PHPIniDir "C:/php"

    Komentář: Nezapomeňte ve výše uvedeném příkladu místo C:/php/ použít skutečnou cestu k adresáři PHP. Dejte pozor, abyste v direktivě LoadModule použili buď php5apache2.dll nebo php5apache2_2.dll a ujistěte se, že zadaný soubor je skutečně v cestě, kterou jste zadali v direktivě.

    Výše uvedená konfigurace umožní PHP zpracovat jakýkoli soubor, který má příponu .php, i když existují další přípony. Například soubor s názvem example.php.txt bude spuštěn jádrem PHP. Aby bylo zajištěno, že pouze soubory, které jsou mít rozšíření.php bude spuštěn, použijte následující konfiguraci:

    SetHandler aplikace/x-httpd-php

    Spuštění PHP jako CGI

    Pro úplnější pochopení běhu CGI pod Apache byste se měli podívat na » dokumentaci CGI Apache.

    Chcete-li spustit PHP jako CGI, musíte umístit své soubory php-cgi do adresáře označeného jako adresář CGI pomocí direktivy ScriptAlilas.

    Poté musíte přidat řádek #! v souborech PHP, ukazující na umístění spustitelného souboru PHP.

    Příklad #20 PHP jako CGI pod Apache 2.x

    #!C:/php/php.exe

    Pozornost

    Při použití instalace CGI je váš server vystaven několika možným chybám zabezpečení. Informace o tom, jak se můžete před takovými útoky chránit, naleznete v části Zabezpečení CGI.

    Spuštění PHP pod FastCGI

    Spuštění PHP pod FastCGI má oproti provozování jako CGI řadu výhod. Instalace je celkem jednoduchá:

    Nastavení NSAPI na serverech Sun, iPlanet a Netscape

    Chcete-li nainstalovat PHP s NSAPI, postupujte takto:

    • Zkopírujte php4ts.dll do kořenového adresáře systému (adresář, do kterého jste nainstalovali Windows)
    • Proveďte přidružení souboru z příkazového řádku. Napište následující dva řádky:

      assoc .php=PHPScript ftype PHPScript=c:\php\php.exe %1 %*

    • Na serveru Netscape Enterprise Administration Server vytvořte nový typ mime (kategorie: typ, typ obsahu: magnus-internal/x-httpd-php, přípona souboru: php).
    • Upravte magnus.conf (pro servery >= 6) nebo obj.conf (pro servery< 6) and add the following: You should place the lines after mime typy init.

      Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll" Init fn="php4_init" LateInit="yes" errorString="Nepodařilo se inicializovat PHP! "

      (PHP >= 4.3.3) php_ini Parametr je volitelný, ale s jeho pomocí můžete umístit svůj php.ini do konfiguračního adresáře webového serveru.

      Nakonfigurujte výchozí objekt v obj.conf (pro třídy virtuálních serverů v jejich vserver.obj.conf): V section, place this line necessarily after all "ObjectType" and before all "AddLog" lines:

      Service fn="php4_execute" type="magnus-internal/x-httpd-php"

      (PHP >= 4.3.3) As additional parameters you can add some special php.ini -values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

      This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

      ObjectType fn="force-type" type="magnus-internal/x-httpd-php" Service fn=php4_execute

      Poté můžete nakonfigurovat adresář na Administračním serveru a přiřadit mu styl x-httpd-php. Všechny soubory v něm budou spuštěny jako PHP. Je hezké skrýt používání PHP přejmenováním souborů na .html .

    • Restartujte webovou službu a použijte změny
    • Udělejte to pro každou instanci webového serveru, kterou chcete, aby PHP spouštělo
    • Komentář:

      Velikost zásobníku, kterou PHP používá, závisí na konfiguraci webového serveru. Pokud dojde k pádům s velmi velkými skripty PHP, doporučujeme je upozornit na Admin Server (v sekci "MAGNUS EDITOR").

      Prostředí CGI a doporučené úpravy v php.ini

      Při psaní PHP skriptů je důležitá skutečnost, že Sun JSWS/Sun ONE WS/iPlanet/Netscape je vícevláknový webový server. Díky tomu všechny požadavky běží ve stejném procesním prostoru (prostoru samotného web serveru) a tento prostor má pouze jedno prostředí. Pokud chcete získat proměnné CGI jako PATH_INFO, HTTP_HOST atd. není to správný způsob, jak to zkusit starým způsobem PHP getenv() nebo podobným způsobem (registrovat globals do prostředí, $_ENV). Získali byste pouze prostředí běžícího webového serveru bez jakýchkoli platných CGI proměnných!

      Komentář:

      Proč jsou v prostředí (neplatné) proměnné CGI?

      Odpověď: Je to proto, že jste spustili proces webového serveru z admin serveru, který spouští spouštěcí skript webového serveru, který jste chtěli spustit, jako CGI skript (CGI skript uvnitř admin serveru!). To je důvod, proč má prostředí spuštěného webového serveru v sobě nějaké proměnné prostředí CGI. Můžete to otestovat spuštěním webového serveru nikoli z administrativního serveru. Použijte příkazový řádek jako uživatel root a spusťte jej ručně – uvidíte, že neexistují žádné proměnné prostředí podobné CGI.

      Jednoduše změňte své skripty, abyste získali proměnné CGI správným způsobem pro PHP 4.x pomocí superglobálního $_SERVER . Pokud máte starší skripty, které používají $HTTP_HOST atd., měli byste zapnout register_globals v php.ini a změňte také pořadí proměnných (důležité: odstranit "E" z toho, protože zde nepotřebujete prostředí):

      variables_order = "GPCS" register_globals = Zapnuto

      Speciální použití pro chybové stránky nebo vlastní seznamy adresářů (PHP >= 4.3.3)

      Pro generování chybových stránek můžete použít PHP "404 nenalezeno" nebo podobné. Přidejte následující řádek do objektu v obj.conf pro každou chybovou stránku, kterou chcete přepsat:

      Chyba fn="php4_execute" code=XXX script="/cesta/k/script.php"

      Kde XXX je kód chyby HTTP. Prosím smažte jakékoli jiné chyba direktivy, které by mohly zasahovat do vašich. Pokud chcete umístit stránku pro všechny chyby, které by mohly existovat, ponechte kód parametr out. Váš skript může získat stavový kód HTTP s $_SERVER["ERROR_TYPE"] .

      Další možností je generování vlastních seznamů adresářů. Stačí vytvořit PHP skript, který zobrazí výpis adresáře a nahradit odpovídající výchozí řádek Service pro type="magnus-internal/directory" v obj.conf s následujícím:

      Služba fn="php4_execute" type="magnus-internal/directory" script="/cesta/k/script.php"

      U chybových stránek i stránek se seznamem adresářů jsou původní URI a přeložené URI v proměnných $_SERVER["PATH_INFO"] a $_SERVER["PATH_TRANSLATED"] .

      Tento seznam popisuje, jak nainstalovat modul ISAPI pro práci se serverem Sambar v systému Windows.

        Najděte soubor s názvem mappings.ini (ve složce config) v instalačním adresáři Sambar.

        Otevřete mappings.ini a přidejte následující řádek pod :

        Příklad č. 22 Konfigurace ISAPI pro Sambar

        #for PHP 4 *.php = c:\php\php4isapi.dll #for PHP 5 *.php = c:\php\php5isapi.dll

        (Pokud je PHP nainstalováno v c:\php .)

        Restartujte Sambar, aby se změny projevily.

      Komentář:

      Pokud chcete používat PHP ke komunikaci se zdroji na jiných počítačích ve vaší síti, musíte změnit účet, který používá služba serveru Sambar. Ve výchozím nastavení je to LocalSystem a vzdálené zdroje nebudou dostupné. Účet lze upravit pomocí možnosti "Služby" v nástroji pro správu z ovládacího panelu Windows.

      Xitami v systému Microsoft Windows

      Tato část obsahuje poznámky a triky specifické pro » Xitami na platformě Windows.

      Tento kontrolní seznam popisuje, jak nainstalovat PHP CGI knihovnu tak, aby fungovala s Xitami ve Windows.

      Komentář: Důležité pro uživatele CGI

      Instalace PHP modulů na OS Windows

      Po instalaci PHP a webového serveru v systému Windows může být nutné nainstalovat některé moduly pro přidání funkcí. Můžete si vybrat, které moduly se načtou při spuštění PHP úpravou souboru php.ini. Pomocí této funkce můžete také dynamicky načítat moduly do skriptů

      Pokračujeme v budování lokálního WAMP serveru na lokálním počítači (osobním počítači). V tomto článku nainstalujeme PHP interpret, neboli [P] ve zkratce WAMP.

      Dovolte mi připomenout, že k vytvoření webové stránky na vašem počítači jako místního serveru je vyžadováno sestavení Apache+MySQL+PHP. Úkol je pro mnohé zajímavý a často se používá k práci na projektech. Vlastní sestavení AMP je složitý úkol spojený s nastavením počítače a jeho stálým zdravím. Pro mnohé je to jednodušší než práce se vzdálenými servery, protože počítačová pomoc je vždy po ruce. Práce s lokálním serverem je navíc zdarma.

      V minulých článcích jsem vám říkal jak, jak. Stavíme lokální server s Windows 7. Je čas nainstalovat PHP.

      PHP nainstalujeme do složky php vytvořené na systémovém disku: C:\Program Files\PHP.

      Kde získat PHP

      Nejnovější verzi php bereme pouze na oficiálních stránkách, zde je odkaz: https://php.net/downloads.php. další: https://windows.php.net/download#php-7.0. Nevezmeme nejnovější verzi php7.0, nevezmeme takové "revoluční" PHP 5.6 (5.6.20). Beru sestavení pro 32bitovou architekturu Windows 7 s vestavěným instalačním programem Windows.

      Instalace PHP pomocí instalačního programu (MSI)

      Nejnovější PHP s instalátorem a hlavně s modulem Apache 2.2. toto je php-5.3.10-nts-Win32-VC9-x86.msi. Vezmeme to zde: https://windows.php.net/downloads/releases/archives/ a nainstalujte jej.

      Poznámka: Vybíráme s modulem Apache 2.2, jelikož WAMP stavíme na Apache 2.2, který jsme již nainstalovali.

      Instalace PHP pomocí instalačního programu (MSI) je jednoduchá, v několika oknech:

      1. Spusťte stažený soubor php-5.3.10-nts-Win32-VC9-x86.msi.

      První instalační okno php-5.3.10

      2. Seznámíme se s licencí a souhlasíme s ní, pokračujeme kliknutím na tlačítko "Další".

      3. Na této stránce nastavíme složku, do které dáme PHP. Nechť je to adresář:

      4. Na další stránce vyberte webový server, který chcete použít. V naší sestavě je to Apache2.

      5. Na této stránce je třeba vybrat moduly PHP, které budeme potřebovat. Pro pojištění vybíráme vše.

      6. Klikněte na "Instalovat"


      Klikněte na Instalovat pro instalaci php-5.3.10
      Vidíme proces instalačního okna php-5.3.10

      Všechno! Instalace PHP na místní počítač je nyní dokončena.