Kapitola 48. Instalace

Tato část se zabývá častými otázkamni ohledně způsobu instalace PHP . PHP je dostupné pro většinu OS ( v podstatě kromě MacOS pře OSX ) a většinu webovských serverů .

Při instalaci PHP postupujte podle instrukcí v souboru INSTALL v příslušné distribuci . Uživatelé Windows by si také měli přečíst soubor install.txt . Existuje také soubor s různými fintami pro Windows - najdete ho tady .

1. Unix/Windows: Kde by měl být uložen soubor php.ini?
2. UNIX: Nainstaloval jsem PHP, ale vždy, když načítám dokument, dostanu zprávu 'Document Contains No Data'! O co jde?
3. UNIX: Instaloval jsem PHP z balíčků RPM, ale Apache nezpracovává stránky s PHP! O co tu jde?
4. UNIX: Instaloval jsem PHP 3 z balíčků RPM, ale nekompiluje se s podporou databáze, kterou potřebuji! O co tu jde?
5. UNIX: Přidal jsem do Apache patch pro FrontPage Extension a PHP náhle přestalo pracovat. Je PHP nekompatibilní s FrontPage Extension pro Apache?
6. UNIX/Windows: Nainstaloval jsem PHP, ale při pokusu načíst soubor PHP skriptu do prohlížeče se zobrazí pouze prázdná obrazovka.
7. UNIX/Windows: Nainstaloval jsem PHP a když chci načíst PHP soubor do prohlížeče, objeví se "500 Internal Server Error".
8. Některé operační systémy: Nainstaloval jsem PHP bez chyb, ale nyní, když zkusím spustit Apache, ohlásí se chyby o nedefinovaných symbolech:



9. Windows: Nainstaloval jsem PHP, ale při načtení stránky do prohlížeče se zobrazí chyba:











10. Windows: Dodržel jsem všechny instrukce, ale PHP a IIS stále odmítají spolupracovat!

V UNIXu být implicitně v adresáři / usr / local / lib . Mnoho lidí to bude chtít při kompilaci změnit pomocí parametru --with-config-file-path . Mohli byste ho , například , nastavit zhruba takto :




Pak byste zkopírovali soubor php.ini-dist z distribuce do /etc/php.ini a upravili tak, jak chcete.

Pod Windows je soubor php.ini implicintě umístěn v adresáři systému Windows .

Kvůli tomu , jak se PHP 3 budovalo , není snadné sestavit kompletní flexibilní RPM balíček s PHP . Problém je vyřešen v PHP 4 . Pro PHP 3 nyní doporučujeme používat mechanismus popsaný v souboru INSTALL.REDHAT v distribuci PHP . Pokud trváte na použití RPM verze PHP 3 , čtěte dál.. .

RPM pakovače jsou nastaveny na tvorbu RPM balíčků k instalaci bez podpory databází kvůli zjednodušení instalací a proto , že RPM používá adresář / usr / namísto standardního / usr / local / . Musít sdělit RPM souboru spec , které databáze podporovat a umístění adresáře nejvyšší úrovně databázového serveru .

Tento příklad vysvětluje proces přidání podpory populárního databázového serveru MySQL , pro instalaci PHP jako modulu do Apache .

Všechny tyto informace smaozřejmě mohou být upraveny pro libovolný databázový server , který PHP podporuje . Pro tento příklad budeme předpokládat , že jste instalovali MySQL a Apache plně z balíčků RPM .

  • Nejdříve odstraňte mod_php3 :

    
    
    
    


  • Potom vezměte zdrojový balíček RPM a spusťte na něm , NE --rebuild

    
    
    
    


  • Upravte soubor / usr / src / redhat / SPECS / mod_php3.spec

    V sekci %build přidejte databázovou podporu , kterou chcete , a nastavte cestu .

    Pro MySQL byste přidali

    
    
    
    
    Sekce %build bude vypadat přibližně takto:
    
    
    
    


  • Poté , co jsou provedeny tyto změny , zkompilujte balíček takto :

    
    
    
    


  • Potom balíček nainstalujte :

    
    
    
    


Ujistěte se, že jste restartovali Apache, a nyní již máte PHP 3 s podporou MySQL. Uvědomte si, že je pravděpodobně mnohem jednodušší zkompilovat distribuční balíček tar a držet se instrukcí v souboru INSTALL.REDHAT z distribuce.

Tato chybová zpráva znamená , že z PHP nemohou vycházet žádná data . Abyste viděli detailnější chybovou zprávu , z příkazové řádky , přejděte do adresáře se souborem PHP ( pod Windows php.exe ) a spusťte php -i . Pokud při běhu PHP dojde k chybě , bude zobrazena odpovídající chybovou zpráva , která vám řekne , co se dál udělat . Pokud získáte obrazovku plnou HTML kódu ( výstup funkce phpinfo( ) ) , PHP funguje .

Jestliže PHP pracuje v příkazové řádce , zkuste to znovu z prohlížeče . Pokud to stále nefunguje , může to být jedním z těchto důvodů :

  • Nastavení přístupových práv k souboru se skriptem , k php.exe , php4ts.dll , php.ini nebo nějakému rozšíření PHP , které se pokoušíte načíst , je takové , že k nim anonymní internetový uživatel ISUR_ machinename nemá přístup .

  • Soubor se skriptem neexistuje ( nebo případně není tam , kde si myslíte , že je , relativně ke kořenovému adresáři webu ) . Uvědomte si , že na IIS můžete tuto chybu zachytit zaškrtnutím volby ' check file exists ' při nastavování skriptových služeb v Internet Services Manageru . Pokud skript neexistuje , server vrátí chybu 404 . Další výhodou je to , že IIS provede na souboru se skriptem všechny potřebné autentikace založené NTLanMan .