Instalace knihovny PHPLIB

Knihovna pro ukládání session proměnných a dalších údajů využívá databázi. Použít můžeme v podstatě libovolnou (SQL) databázi, pro kterou existuje v PHP podpora. Pro každou aplikaci, která bude využívat PHPLIB bychom měli vytvořit zvláštní databázi. PHPLIB v ní vytvoří dvě tabulky active_sessions a auth_user. Tato jména se pravděpodobně nekryjí s jmény našich tabulek, a proto je můžeme umístit do stejné databáze jako data naší aplikace. (Kdyby se přeci jen náhodou kryla, není žádný problém je změnit.)

Dále budeme předpokládat, že vyvíjíme aplikace pro internetový obchod a naše databáze se jmenuje ishop. V adresáři stuff distribuce PHPLIB nalezneme soubory s příkazy jazyka SQL, které dokáží pro různé databáze (MySQL, MS SQL, PostgreSQL, Sybase, Oracle, ODBC, ...) vytvořit v databázi již zmíněné tabulky active_sessions a auth_user.

Pro potřeby PHPLIB musíme v databázi vytvořit uživatele, který bude mít k oběma tabulkám plný přístup (práva SELECT, INSERT, UPDATE a DELETE). Postup vytvoření uživatele a přidělení přístupových práv se liší databázi od databáze. My budeme předpokládat, že takový uživatel se jmenuje phplib a heslo má octopus.

Poté co rozchodíme databázi, musíme na vhodné místo zkopírovat a upravit samotné soubory knihovny PHPLIB. Do nějakého adresáře zkopírujeme vše, co je v podadresáři php distribuce PHPLIB. Nejlepší je asi vytvořit si pro soubory adresář phplib, který je na stejné úrovni jako adresář pro HTML dokumenty a skripty.

Cestu k adresáři s knihovnou PHPLIB musíme přidat mezi cesty, kde PHP automaticky hledá soubory. V souboru php3.ini, případně v souboru .htaccess, pokud používáme Apache a modul PHP3, musíme upravit obsah direktivy include_path:

include_path = .:/cesta/k/phplib

resp. ve Windows na

include_path = ".;c:/cesta/k/phplib"

Pokud direktivu nastavujeme v konfiguračních souborech Apache, musíme místo ní použít php3_include_path.

Soubory PHPLIB by měly být mimo strom WWW dokumentů, protože obsahují některé citlivé údaje -- např. jméno a heslo pro přístup do databáze. Někdy však nemůžeme knihovnu umístit mimo strom dokumentů (například u některých providerů, kteří na své servery neumožňují přístup pomocí ssh, ale pouze pomocí FTP). V tomto případě umístíme soubory také do adresáře phplib, ale musíme nastavit WWW-server tak, aby v něm všechny soubory (přípony .php3, .inc a .ihtml) interpretoval pomocí PHP. Tak se nestane, že by někdo mohl neoprávněně něco číst. Tato nastavení můžeme pro server Apache provést opět pomocí souboru .htaccess. Stačí, když do něj přidáme řádku:

AddType application/x-httpd-php3 .php3 .php .inc .ihtml

Pokud používáme jinou databázi než MySQL, musíme nyní zeditovat soubor phplib/prepend.php3. Ten obsahuje příkaz:

require("db_mysql.inc");  /* Change this to match your database. */

My jej opravíme tak, aby načítal soubor odpovídající používané databázi. Pro ODBC použijeme například db_odbc.inc. Podporované databáze zjistíme snadno -- stačí se podívat na soubory v adresáři phplib, které začínají na db_.

Soubor prepend.php3 je potřeba načíst na začátku každé stránky, která využívá funkčnost knihovny PHPLIB. To můžeme provést buď vždy ručně pomocí příkazu require, nebo použít konfigurační direktivu auto_prepend = prepend.php3, která způsobí automatické načítaní skriptu.

Pokud jsme úspěšně nainstalovali PHPLIB, můžeme začít využívat její funkce. Základní funkcí jsou session proměnné.

© Jiří Kosek 1999
$Id$