Chci se zeptat, jak je to vlastně se zprovozněním PConnect().
Dělám intranetovou aplikaci, ve které je perzistentní spojení určitě výhodné, ale nedaří se mi ho dát do chodu.
Mám mysql.allow_persistent On. V prvním skriptu se úspěšně připojím pomocí PConnect, ale v druhém už opět zjevně připojen nejsem.
Na WZ mas jedno jestli pouzivas Connect nebo PConnect pac tady PConnect funguje jako Connect.
Nebo ne ? -)
Jedeš na Windows nebo na Linuxu, ovšem nevím jestli to má vliv ;-).
<HTML>linux/windows: vliv to nema..
jestlize jak pises mas perzistentni spojeni povolene bezet by to melo
tezko takhle rict v cem je krpa... ja to sice nekdy nepouzil ale teoreticky bych typoval ze se mezi scriptama musi nejakym zpusobem prenaset identifikator spojeni (napr. session), protoze jinak nedokazu vysvetlit jak by to mysql poznalo kdo je pripojeny a kam...</HTML>
2Master: Přesně to mě na věci zaráží. Ale když ta funkce existuje, musí mít přece nějaký význam.
Dělám intranetovou aplikaci, která je založena na databázi a měla by běžet po celý den. Kvůli každému skriptu by se muselo navazovat spojení znova, takže je PConnect ideálním řešením. Bohužel netuším, kde by mohl být problém...
ze vytvoris pconnectem() spojeni jeste neznamena, ze budes mit po reloadu v te promenne ulozeny handle na to spojeni bez provedeni mysql_pconnect() znova (a je na php samotnem aby udrzovalo pool spojeni do databaze - tj. ctverice hostname,jmeno,heslo a handle)
persistentni spojeni jen v nekterych situacich muze usetrit vykon, ale
- neni to vhodne vsude
- neni to vec aplikace, ale spis konfigurace serveru
> ja to sice nekdy nepouzil ale teoreticky bych typoval ze se mezi scriptama musi nejakym zpusobem prenaset identifikator spojeni (napr. session)
to neni pravda
pconnect() obecne funguje jenom tehdy, kdyz bezi php jako modul serveru, tj. pod apachem nebo isapi, ale ne cgi
na zacatku programu vzdycky volas treba
$mysql = mysql_pconnect(...);
a jeste jedna vec - kdyz bezi apache ve vice procesech (1.3@unix, ve 2.0 je to mpm tusim worker), tak kazdej proces musi udelat vlastni link do databaze. kdyz mas 1 proces a vic threadu, tak mas jenom 1 link
<HTML>rikal jsem ze jsem to nezkousel,proto jsem jen "teoreticky tipoval" :)</HTML>
Chci to použít asi takto:
Uživatel se přihlásí do aplikace (session autorizace), přihlašovací skript vytvoří rovnou také perzistentní spojení s mysql serverem. Prakticky každý další skript je plný dotazů a při jeho reloadu by se spojení neustále zavíralo a opět navazovalo. Z toho důvodu jsem se PConnect() rozhodl využít. JE TO NA MÍSTĚ?
K provedení:
Pokud jsem to správně pochopil, tak musím v každém skriptu volat MySQL_PConnect() se stejnými údaji a PHP už si samo zajistí, aby se za spojení použilo ono aktivní perzistentní. JE TO TAK?
Díky,
PAVEL
Odpovím si sám ;-)
Ano, je to tak.