cortesi Wed Dec 19 04:47:23 2001 EDT
Modified files:
/phpdoc/it bookinfo.xml
/phpdoc/it/appendices reserved.xml
/phpdoc/it/faq general.xml
/phpdoc/it/features persistent-connections.xml
/phpdoc/it/language constants.xml
Log:
minor modifications to be in sync with EN
Index: phpdoc/it/bookinfo.xml
diff -u phpdoc/it/bookinfo.xml:1.21 phpdoc/it/bookinfo.xml:1.22
--- phpdoc/it/bookinfo.xml:1.21 Tue Dec 18 08:21:05 2001
+++ phpdoc/it/bookinfo.xml Wed Dec 19 04:47:21 2001
@@ -107,7 +107,7 @@
La sezione 'Estendere PHP 4.0' di questo manuale � copyright © 2000 della
Zend Technologies, Ltd. Questo materiale pu� essere distribuito solo secondo
i termini e le condizioni della Open Publication License, v1.0
- o successiva (la version pi� recente � al momento disponibile qui
+ o successiva (la versione pi� recente � al momento disponibile qui
<ulink url="&url.opl;">&url.opl;</ulink>).
</simpara>
</legalnotice>
Index: phpdoc/it/appendices/reserved.xml
diff -u phpdoc/it/appendices/reserved.xml:1.7 phpdoc/it/appendices/reserved.xml:1.8
--- phpdoc/it/appendices/reserved.xml:1.7 Wed Dec 12 15:51:40 2001
+++ phpdoc/it/appendices/reserved.xml Wed Dec 19 04:47:21 2001
@@ -1,340 +1,229 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- EN-Revision: 1.8 Maintainer: cortesi Status: ready -->
-
+<!-- EN-Revision: 1.13 Maintainer: cortesi Status: ready -->
<appendix id="reserved">
<title>Parole riservate nel PHP</title>
<para>
- Questa è la lista delle parole riservate nel PHP, delle costanti tipiche e
delle
- variabili predefinite. In questa lista non sono elencate le funzioni, ma solo i
construtti del
+ Questa � la lista delle parole riservate nel PHP, tipicamente
+ <link linkend="language.constants">costanti</link> e
+ delle <link linkend="language.variables.predefined">variabili predefinite</link>.
+ In questa lista non sono elencate le funzioni, ma solo i construtti del
linguaggio. I nomi qui elencati non devono essere utilizzati come nomi di
variabili, funzioni,
- costanti o metodi, in modo da evitare confusioni.
- <itemizedlist>
- <listitem>
- <simpara>
- <link linkend="language.operators.logical">and</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.variables.predefined.php">$argv</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.variables.predefined.php">$argc</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.break">break</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.switch">case</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="keyword.class">class</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.continue">continue</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.switch">default</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.do.while">do</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>die</function>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>echo</function>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.else">else</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.elseif">elseif</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>empty</function>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.alternative-syntax">endfor</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.alternative-syntax">endforeach</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.alternative-syntax">endif</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.alternative-syntax">endswitch</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.alternative-syntax">endwhile</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.constants">E_ALL</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.constants">E_PARSE</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.constants">E_ERROR</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.constants">E_WARNING</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>exit</function>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="keyword.class">extends</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.constants">&false;</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.for">for</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.foreach">foreach</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="functions.user-defined">function</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.variables.predefined.php">$HTTP_COOKIE_VARS</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.variables.predefined.php">$HTTP_GET_VARS</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.variables.predefined.php">$HTTP_POST_VARS</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.variables.predefined.php">$$HTTP_POST_FILES</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.variables.predefined.php">$HTTP_ENV_VARS</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.variables.predefined.php">$HTTP_SERVER_VARS</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.if">if</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>include</function>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>include_once</function>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.variables.scope">global</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>list</function>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="keyword.class">new</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.operators.logical">not</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.constants.predefined">NULL</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.operators.logical">or</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="keyword.parent">parent</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.constants">PHP_OS</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.variables.predefined.php">$PHP_SELF</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.constants">PHP_VERSION</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>print</function>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>require</function>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>require_once</function>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="functions.user-defined">return</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.variables.scope">static</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.switch">switch</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="keyword.class">stdClass</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="keyword.class">this</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.constants">&true;</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="keyword.class">var</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.operators.logical">xor</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <function>virtual</function>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="control-structures.while">while</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.constants">__FILE__</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.constants">__LINE__</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.oop.magic-functions">__sleep</link>.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <link linkend="language.oop.magic-functions">__wakeup</link>.
- </simpara>
- </listitem>
- </itemizedlist>
+ costanti o metodi, ci� porterebbe inevitabilmente a creare confusioni.
+ <simplelist columns="3">
+ <member>
+ <link linkend="language.operators.logical">and</link>
+ </member>
+ <member>
+ <link linkend="language.variables.predefined.php">$argv</link>
+ </member>
+ <member>
+ <link linkend="control-structures.foreach">as</link>
+ </member>
+ <member>
+ <link linkend="language.variables.predefined.php">$argc</link>
+ </member>
+ <member>
+ <link linkend="control-structures.break">break</link>
+ </member>
+ <member>
+ <link linkend="control-structures.switch">case</link>
+ </member>
+ <member>
+ <link linkend="functions.old-syntax">cfunction</link>
+ </member>
+ <member>
+ <link linkend="keyword.class">class</link>
+ </member>
+ <member>
+ <link linkend="control-structures.continue">continue</link>
+ </member>
+ <member>
+ <link linkend="control-structures.declare">declare</link>
+ </member>
+ <member>
+ <link linkend="control-structures.switch">default</link>
+ </member>
+ <member>
+ <link linkend="control-structures.do.while">do</link>
+ </member>
+ <member>
+ <function>die</function>
+ </member>
+ <member>
+ <function>echo</function>
+ </member>
+ <member>
+ <link linkend="control-structures.else">else</link>
+ </member>
+ <member>
+ <link linkend="control-structures.elseif">elseif</link>
+ </member>
+ <member>
+ <function>empty</function>
+ </member>
+ <member>
+ <link linkend="control-structures.declare">enddeclare</link>
+ </member>
+ <member>
+ <link linkend="control-structures.alternative-syntax">endfor</link>
+ </member>
+ <member>
+ <link linkend="control-structures.alternative-syntax">endforeach</link>
+ </member>
+ <member>
+ <link linkend="control-structures.alternative-syntax">endif</link>
+ </member>
+ <member>
+ <link linkend="control-structures.alternative-syntax">endswitch</link>
+ </member>
+ <member>
+ <link linkend="control-structures.alternative-syntax">endwhile</link>
+ </member>
+ <member>
+ <link linkend="language.constants">E_ALL</link>
+ </member>
+ <member>
+ <link linkend="language.constants">E_PARSE</link>
+ </member>
+ <member>
+ <link linkend="language.constants">E_ERROR</link>
+ </member>
+ <member>
+ <link linkend="language.constants">E_WARNING</link>
+ </member>
+ <member>
+ <link linkend="function.eval">eval</link>
+ </member>
+ <member>
+ <function>exit</function>
+ </member>
+ <member>
+ <link linkend="keyword.class">extends</link>
+ </member>
+ <member>
+ <link linkend="language.constants">&false;</link>
+ </member>
+ <member>
+ <link linkend="control-structures.for">for</link>
+ </member>
+ <member>
+ <link linkend="control-structures.foreach">foreach</link>
+ </member>
+ <member>
+ <link linkend="functions.user-defined">function</link>
+ </member>
+ <member>
+ <link linkend="language.variables.predefined.php">$HTTP_COOKIE_VARS</link>
+ </member>
+ <member>
+ <link linkend="language.variables.predefined.php">$HTTP_GET_VARS</link>
+ </member>
+ <member>
+ <link linkend="language.variables.predefined.php">$HTTP_POST_VARS</link>
+ </member>
+ <member>
+ <link linkend="language.variables.predefined.php">$HTTP_POST_FILES</link>
+ </member>
+ <member>
+ <link linkend="language.variables.predefined.php">$HTTP_ENV_VARS</link>
+ </member>
+ <member>
+ <link linkend="language.variables.predefined.php">$HTTP_SERVER_VARS</link>
+ </member>
+ <member>
+ <link linkend="control-structures.if">if</link>
+ </member>
+ <member>
+ <function>include</function>
+ </member>
+ <member>
+ <function>include_once</function>
+ </member>
+ <member>
+ <link linkend="language.variables.scope">global</link>
+ </member>
+ <member>
+ <function>list</function>
+ </member>
+ <member>
+ <link linkend="keyword.class">new</link>
+ </member>
+ <member>
+ <link linkend="language.operators.logical">not</link>
+ </member>
+ <member>
+ <link linkend="language.constants.predefined">NULL</link>
+ </member>
+ <member>
+ <link linkend="functions.old-syntax">old_function</link>
+ </member>
+ <member>
+ <link linkend="language.operators.logical">or</link>
+ </member>
+ <member>
+ <link linkend="keyword.parent">parent</link>
+ </member>
+ <member>
+ <link linkend="language.constants">PHP_OS</link>
+ </member>
+ <member>
+ <link linkend="language.variables.predefined.php">$PHP_SELF</link>
+ </member>
+ <member>
+ <link linkend="language.constants">PHP_VERSION</link>
+ </member>
+ <member>
+ <function>print</function>
+ </member>
+ <member>
+ <function>require</function>
+ </member>
+ <member>
+ <function>require_once</function>
+ </member>
+ <member>
+ <link linkend="functions.user-defined">return</link>
+ </member>
+ <member>
+ <link linkend="language.variables.scope">static</link>
+ </member>
+ <member>
+ <link linkend="control-structures.switch">switch</link>
+ </member>
+ <member>
+ <link linkend="keyword.class">stdClass</link>
+ </member>
+ <member>
+ <link linkend="keyword.class">$this</link>
+ </member>
+ <member>
+ <link linkend="language.constants">&true;</link>
+ </member>
+ <member>
+ <link linkend="keyword.class">var</link>
+ </member>
+ <member>
+ <link linkend="language.operators.logical">xor</link>
+ </member>
+ <member>
+ <function>virtual</function>
+ </member>
+ <member>
+ <link linkend="control-structures.while">while</link>
+ </member>
+ <member>
+ <link linkend="language.constants">__FILE__</link>
+ </member>
+ <member>
+ <link linkend="language.constants">__LINE__</link>
+ </member>
+ <member>
+ <link linkend="language.oop.magic-functions">__sleep</link>
+ </member>
+ <member>
+ <link linkend="language.oop.magic-functions">__wakeup</link>
+ </member>
+ </simplelist>
</para>
</appendix>
Index: phpdoc/it/faq/general.xml
diff -u phpdoc/it/faq/general.xml:1.5 phpdoc/it/faq/general.xml:1.6
--- phpdoc/it/faq/general.xml:1.5 Tue Dec 18 10:40:01 2001
+++ phpdoc/it/faq/general.xml Wed Dec 19 04:47:21 2001
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- EN-Revision: 1.16 Maintainer: cortesi Status: ready -->
+<!-- EN-Revision: 1.17 Maintainer: cortesi Status: ready -->
<chapter id="faq.general">
<title>Informazioni Generali</title>
<titleabbrev>Informazioni Generali</titleabbrev>
Index: phpdoc/it/features/persistent-connections.xml
diff -u phpdoc/it/features/persistent-connections.xml:1.7
phpdoc/it/features/persistent-connections.xml:1.8
--- phpdoc/it/features/persistent-connections.xml:1.7 Wed Dec 12 15:51:45 2001
+++ phpdoc/it/features/persistent-connections.xml Wed Dec 19 04:47:23 2001
@@ -1,114 +1,137 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- EN-Revision: 1.7 Maintainer: cortesi Status: ready -->
-
+<!-- EN-Revision: 1.1 7 Maintainer: cortesi Status: ready -->
<chapter id="features.persistent-connections">
<title>Connessioni Persistenti ai Database</title>
<simpara>
Connessioni persistenti sono collegamenti SQL che non vengono chiusi quando
- l'esecusione di uno script viene terminata. Quando è richiesta una
connessione
- persistente, PHP controlla se esiste già una identica connessione
persistente
- (che è rimasta aperta da prima) - e se esiste, la
+ l'esecusione di uno script viene terminata. Quando � richiesta una connessione
+ persistente, PHP controlla se esiste gi� una identica connessione persistente
+ (che � rimasta aperta da prima) - e se esiste, la
usa. Se non esiste, crea il collegamento. Una connessione 'identica'
- è una connessione aperta verso lo stesso host, con
+ � una connessione aperta verso lo stesso host, con
lo stesso username e la stessa password (dove applicabile).
</simpara>
+ <note>
+ <para>
+ Ci sono altre estensioni che permettono di usare connessioni persistenti, ad
+ esempio l'<link linkend="ref.imap">estensione IMAP</link>.
+ </para>
+ </note>
<simpara>
- Chi non ha molta familiarità con il modo in cui lavorano i server web
- e di come essi distribuiscano il carico potrebbero confondere le connessioni
permanenti per ciò
+ Chi non ha molta familiarit� con il modo in cui lavorano i server web
+ e di come essi distribuiscano il carico potrebbero confondere le connessioni
+permanenti per ci�
che esse non sono. In particolare, <emphasis>non</emphasis> danno
- la possibilità di aprire 'sessioni utente' sullo stesso collegamento SQL,
- <emphasis>non</emphasis> danno la possibilità di gestire una transazione in
+ la possibilit� di aprire 'sessioni utente' sullo stesso collegamento SQL,
+ <emphasis>non</emphasis> danno la possibilit� di gestire una transazione in
maniera efficiente e sopratutto non fanno molte altre
cose. Infatti, per essere molto chiari su questo punto,
le connessioni persistenti non hanno <emphasis>nessuna</emphasis>
- funzionalià che non era disponibile con le loro omonime
+ funzionali� che non era disponibile con le loro omonime
non-persistenti.
</simpara>
<simpara>
- Perché?
+ Perch�?
</simpara>
<simpara>
Questo ha a che fare con il modo in cui i server web operano. Ci sono tre modi
- in cui un server web può utilizzare PHP per generare le pagine web.
+ in cui un server web pu� utilizzare PHP per generare le pagine web.
</simpara>
<simpara>
Il primo metodo ` quello di usare il PHP come un "wrapper" (involucro) CGI.
Quando viene
- eseguito in questa modalità, per ogni pagina che viene richiesta al server
web
+ eseguito in questa modalit�, per ogni pagina che viene richiesta al server web
che contenga del codice PHP, viene creata e, alla fine dell'esecuzione, distrutta,
una istanza dell'interprete PHP.
Poiché viene distrutta alla fine di ogni richiesta, qualunque risorsa
- abbia acquisito (come ad esempio un collegamento ad un server di database SQL)
verrà
- anch'essa distrutta. In questo caso, non vi è nessun guadagno nell'usare
+ abbia acquisito (come ad esempio un collegamento ad un server di database SQL)
+verr�
+ anch'essa distrutta. In questo caso, non vi � nessun guadagno nell'usare
le connessioni persistenti -- semplicemente esse non persistono.
</simpara>
<simpara>
- Il secondo, e più popolare, metodo è quello di eseguire il programma
PHP come modulo in un
+ Il secondo, e più popolare, metodo � quello di eseguire il programma PHP
+come modulo in un
server web multiprocesso, cosa che attualmente include solo Apache. Un
server multiprocesso ha tipicamente un processo (il padre) che
coordina un insieme di processi (i suoi figli) che sono quelli che
generano le pagine web. Quando arriva una richiesta da parte di un
- client, questa è passata ad uno dei figli che in quel momento
- non è già occupato a servire un altro client. Questo significa che
quando lo stesso client effettua
- una seconda richiesta al server, esso potrà essere servito da un diverso
processo
+ client, questa � passata ad uno dei figli che in quel momento
+ non � gi� occupato a servire un altro client. Questo significa che quando lo
+stesso client effettua
+ una seconda richiesta al server, esso potr� essere servito da un diverso processo
figlio rispetto a quello della prima volta. In questa situazione, usare una
connessione persistente, permette di stabilire una e una sola connessione
al database SQL per ogni processo figlio, poiché ciascun
processo figlio necessita di collegarsi al database SQL solo la
prima volta che richiama una pagina che ne fa uso. Quando viene richamata
- un'altra pagina che necessita di una connessione al server SQL, essa può
+ un'altra pagina che necessita di una connessione al server SQL, essa pu�
riutilizzare la connessione che lo stesso processo figlio aveva
stabilito in precedenza.
</simpara>
<simpara>
- L'ultimo metodo è quello di usare il PHP come una plug-in per un server web
+ L'ultimo metodo � quello di usare il PHP come una plug-in per un server web
multithread. Attualmente PHP 4 supporta ISAPI, WSAPI e NSAPI (su piattaforma
Windows), i quali permettono di usare PHP come una plug-in sui server web
multithread
- come FastTrack di Netscape, Internet Information Server (IIS) di Microsoft e
- WebSite Pro di O'Reilly. Il comportamento è essenzialmente
+ come FastTrack (iPlanet) di Netscape, Internet Information Server (IIS) di
+Microsoft e
+ WebSite Pro di O'Reilly. Il comportamento � essenzialmente
lo stesso che si ha nel modello multiprocesso descritto prima. Si noti che
- il supporto SAPI non è disponibile in PHP 3.
+ il supporto SAPI non � disponibile in PHP 3.
</simpara>
<simpara>
- Se le connessioni persistenti non hanno nessuna funzionalità aggiuntiva,
perch´
+ Se le connessioni persistenti non hanno nessuna funzionalit� aggiuntiva,
+perch´
usarle?
</simpara>
<simpara>
- La risposta, in questo caso è estremamente semplice: efficienza. Le
connessioni
+ La risposta, in questo caso � estremamente semplice: efficienza. Le connessioni
persistenti sono utili se il carico di lavoro necessario per aprire una
connessione al server SQL
- è alto. Che il carico sia molto alto o meno dipende
+ � alto. Che il carico sia molto alto o meno dipende
da molti fattori. Quali, il tipo di database che si utilizza, il fatto che
esso si trovi sulla stessa macchina sulla quale si trova il server web, quanto
carico di lavoro ha la macchina sulla quale si trova il server SQL, e molte altre
ragioni. Il
- fatto importante è che se il carico di lavoro necessario per aprire le
connessioni è alto, le
+ fatto importante � che se il carico di lavoro necessario per aprire le connessioni
+� alto, le
connessioni persistenti possono aiutare in maniera considerevole. Fanno in modo
che il processo figlio si
colleghi semplicemente una volta durante la sua intera vita, invece di collegarsi
ogni volta che
processa una pagina che richiede una connessione al server SQL.
Questo significa che per ogni figlio che ha aperto una connessione
- persistente, si avrà una nuova connessione persistente aperta verso il
+ persistente, si avr� una nuova connessione persistente aperta verso il
server. Per esempio, se si hanno 20 diversi processi figlio che
eseguono uno script che crea una connessione persistente al server SQL server,
si avranno 20 diverse connessioni al server SQL, una per ogni
figlio.
</simpara>
<simpara>
- Si fa notare, tuttavia, che questo può avere degli svantaggi se si fa uso di
+ Si fa notare, tuttavia, che questo pu� avere degli svantaggi se si fa uso di
un database che ha un limite al numero di connessioni, minore rispetto al numero
delle
connessioni persistenti dei procesi figlio. Se per esempio di usa un database con
16 connessioni simultanee,
- e durante un periodo di intensa attività del web server, 17 processi figlio
- cercano di collegarsi, uno non sarà in grado di farlo. Se nei vostri script
+ e durante un periodo di intensa attivit� del web server, 17 processi figlio
+ cercano di collegarsi, uno non sar� in grado di farlo. Se nei vostri script
ci sono bug che non permettono alle connessioni di chiudersi in maniera regolare
(come ad esempio un loop infinito), un database con sole 32 connessioni
- diventerà rapidamente saturo. Fare riferimento alla documentazione del
database per
+ diventer� rapidamente saturo. Fare riferimento alla documentazione del database per
informazioni su come gestire connessioni abbandonate o inattive.
</simpara>
+ <warning>
+ <simpara>
+ Ci sono un paio di altri caveat da tenere in considerazione quando
+ si usano le connessioni persistenti. Uno � che quando si usa il table
+ locking su una connessione persistente, se lo script, per una qualunque
+ ragione non � in grado di rimuovere il blocco, allora i successivi script che
+useranno
+ la stessa connessione rimarranno bloccati in maniera indefinita e potrebbe essre
+necessario
+ riavviare il server httpd o il server database. Un altro � che
+ quando si usano le transazioni, un transaction block verr� trasferito
+ anche allo script successivo che usa la medesima connessione, se lo script in
+esecuzione
+ termina prima che sia terminato il transaction block. In entrambi i casi, si pu�
+ usare <function>register_shutdown_function</function> per registrare una
+ semplice funzione di pulizia per sbloccare le tabelle o effettuare il roll back
+delle
+ transaczioni. Sarebbe meglio non dover affrontare il problema, semplicemente non
+usando
+ le connessioni persistenti negli script che usano i lock delle tabelle o
+ le transaczioni (si possono comunque usare in altre situazioni).
+ </simpara>
+ </warning>
<simpara>
Sommario importante. Le connessioni persistenti sono state pensate per avere
- una mappatura uno-a-uno con le connessioni di tipo normale. Ciò significa
che si
+ una mappatura uno-a-uno con le connessioni di tipo normale. Ci� significa che si
dovrebbe <emphasis>sempre</emphasis> essere in grado di cambiare una connessione
persistente
con una connessione non-persistente, e che questo non dovrebbe cambiare
- il modo in cui lo script si comporta. <emphasis>Può</emphasis> (e
- probabilmente succederà) cambiare l'efficienza dello script, ma non il suo
+ il modo in cui lo script si comporta. <emphasis>Pu�</emphasis> (e
+ probabilmente succeder�) cambiare l'efficienza dello script, ma non il suo
comportamento!
</simpara>
Index: phpdoc/it/language/constants.xml
diff -u phpdoc/it/language/constants.xml:1.8 phpdoc/it/language/constants.xml:1.9
--- phpdoc/it/language/constants.xml:1.8 Wed Dec 12 15:52:03 2001
+++ phpdoc/it/language/constants.xml Wed Dec 19 04:47:23 2001
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- EN-Revision: 1.22 Maintainer: cortesi Status: ready -->
+<!-- EN-Revision: 1.23 Maintainer: cortesi Status: ready -->
<chapter id="language.constants">
<title>Costanti</title>