cvs: phpdoc-es /features images.xml persistent-connections.xml
| From: | Rafael Martinez | Date: | Thu, 30 May 2002 21:24:49 +0000 |
| Subject: | cvs: phpdoc-es /features images.xml persistent-connections.xml | ||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969346019@lists.php.net to get a copy of this message | ||
rafael Thu May 30 17:24:49 2002 EDT
Modified files:
/phpdoc-es/features persistent-connections.xml images.xml
Log:
Translation updated to PHP 4.x
Index: phpdoc-es/features/persistent-connections.xml diff -u phpdoc-es/features/persistent-connections.xml:1.4 phpdoc-es/features/persistent-connections.xml:1.5 --- phpdoc-es/features/persistent-connections.xml:1.4 Wed Dec 12 15:47:54 2001 +++ phpdoc-es/features/persistent-connections.xml Thu May 30 17:24:49 2002 @@ -11,12 +11,18 @@ Si no existe, crea un enlace. Una conexión 'idéntica' es una conexión que se abrió hacia el mismo "host", con el mismo nombre de usuario y la misma contraseña (donde sea - aplicable).</simpara> - + aplicable). + </simpara> + <note> + <para> + Existen otras extensiones que proporcionan conexiones persistentes, + tal como la <link linkend="ref.imap">extensión IMAP</link> + </para> + </note> <simpara> La gente que no está familiarizada con el modo como trabajan y distribuyen la carga los servidores "web" puede confundir que - persistente significa lo que no es. En particular, ellas + significa conexiones persistentes. En particular, <emphasis>no</emphasis> te dan la habilidad de abrir 'sesiones de usuario' en el mismo enlace SQL, <emphasis>no</emphasis> dan la habilidad de construir una @@ -24,15 +30,18 @@ otras cosas. De hecho, para ser extremadamente claros sobre el tema las conexiones persistentes no te dan <emphasis>ninguna</emphasis> functionalidad que no fuera posible con sus hermanas - no-persistentes.</simpara> + no-persistentes. + </simpara> <simpara> - ¿Por qué?</simpara> + ¿Por qué? + </simpara> <simpara> Esto tiene que ver con el modo como funcionan los servidores "web". Hay tres modos en que un servidor "web" puede utilizar PHP para generar - páginas web.</simpara> + páginas web. + </simpara> <simpara> El primer método es usar PHP como una capa CGI. Cuando corre @@ -41,7 +50,8 @@ a tu servidor. Debido a que se destruye después de cada petición, cualquier recurso que adquiera (como un enlace a un servidor de base de datos SQL) se cierra cuando es destruido. En - este caso, no se gana nada si se intentan usar conexiones persistentes. + este caso, no se gana nada si se intentan usar conexiones persistentes, + ya que simplemente no persisten. </simpara> <simpara> @@ -53,7 +63,7 @@ páginas web. Cuando entra cada petición de un cliente, es entregada a uno de los hijos que no esté ya sirviendo a otro cliente. Esto significa que cuando el mismo cliente hace una - segunda petción al servidor, puede ser atendidp por un proceso + segunda petción al servidor, puede ser atendido por un proceso hijo distinto del de la primera vez. Lo que una conexión persistente hace por ti en este caso es hacerlo de tal modo que cada proceso hijo sólo necesita conectar a tu SQL server la primera vez que sirve @@ -66,12 +76,13 @@ El último método es usar PHP como un "plug-in" para un servidor web multihilo. En la actualidad es solamente teórico -- PHP no funciona aún como "plug-in" para ningún servidor - web multihilo. Hay trabajo en progreso para soportar ISAPI, WSAPI y - NSAPI (en Windows), lo cual permitirá a PHP ser utilizado como + web multihilo. Actualmente PHP 4 soporta ISAPI, WSAPI y + NSAPI (en Windows), lo cual permite a PHP ser utilizado como "plug-in" para servidores web multihilo como Netscape FastTrack, Internet Information Server (IIS) de Microsoft, y O'Reilly's WebSite Pro. - Cuando esto ocurra, el comportamiento será exactamente el mismo - que para el modelo de multiprocesador descrito anteriormente.</simpara> + El comportamiento es exactamente el mismo que para el modelo de + multiprocesador descrito anteriormente. Tener en cuanta que el soporte + para SAPI no está disponible en PHP 3.</simpara> <simpara> Si las conexiones persistentes no aportan ninguna funcionalidad @@ -94,12 +105,45 @@ Por ejemplo, si tienes 20 procesos hijos distintos que corran un archivo de comandos que cree una conexión persistente a tu servidor SQL, tendrías 20 conexiones diferentes a ti servidor - SQL, una por cada hijo.</simpara> + SQL, una por cada hijo. + </simpara> + + <simpara> + No obstante, hay que tener en cuenta que esto puede tener desventajas + si estais utilizando una base de datos con límites de conexión, por debajo + del numero de procesos hijo con conexiones persistentes. Si + tu base de datos tiene un límite de 16 conexiones simultaneas y en + el curso de una sesión de servidor, 17 procesos hijo intentan conectarse, + uno de ellos no podrá hacerlo. Si existen errores en los scripts, que + no permitan terminar la conexion (p.ej.bucles infinitos), una base + de datos con solo 32 conexiones puede ser rápidamente hundida. Comprobar + la documentacion de vuestra base de datos para obtener información sobre + que hacer con conexiones abandonadas ó libres. + </simpara> + <warning> + <simpara> + Un par de advertencias más a tener en cuenta cuando utiliceis + conexiones persistentes. La primera, si utilizais bloqueos + en una tabla desde una conexión persistente y por cualquier + causa el script no puede desbloquear la tabla, todos los scripts + posteriores que usen esta conexión, quedarán bloqueados indefinídamente + y se requerirá que, ó bien el servidor httpd ó la base de datos sean + arrancados de nuevo. + La segunda, cuando utiliceis transacciones. Un bloqueo por transacción + será heredado por el próximo script usando la conección, si la ejecución del + primer script termina antes que el bloqueo. en anbos caso podeis + utilizar <function>register_shutdown_function</function> para registrar + una funcion simple de limpieza que desbloquee las tablas ó deshaga + la transacción. Lo mejor para evitar problemas es no usar + conexiones persistentes en scripts que usen bloqueos de tablas ó + transacciones (para todolo demás pueden ser usadas sin problemas) + </simpara> + </warning> <simpara> Un resumen importante. Las conexiones persistentes fueron diseñadas para tener una equivalencia uno-a-uno con las conexiones normales. - Eso significa que deberís <emphasis>siempre</emphasis> ser capaz + Eso significa que deberíais <emphasis>siempre</emphasis> ser capaz de reemplazar las conexiones persistentes por conexiones no persistentes y no cambiará, el modo como se comporta el archivo de comandos. <emphasis>Puede</emphasis> cambiar la eficiencia del archivo de comandos @@ -124,4 +168,7 @@ sgml-local-catalogs:nil sgml-local-ecat-files:nil End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 --> Index: phpdoc-es/features/images.xml diff -u phpdoc-es/features/images.xml:1.4 phpdoc-es/features/images.xml:1.5 --- phpdoc-es/features/images.xml:1.4 Wed Dec 12 15:47:54 2001 +++ phpdoc-es/features/images.xml Thu May 30 17:24:49 2002 @@ -1,35 +1,42 @@ <?xml version="1.0" encoding="iso-8859-1"?> <chapter id="features.images"> - <title>Creando imágenes GIF</title> + <title>Creando y manipulando imágenes</title> <simpara> - PHP no está limitado a crear solo salidas de HTML. Puede ser usado - también para crear ficheros de imágenes GIF, o incluso mejor - secuencias de imágenes GIF. Necesitará compilar PHP con la libreria - de funciones de imágenes GD para esta tarea. + PHP no está limitado a crear solo salidas de HTML. + Puede ser usado también para crear y manipular + ficheros de imágenes en diferentes formatos, incluyendo + gif, png, jpg, wbmp, y xpm. PHP puede incluso mandar flujos de imágenes + directamente al navegador. Necesitais compilar PHP con la biblioteca de + funciones de imágenes GD para esta tarea. GD y PHP puede que + necesiten otras bibliotecas, dependiendo del formato de imagen con + el que querais trabajar. GD dejo de soportar imagenes Gif en la versión 1.6. </simpara> <para> <example> - <title>Creación de GIFs con PHP</title> + <title>Creación de PNGs con PHP</title> <programlisting role="php"> -<?php - Header("Content-type: image/gif"); +<![CDATA[ +<?php + Header("Content-type: image/png"); $string=implode($argv," "); - $im = imagecreatefromgif("images/button1.gif"); + $im = ImageCreateFromPng("images/button1.png"); $orange = ImageColorAllocate($im, 220, 210, 60); $px = (imagesx($im)-7.5*strlen($string))/2; ImageString($im,3,$px,9,$string,$orange); - ImageGif($im); + ImagePng($im); ImageDestroy($im); ?> +]]> </programlisting> </example> - Este ejemplo será llamado desde una página con una línea como esta: + + Este ejemplo será llamado desde una página con una línea como esta: <imgsrc="button.php3?text"> Este script de arriba button.php3 toma esta cadena "text" la situa - sobre la imagen base, en este caso es "images/button1.gif" + sobre la imagen base, en este caso es "images/button1.png" y muestra la imagen resultante. Esta es una forma muy conveniente para evitar tener que dibujar un nuevo botón cada vez que quiera cambiar el texto del mismo. Con este método los botones son @@ -53,4 +60,7 @@ sgml-local-catalogs:nil sgml-local-ecat-files:nil End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 -->
Index: phpdoc-es/features/persistent-connections.xml diff -u phpdoc-es/features/persistent-connections.xml:1.4 phpdoc-es/features/persistent-connections.xml:1.5 --- phpdoc-es/features/persistent-connections.xml:1.4 Wed Dec 12 15:47:54 2001 +++ phpdoc-es/features/persistent-connections.xml Thu May 30 17:24:49 2002 @@ -11,12 +11,18 @@ Si no existe, crea un enlace. Una conexión 'idéntica' es una conexión que se abrió hacia el mismo "host", con el mismo nombre de usuario y la misma contraseña (donde sea - aplicable).</simpara> - + aplicable). + </simpara> + <note> + <para> + Existen otras extensiones que proporcionan conexiones persistentes, + tal como la <link linkend="ref.imap">extensión IMAP</link> + </para> + </note> <simpara> La gente que no está familiarizada con el modo como trabajan y distribuyen la carga los servidores "web" puede confundir que - persistente significa lo que no es. En particular, ellas + significa conexiones persistentes. En particular, <emphasis>no</emphasis> te dan la habilidad de abrir 'sesiones de usuario' en el mismo enlace SQL, <emphasis>no</emphasis> dan la habilidad de construir una @@ -24,15 +30,18 @@ otras cosas. De hecho, para ser extremadamente claros sobre el tema las conexiones persistentes no te dan <emphasis>ninguna</emphasis> functionalidad que no fuera posible con sus hermanas - no-persistentes.</simpara> + no-persistentes. + </simpara> <simpara> - ¿Por qué?</simpara> + ¿Por qué? + </simpara> <simpara> Esto tiene que ver con el modo como funcionan los servidores "web". Hay tres modos en que un servidor "web" puede utilizar PHP para generar - páginas web.</simpara> + páginas web. + </simpara> <simpara> El primer método es usar PHP como una capa CGI. Cuando corre @@ -41,7 +50,8 @@ a tu servidor. Debido a que se destruye después de cada petición, cualquier recurso que adquiera (como un enlace a un servidor de base de datos SQL) se cierra cuando es destruido. En - este caso, no se gana nada si se intentan usar conexiones persistentes. + este caso, no se gana nada si se intentan usar conexiones persistentes, + ya que simplemente no persisten. </simpara> <simpara> @@ -53,7 +63,7 @@ páginas web. Cuando entra cada petición de un cliente, es entregada a uno de los hijos que no esté ya sirviendo a otro cliente. Esto significa que cuando el mismo cliente hace una - segunda petción al servidor, puede ser atendidp por un proceso + segunda petción al servidor, puede ser atendido por un proceso hijo distinto del de la primera vez. Lo que una conexión persistente hace por ti en este caso es hacerlo de tal modo que cada proceso hijo sólo necesita conectar a tu SQL server la primera vez que sirve @@ -66,12 +76,13 @@ El último método es usar PHP como un "plug-in" para un servidor web multihilo. En la actualidad es solamente teórico -- PHP no funciona aún como "plug-in" para ningún servidor - web multihilo. Hay trabajo en progreso para soportar ISAPI, WSAPI y - NSAPI (en Windows), lo cual permitirá a PHP ser utilizado como + web multihilo. Actualmente PHP 4 soporta ISAPI, WSAPI y + NSAPI (en Windows), lo cual permite a PHP ser utilizado como "plug-in" para servidores web multihilo como Netscape FastTrack, Internet Information Server (IIS) de Microsoft, y O'Reilly's WebSite Pro. - Cuando esto ocurra, el comportamiento será exactamente el mismo - que para el modelo de multiprocesador descrito anteriormente.</simpara> + El comportamiento es exactamente el mismo que para el modelo de + multiprocesador descrito anteriormente. Tener en cuanta que el soporte + para SAPI no está disponible en PHP 3.</simpara> <simpara> Si las conexiones persistentes no aportan ninguna funcionalidad @@ -94,12 +105,45 @@ Por ejemplo, si tienes 20 procesos hijos distintos que corran un archivo de comandos que cree una conexión persistente a tu servidor SQL, tendrías 20 conexiones diferentes a ti servidor - SQL, una por cada hijo.</simpara> + SQL, una por cada hijo. + </simpara> + + <simpara> + No obstante, hay que tener en cuenta que esto puede tener desventajas + si estais utilizando una base de datos con límites de conexión, por debajo + del numero de procesos hijo con conexiones persistentes. Si + tu base de datos tiene un límite de 16 conexiones simultaneas y en + el curso de una sesión de servidor, 17 procesos hijo intentan conectarse, + uno de ellos no podrá hacerlo. Si existen errores en los scripts, que + no permitan terminar la conexion (p.ej.bucles infinitos), una base + de datos con solo 32 conexiones puede ser rápidamente hundida. Comprobar + la documentacion de vuestra base de datos para obtener información sobre + que hacer con conexiones abandonadas ó libres. + </simpara> + <warning> + <simpara> + Un par de advertencias más a tener en cuenta cuando utiliceis + conexiones persistentes. La primera, si utilizais bloqueos + en una tabla desde una conexión persistente y por cualquier + causa el script no puede desbloquear la tabla, todos los scripts + posteriores que usen esta conexión, quedarán bloqueados indefinídamente + y se requerirá que, ó bien el servidor httpd ó la base de datos sean + arrancados de nuevo. + La segunda, cuando utiliceis transacciones. Un bloqueo por transacción + será heredado por el próximo script usando la conección, si la ejecución del + primer script termina antes que el bloqueo. en anbos caso podeis + utilizar <function>register_shutdown_function</function> para registrar + una funcion simple de limpieza que desbloquee las tablas ó deshaga + la transacción. Lo mejor para evitar problemas es no usar + conexiones persistentes en scripts que usen bloqueos de tablas ó + transacciones (para todolo demás pueden ser usadas sin problemas) + </simpara> + </warning> <simpara> Un resumen importante. Las conexiones persistentes fueron diseñadas para tener una equivalencia uno-a-uno con las conexiones normales. - Eso significa que deberís <emphasis>siempre</emphasis> ser capaz + Eso significa que deberíais <emphasis>siempre</emphasis> ser capaz de reemplazar las conexiones persistentes por conexiones no persistentes y no cambiará, el modo como se comporta el archivo de comandos. <emphasis>Puede</emphasis> cambiar la eficiencia del archivo de comandos @@ -124,4 +168,7 @@ sgml-local-catalogs:nil sgml-local-ecat-files:nil End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 --> Index: phpdoc-es/features/images.xml diff -u phpdoc-es/features/images.xml:1.4 phpdoc-es/features/images.xml:1.5 --- phpdoc-es/features/images.xml:1.4 Wed Dec 12 15:47:54 2001 +++ phpdoc-es/features/images.xml Thu May 30 17:24:49 2002 @@ -1,35 +1,42 @@ <?xml version="1.0" encoding="iso-8859-1"?> <chapter id="features.images"> - <title>Creando imágenes GIF</title> + <title>Creando y manipulando imágenes</title> <simpara> - PHP no está limitado a crear solo salidas de HTML. Puede ser usado - también para crear ficheros de imágenes GIF, o incluso mejor - secuencias de imágenes GIF. Necesitará compilar PHP con la libreria - de funciones de imágenes GD para esta tarea. + PHP no está limitado a crear solo salidas de HTML. + Puede ser usado también para crear y manipular + ficheros de imágenes en diferentes formatos, incluyendo + gif, png, jpg, wbmp, y xpm. PHP puede incluso mandar flujos de imágenes + directamente al navegador. Necesitais compilar PHP con la biblioteca de + funciones de imágenes GD para esta tarea. GD y PHP puede que + necesiten otras bibliotecas, dependiendo del formato de imagen con + el que querais trabajar. GD dejo de soportar imagenes Gif en la versión 1.6. </simpara> <para> <example> - <title>Creación de GIFs con PHP</title> + <title>Creación de PNGs con PHP</title> <programlisting role="php"> -<?php - Header("Content-type: image/gif"); +<![CDATA[ +<?php + Header("Content-type: image/png"); $string=implode($argv," "); - $im = imagecreatefromgif("images/button1.gif"); + $im = ImageCreateFromPng("images/button1.png"); $orange = ImageColorAllocate($im, 220, 210, 60); $px = (imagesx($im)-7.5*strlen($string))/2; ImageString($im,3,$px,9,$string,$orange); - ImageGif($im); + ImagePng($im); ImageDestroy($im); ?> +]]> </programlisting> </example> - Este ejemplo será llamado desde una página con una línea como esta: + + Este ejemplo será llamado desde una página con una línea como esta: <imgsrc="button.php3?text"> Este script de arriba button.php3 toma esta cadena "text" la situa - sobre la imagen base, en este caso es "images/button1.gif" + sobre la imagen base, en este caso es "images/button1.png" y muestra la imagen resultante. Esta es una forma muy conveniente para evitar tener que dibujar un nuevo botón cada vez que quiera cambiar el texto del mismo. Con este método los botones son @@ -53,4 +60,7 @@ sgml-local-catalogs:nil sgml-local-ecat-files:nil End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 -->