costra Sat Jun 8 11:37:00 2002 EDT Modified files: /phpdoc-cs/features persistent-connections.xml Log: Updated translation Modified Files: persistent-connections.xml (en rev. 1.19) Index: phpdoc-cs/features/persistent-connections.xml diff -u phpdoc-cs/features/persistent-connections.xml:1.6 phpdoc-cs/features/persistent-connections.xml:1.7 --- phpdoc-cs/features/persistent-connections.xml:1.6 Thu Mar 7 18:25:03 2002 +++ phpdoc-cs/features/persistent-connections.xml Sat Jun 8 11:36:59 2002 @@ -12,12 +12,19 @@ které bylo otevřeno se stejným serverem, uživatelským jménem a heslem (pokud je zadáte). </simpara> + <note> + <para> + Existují i dalí rozíření, která vytváří trvalá spojení, + například + <link linkend="ref.imap">Rozíření IMAP</link>. + </para> + </note> <simpara> Lidé, kteří nejsou důkladně obeznámeni se způsobem, jakým web servery fungují - a distribuují zátěž mohou pokládat trvalá spojení za něco čím nejsou. Zvláště + a distribuují zátěž, mohou pokládat trvalá spojení za něco čím nejsou. Zvláště <emphasis>neumožňují</emphasis> otvírání "uživatelských sessions" na stejném SQL spojení, <emphasis>neumožňují</emphasis> efektivní tvorbu transakcí, a - neumožňují spoustu dalších věcí. Dokonce, aby bylo opravdu a dúkladně jasno, + neumožňují spoustu dalších věcí. Dokonce, aby o tom bylo opravdu a důkladně jasno, vám trvalá spojení nedají <emphasis>žádnou</emphasis> funkcionalitu, která by nebyla možná s jejich netrvalými protějšky. </simpara> @@ -31,7 +38,7 @@ <simpara> První metodou je použít PHP jako CGI "obal". V tomto režimu se vytváří a ničí jedna instance PHP interpretru pro každý požadavek (na PHP strnánku) - na vašem web serveru. Protože je znična po obsloužení požadavku, všechny + na vašem web serveru. Protože je zničena po obsloužení požadavku, všechny zdroje, které získá (jako třeba spojení s databázovým serverem) jsou při jejím zničení zavřeny. V tomto případě pokusem o použití trvalých spojení nic nezískáte - prostě nevydrží. @@ -39,7 +46,7 @@ <simpara> Druhou, a nejpopulárnější, metodou, je provozovat PHP jako modul v multiprocesním web serveru, což je množina, která v současnosti obsahuje - pouze Apache. Multiprocesní web serveru má typicky jeden proces (rodiče), + pouze Apache. Multiprocesní web server má typicky jeden proces (rodiče), který řídí skupinu procesů (svých dětí), které dělají vlastní práci - servírují stránky. Každý požadavek, který přijde od klienta, je obsloužen jedním z dětí, které právě neobsluhuje jiného klienta. To znamená, že když @@ -51,13 +58,11 @@ dříve. </simpara> <simpara> - Poslední metodou je použít PHP jako plugin v multithreadovém web serveru. To - je v současností pouhá teorie - PHP ještě nefunguje jako plagin v žádném - multithreadovém web serveru. Pracuje se na podpoře ISAPI, WSAPI a NSAPI (na - Windows), což umožní používat PHP jako plugin v multithreadových serverech - jako Netscape FastTrack, Microsoft Internet Information Server (IIS), - a O'Reilly's WebSite Pro. Až k tomu dojde, chování bude v podstatě stejné - jako u multiprocesním modelu popsaném dříve. + Poslední metodou je použít PHP jako plug-in v multivláknovém web serveru. Aktuálně +PHP 4 má tuto podporu pro ISAPI, WSAPI a NSAPI + (na Windows), což umožnuje používat PHP jako plug-in v multivláknových serverech + jako Netscape FastTrack (iPlanet), Microsoft Internet Information Server (IIS), + a O'Reilly's WebSite Pro. Chování je stejné + jako u multiprocesním modelu popsaném dříve. Podpora pro SAPI není dostupná v PHP 3. </simpara> <simpara> Pokud trvalá spojení neposkytují žádnou přidanou funkcionalitu, k čemu jsou @@ -86,6 +91,25 @@ pouhými 32 spojeními bude brzy zaplavena. Vyhledejte si v dokumentaci vaší databáze informace o obsluze opuštěných nebo nečinných spojení. </simpara> + <warning> + <simpara> + Zde je několik dodatečných námitek, které se usadily v mysli během + pouívání trvalých spojení. Jedna z nich je, kdy pouíváte zamknuté + tabulky při trvalém spojení a skript z jakéhokoli důvodu nemůe + uvolnit zámek, pak následující skript, který pouívá stejné spojení, + bude nejspíe na trvalo zablokován a moná bude nutné, abyste + pokadé restartovali http server nebo databázový server. + Dále pak v případě pouití transakcí se transakční blok přenese i do + dalího skriptu pouívajícího stejné spojení, pokud jeho vykonání + končí dříve ne transakční blok. V kadém případě můete pouít + <function>register_shutdown_function</function> k registraci a + jednoduchému vyčitění funkce pro odemknutí tabulek nebo zruení + běící transakce (roll back). Nejlépe se problému vyvarujete úplně + nepouíváním trvalých spojení ve skriptech, ve kterých se zamykají + tabulky nebo pouívají transakce (můete je stále pouívat na + mnohých dalích místech). + </simpara> + </warning> <simpara> Důležitý souhrn. Trvalá spojení byla navržena tak, aby odpovídala jedna k jedné normálním spojením. To znamená, že byste <emphasis>vždy</emphasis> měli @@ -93,7 +117,17 @@ skriptu. <emphasis>Může</emphasis> to (a pravděpodobně bude) mít vliv na efektivitu tohoto skriptu, ale ne jeho chování! </simpara> - + <para> + Dále také: + <function>fbsql_pconnect</function>, + <function>ibase_pconnect</function>, <function>ifx_pconnect</function>, + <function>imap_popen</function>, <function>ingres_pconnect</function>, + <function>msql_pconnect</function>, <function>mssql_pconnect</function>, + <function>mysql_pconnect</function>, <function>OCIPLogon</function>, + <function>odbc_pconnect</function>, <function>Ora_pLogon</function>, + <function>pfsockopen</function>, <function>pg_pconnect</function> a + <function>sybase_pconnect</function>. + </para> </chapter> <!-- Keep this comment at the end of the file