From f44371a2db033fdc5ff3a4723bea98e7cfab2974 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Napur=C3=AD?= Date: Mon, 11 Nov 2024 16:29:38 -0500 Subject: [PATCH] Sync docs with EN for doc-en PRs --- features/commandline.xml | 5 +- install/unix/apache2.xml | 6 +- install/unix/nginx.xml | 52 +- install/windows/apache2.xml | 49 +- language/exceptions.xml | 539 ++-- language/functions.xml | 45 +- language/oop5/basic.xml | 42 +- language/oop5/inheritance.xml | 16 +- language/oop5/properties.xml | 12 +- language/oop5/serialization.xml | 2 +- language/predefined/arrayaccess.xml | 1 + language/predefined/iteratoraggregate.xml | 1 + language/predefined/serializable.xml | 1 + language/types/declarations.xml | 4 +- language/wrappers/audio.xml | 6 +- language/wrappers/expect.xml | 6 +- reference/dir/functions/chdir.xml | 14 +- reference/ds/ds/queue/jsonserialize.xml | 21 +- .../enchant-dict-add-to-personal.xml | 86 +- .../enchant/functions/enchant-dict-add.xml | 114 + reference/filesystem/functions/fgetss.xml | 3 +- reference/filesystem/functions/mkdir.xml | 60 +- reference/gearman/examples.xml | 3 +- reference/gmp/gmp.xml | 54 +- reference/image/functions/imageantialias.xml | 19 +- reference/image/functions/imagecolormatch.xml | 10 +- reference/image/functions/imagefilter.xml | 44 +- reference/image/functions/imagexbm.xml | 7 +- reference/imagick/book.xml | 7 +- reference/imagick/imagick/identifyimage.xml | 17 +- reference/intl/locale-constants.xml | 3 +- reference/intl/numberformatter-constants.xml | 43 +- reference/mysqlinfo/set.xml | 48 +- reference/mysqlnd/stats.xml | 2655 ++++++++++------- reference/oci8/dtrace.xml | 10 +- reference/oci8/taf.xml | 15 +- reference/oci8/testing.xml | 10 +- reference/pdo_cubrid/reference.xml | 478 +-- .../spl/directoryiterator/getextension.xml | 6 +- reference/spl/seekableiterator.xml | 3 +- reference/spl/splfileinfo/getextension.xml | 6 +- reference/strings/functions/substr.xml | 87 +- reference/yaf/tutorials.xml | 104 +- 43 files changed, 2688 insertions(+), 2026 deletions(-) create mode 100644 reference/enchant/functions/enchant-dict-add.xml diff --git a/features/commandline.xml b/features/commandline.xml index a7f3d661c..8b4e41791 100644 --- a/features/commandline.xml +++ b/features/commandline.xml @@ -1,6 +1,6 @@ - + @@ -460,11 +460,12 @@ $ php -c /directorio/propio/fichero-propio.ini mi_script.php de configuración permitidas en &php.ini;. Ésta es la sintaxis: + Ejemplo de usar <literal>-d</literal> para establecer una configuración INI - + SetHandler application/x-httpd-php ]]> - - + + O, si se deseara permitir que ficheros .php, .php2, .php3, .php4, .php5, .php6, y diff --git a/install/unix/nginx.xml b/install/unix/nginx.xml index 395d5c6a6..79f07284e 100644 --- a/install/unix/nginx.xml +++ b/install/unix/nginx.xml @@ -46,13 +46,13 @@ Obtener y desempaquetar el código fuente de PHP: - + - + @@ -63,7 +63,7 @@ tar zxf php-x.x.x se realiza una configuración sencilla con soporte para PHP-FPM y MySQL. - + - + @@ -80,7 +80,7 @@ sudo make install Obtener y mover los ficheros de configuración a sus ubicaciones correctas - + - + @@ -106,25 +106,25 @@ cp sapi/fpm/php-fpm /usr/local/bin Cargar el php.ini: - + - + Localizar cgi.fix_pathinfo= y modificarla como sigue: - + - + @@ -133,19 +133,19 @@ cgi.fix_pathinfo=0 www-data y el grupo www-data antes de poder iniciar el servicio: - + - + Buscar y modificar lo siguiente: - + - + Ahora se puede iniciar el servicio de php-fpm: - + - + Esta guía no continua configurando php-fpm; si se tiene interés en @@ -180,20 +180,20 @@ group = www-data Ahora Nginx debe configurarse para que pueda procesar aplicaciones de PHP: - + - + Modificar el bloque de ubicaciones predeterminado para que intente servir ficheros .php: - + - + El siguiente paso es asegurarse de que los ficheros .php se pasan al @@ -210,7 +210,7 @@ location / { comentado, añadir lo siguiente: - + - + Reiniciar Nginx. - + - + @@ -243,14 +243,14 @@ sudo /usr/local/nginx/sbin/nginx Crear un fichero de prueba - + " >> /usr/local/nginx/html/index.php ]]> - + Ahora, navegar a http://localhost. phpinfo() debería mostrarse. diff --git a/install/windows/apache2.xml b/install/windows/apache2.xml index b33fe6c43..c58319501 100644 --- a/install/windows/apache2.xml +++ b/install/windows/apache2.xml @@ -1,6 +1,6 @@ - + @@ -42,6 +42,12 @@ Instalación como un controlador de Apache + + + Cuando se utiliza apache2handler SAPI, se debe utilizar la versión + Thread Safe (TS) de PHP. + + Para cargar el módulo PHP en Apache 2.x las siguientes líneas en el fichero de configuración &httpd.conf; de Apache deben ser añadidas: @@ -49,9 +55,11 @@ PHP y Apache 2.x como controlador + SetHandler application/x-httpd-php + # configure the path to php.ini PHPIniDir "C:/php" ]]> @@ -60,37 +68,13 @@ PHPIniDir "C:/php" - Recuerde, la ruta real de PHP debe sustituirse por + La ruta real de PHP debe sustituirse por C:/php/ en los ejemplos anteriores. - Asegúrese que el fichero al que hace referencia en la directiva LoadModule + Asegúrese que el fichero al que hace referencia en la directiva LoadModule está en la ubicación especificada, y utilize php7apache2_4.dll para PHP 7, o php8apache2_4.dll para PHP 8. - - The above configuration will enable PHP handling of any file that has a - .php extension, even if there are other file extensions. For example, a - file named example.php.txt will be executed by the - PHP handler. To ensure that only files that end in - .php are executed, use the following configuration - instead: - - La configuración anterior permitirá el manejo de PHP de cualquier fichero que - contenga la extensión .php, incluso si hay otras extensiones de fichero. Por ejemplo, - el fichero llamado example.php.txt será ejecutado por el - controlador PHP. Para garantizar que solo se ejecuten los ficheros que terminen en - .php, utilice la siguiente configuración: - - - - - - SetHandler application/x-httpd-php - -]]> - - @@ -142,6 +126,7 @@ PHPIniDir "C:/php" Configure su servidor web como se muestra a continuación, teniendo cuidado de ajustar cualquier ruta que reflejen la forma en que ha instalado las cosas en su sistema particular: + Configurar Apache para ejecutar PHP como FastCGI @@ -149,7 +134,9 @@ PHPIniDir "C:/php" LoadModule fcgid_module modules/mod_fcgid.so # ¿Dónde está el fichero php.ini? FcgidInitialEnv PHPRC "c:/php" -AddHandler fcgid-script .php + + SetHandler fcgid-script + FcgidWrapper "c:/php/php-cgi.exe" .php ]]> diff --git a/language/exceptions.xml b/language/exceptions.xml index 3284d3392..b0421a490 100644 --- a/language/exceptions.xml +++ b/language/exceptions.xml @@ -1,9 +1,324 @@ - + Excepciones + + PHP tiene un modelo de excepciones similar al de otros lenguajes de programación. + Una excepción puede ser lanzada ("&throw;n"), y atrapada ("&catch;ed") dentro de + PHP. El código puede estar dentro de un bloque &try; para facilitar la captura + de excepciones potenciales. Cada bloque &try; debe tener al menos un + bloque &catch; o &finally; correspondiente. + + + Si se lanza una excepción y el alcance de la función actual no tiene un bloque &catch;, + la excepción "subirá" por la pila de llamadas hasta encontrar un bloque &catch; + que coincida. Todos los bloques &finally; que encuentre en el camino se ejecutarán. + Si la pila de llamadas se desenrolla hasta el alcance global sin encontrar un bloque &catch; + coincidente, el programa terminará con un error fatal, a menos que se haya + configurado un manejador de excepciones global. + + + El objeto lanzado debe ser un &instanceof; Throwable. + Intentar lanzar un objeto que no lo sea resultará en un error fatal de PHP. + + + A partir de PHP 8.0.0, la palabra clave &throw; es una expresión y puede usarse en cualquier + contexto de expresión. En versiones anteriores, era una declaración y debía estar en su propia línea. + + + + <literal>catch</literal> + + Se pueden usar múltiples bloques &catch; para atrapar diferentes clases de + excepciones. La ejecución normal (cuando no es lanzada ninguna excepción dentro del bloque + &try;) continuará después del último bloque &catch; definido en la sencuencia. + Las excepciones pueden ser lanzadas ("&throw;n") (o relanzadas) dentro de un bloque &catch;. + + + Cuando una excepción es lanzada, el código siguiente a la declaración no será + ejecutado, y PHP intentará encontrar el primer bloque &catch; coincidente. + Si una excepción no es capturada, se emitirá un Error Fatal de PHP con un + mensaje "Uncaught Exception ..." ("Excepción No Capturada"), a menos que se haya + definido un manejador con set_exception_handler. + + + + + <literal>finally</literal> + + En PHP y posterior, se puede utilizar un bloque &finally; después o + en lugar de los bloques &catch;. El código de dentro del bloque &finally; siempre se + ejecutará después de los bloques &try; y &catch;, independientemente de que se haya + lanzado una excepción o no, y antes de que la ejecución normal continúe. + + + + + Manejador global de excepciones + + Si se permite que una excepción suba hasta el alcance global, puede ser capturada + por un manejador global de excepciones si está configurado. La función set_exception_handler + puede establecer una función que será llamada en lugar de un bloque &catch; si no se invoca + ningún otro bloque. El efecto es esencialmente el mismo que si todo el programa + estuviera envuelto en un bloque &try;-&catch; con esa función como el &catch;. + + + + + &reftitle.notes; + + + + Las funciones internas de PHP utilizan principalmente la + Información de Errores, sólo las extensiones + Orientadas a objetos + modernas utilizan excepciones. Sin embargo, los errores se pueden traducir a + excepciones simplemente con ErrorException. + + + Convertir el informe de errores a excepciones + + +]]> + + + + + + La Biblioteca Estándar de PHP (SPL) proporciona + una buena cantidad de excepciones integradas. + + + + + + &reftitle.examples; + + + Lanzar una Excepción + +getMessage(), "\n"; +} + +// Continuar la ejecución +echo 'Hola Mundo\n'; +?> +]]> + + &example.outputs; + + + + + + Manejo de excepciones con un bloque <literal>finally</literal> + +getMessage(), "\n"; +} finally { + echo "Primer finally.\n"; +} + +try { + echo inverse(0) . "\n"; +} catch (Exception $e) { + echo 'Excepción capturada: ', $e->getMessage(), "\n"; +} finally { + echo "Segundo finally.\n"; +} + +// Continuar ejecución +echo 'Hola Mundo\n'; +?> +]]> + + &example.outputs; + + + + + + Interaction between the &finally; block and &return; + + +]]> + + &example.outputs; + + + + + + Excepciones anidadas + +getMessage()); + } + } +} + +$foo = new Prueba; +$foo->probar(); + +?> +]]> + + &example.outputs; + + + + + + Multi catch exception handling + +testing(); + +?> +]]> + + &example.outputs; + + + + + + Omitting the caught variable + Only permitted in PHP 8.0.0 and later. + + +]]> + + + + Throw as an expression + Only permitted in PHP 8.0.0 and later. + +getMessage(); +} +?> +]]> + + + Ampliar las Excepciones @@ -63,7 +378,7 @@ class Exception - Extender la clase Exception (PHP 5.3.0+) + Extender la clase Exception ]]> - - - Las versiones de PHP 5, anteriores a PHP 5.3.0, no soportan excepciones anidadas. - El siguiente fragmento de código se puede usar para reemplazar la clase MiExcepción - si se desea ejecutar este ejemplo. - - -code}]: {$this->message}\n"; - } - - public function funciónPersonalizada() { - echo "Una función personalizada para este tipo de excepción\n"; - } -} -?> -]]> - - - - - - PHP 5 tiene un modelo de excepciones similar al de otros lenguajes de programación. - Una excepción puede ser lanzada ("&throw;n"), y atrapada ("&catch;ed") dentro de - PHP. El código puede estar dentro de un bloque &try; para facilitar la captura - de excepciones potenciales. Cada bloque &try; debe tener al menos un - bloque &catch; o &finally; correspondiente. - - - - El objeto lanzado debe ser una instancia de la - clase Exception o una subclase de - Exception. Intentar lanzar un objeto que no lo sea - resultará en un Error Fatal de PHP. - - - - - <literal>catch</literal> - - Se pueden usar múltiples bloques &catch; para atrapar diferentes clases de - excepciones. La ejecución normal (cuando no es lanzada ninguna excepción dentro del bloque - &try;) continuará después del último bloque &catch; definido en la sencuencia. - Las excepciones pueden ser lanzadas ("&throw;n") (o relanzadas) dentro de un bloque &catch;. - - - Cuando una excepción es lanzada, el código siguiente a la declaración no será - ejecutado, y PHP intentará encontrar el primer bloque &catch; coincidente. - Si una excepción no es capturada, se emitirá un Error Fatal de PHP con un - mensaje "Uncaught Exception ..." ("Excepción No Capturada"), a menos que se haya - definido un manejador con set_exception_handler. - - - - - <literal>finally</literal> - - En PHP 5.5 y posterior, se puede utilizar un bloque &finally; después o - en lugar de los bloques &catch;. El código de dentro del bloque &finally; siempre se - ejecutará después de los bloques &try; y &catch;, independientemente de que se haya - lanzado una excepción o no, y antes de que la ejecución normal continúe. - - - - - &reftitle.notes; - - - - Las funciones internas de PHP utilizan principalmente la - Información de Errores, sólo las extensiones - Orientadas a objetos - modernas utilizan excepciones. Sin embargo, los errores se pueden traducir a - excepciones simplemente con ErrorException. - - - - - La Biblioteca Estádar de PHP (SPL) proporciona - un buen número de excepciones - internas. - - - - - - &reftitle.examples; - - - Lanzar una Excepción - -getMessage(), "\n"; -} -// Continuar la ejecución -echo 'Hola Mundo\n'; -?> -]]> - - &example.outputs; - - - - - - Manejo de excepciones con un bloque <literal>finally</literal> - -getMessage(), "\n"; -} finally { - echo "Primer finally.\n"; -} - -try { - echo inverse(0) . "\n"; -} catch (Exception $e) { - echo 'Excepción capturada: ', $e->getMessage(), "\n"; -} finally { - echo "Segundo finally.\n"; -} - -// Continuar ejecución -echo 'Hola Mundo\n'; -?> -]]> - - &example.outputs; - - - - - - Excepciones anidadas - -getMessage()); - } - } -} - -$foo = new Prueba; -$foo->probar(); - -?> -]]> - - &example.outputs; - - - - - + - - - Serialización de objetos serialización de objetos - objetos en sesiones + Serialización de objetos La función serialize devuelve un string que contiene diff --git a/language/predefined/arrayaccess.xml b/language/predefined/arrayaccess.xml index 13c9f427f..a4c18dd65 100644 --- a/language/predefined/arrayaccess.xml +++ b/language/predefined/arrayaccess.xml @@ -37,6 +37,7 @@
+ &reftitle.examples; Uso básico diff --git a/language/predefined/iteratoraggregate.xml b/language/predefined/iteratoraggregate.xml index 9ca26b761..29440baee 100644 --- a/language/predefined/iteratoraggregate.xml +++ b/language/predefined/iteratoraggregate.xml @@ -41,6 +41,7 @@
+ &reftitle.examples; Uso básico diff --git a/language/predefined/serializable.xml b/language/predefined/serializable.xml index e338203ad..bd779b33c 100644 --- a/language/predefined/serializable.xml +++ b/language/predefined/serializable.xml @@ -57,6 +57,7 @@
+ &reftitle.examples; Uso básico diff --git a/language/types/declarations.xml b/language/types/declarations.xml index 478265446..8bb4cf4d3 100644 --- a/language/types/declarations.xml +++ b/language/types/declarations.xml @@ -137,7 +137,7 @@ - + - + diff --git a/language/wrappers/audio.xml b/language/wrappers/audio.xml index b249ed0dd..1346fbbde 100644 --- a/language/wrappers/audio.xml +++ b/language/wrappers/audio.xml @@ -1,6 +1,6 @@ - + @@ -169,10 +169,6 @@ - - &reftitle.examples; - - - + @@ -93,10 +93,6 @@ - - &reftitle.examples; - - - + @@ -84,6 +84,18 @@ echo getcwd() . "\n"; &reftitle.notes; + + + Si el intérprete de PHP ha sido compilado con ZTS (Seguridad de Hilos Zend) habilitada, + cualquier cambio en el directorio actual realizado mediante chdir + será invisible para el sistema operativo. Todas las funciones integradas de PHP + seguirán respetando el cambio en el directorio actual; pero las funciones de bibliotecas externas + llamadas mediante FFI no lo harán. Puedes + saber si la copia de PHP fue compilada con ZTS habilitada usando + php -i o la constante incorporada + PHP_ZTS. + + diff --git a/reference/ds/ds/queue/jsonserialize.xml b/reference/ds/ds/queue/jsonserialize.xml index 93d51776b..a356fb0e0 100644 --- a/reference/ds/ds/queue/jsonserialize.xml +++ b/reference/ds/ds/queue/jsonserialize.xml @@ -1,7 +1,7 @@ - - + + @@ -10,14 +10,15 @@ - - Veáse JsonSerializable::jsonSerialize - - - - Nunca debería necesitar llamar esta función directamente. - - + &reftitle.description; + + Veáse JsonSerializable::jsonSerialize + + + + Nunca debería necesitar llamar esta función directamente. + + diff --git a/reference/enchant/functions/enchant-dict-add-to-personal.xml b/reference/enchant/functions/enchant-dict-add-to-personal.xml index 17bf4d1ac..364b25913 100644 --- a/reference/enchant/functions/enchant-dict-add-to-personal.xml +++ b/reference/enchant/functions/enchant-dict-add-to-personal.xml @@ -1,87 +1,25 @@ - - + + enchant_dict_add_to_personal - Añadir una palabra a una lista personal de palabras + &Alias; enchant_dict_add - - &reftitle.description; - - voidenchant_dict_add_to_personal - resourcedict - stringword - - - Añade una palabra a una lista personal de palabras del diccionario dado. - - - - &reftitle.parameters; - - - - dict - - - Recurso de diccionario - - - - - word - - - La palabra a añadir - - - - - - - - &reftitle.returnvalues; - - &return.success; - - - - - - Añadir una palabra a un PWL - - + &warn.deprecated.alias-8-0-0; + -enchant_broker_free($broker); - -?> -]]> - - - - - - &reftitle.seealso; - - - enchant_broker_request_pwl_dict - enchant_broker_request_dict - - + + &reftitle.description; + + &info.function.alias; + enchant_dict_add. + - + + + + + enchant_dict_add + Add a word to personal word list + + + &reftitle.description; + + voidenchant_dict_add + EnchantDictionarydictionary + stringword + + + Añadir una palabra a la lista de palabras personalizadas del diccionario dado. + + + + &reftitle.parameters; + + + &enchant.param.dictionary; + + word + + + La palabra a añadir + + + + + + + + &reftitle.returnvalues; + + &return.success; + + + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + &enchant.changelog.dictionary-param; + + + + + + + &reftitle.examples; + + Agregar una palabra a una PWL + + +]]> + + + + + + &reftitle.seealso; + + + enchant_broker_request_pwl_dict + enchant_broker_request_dict + + + + + diff --git a/reference/filesystem/functions/fgetss.xml b/reference/filesystem/functions/fgetss.xml index 894431034..4d4ef6cbc 100644 --- a/reference/filesystem/functions/fgetss.xml +++ b/reference/filesystem/functions/fgetss.xml @@ -1,6 +1,6 @@ - + @@ -73,6 +73,7 @@ + &reftitle.examples; Leer un archivo PHP línea a línea diff --git a/reference/filesystem/functions/mkdir.xml b/reference/filesystem/functions/mkdir.xml index 7db79adb8..ee8bef49a 100644 --- a/reference/filesystem/functions/mkdir.xml +++ b/reference/filesystem/functions/mkdir.xml @@ -1,6 +1,6 @@ - + @@ -12,13 +12,13 @@ &reftitle.description; boolmkdir - stringpathname - intmode0777 + stringdirectory + intpermissions0777 boolrecursive&false; - resourcecontext + resourcenullcontext&null; - Intenta crear el directorio especificado por pathname. + Intenta crear el directorio especificado por directory. @@ -27,15 +27,16 @@ - pathname + directory La ruta del directorio. + &tip.fopen-wrapper; - mode + permissions El modo predeterminado es 0777, lo que significa el acceso más amplio @@ -44,7 +45,7 @@ - mode es ignorado en Windows. + permissions es ignorado en Windows. @@ -59,8 +60,8 @@ recursive - Permite la creación de directorios anidados especificado en el - parámetro pathname. + Si el valor es &true;, entonces cualquier directorio padre del directorio especificado + en el parámetro directory también será creado, con los mismos permisos. @@ -79,13 +80,33 @@ &return.success; + + + Si el directorio a crear ya existe, se considerará un error + y se devolverá &false;. Utilice is_dir o + file_exists para comprobar si el directorio ya existe + antes de intentar crearlo. + + + + + + &reftitle.errors; + + Emite un error de nivel E_WARNING si el directorio + ya existe. + + + Emite un error de nivel E_WARNING si los permisos + relevantes impiden crear el directorio. + &reftitle.examples; - Ejmplo de <function>mkdir</function> + Ejemplo de <function>mkdir</function> - - &reftitle.errors; - - Emite un error de nivel E_WARNING si el directorio - ya existe. - - - Emite un error de nivel E_WARNING si los permisos - relevantes impiden crear el directorio. - - - - - &reftitle.notes; - - &reftitle.seealso; is_dir rmdir + umask diff --git a/reference/gearman/examples.xml b/reference/gearman/examples.xml index db7890bc9..914f148de 100644 --- a/reference/gearman/examples.xml +++ b/reference/gearman/examples.xml @@ -1,6 +1,6 @@ - + @@ -282,6 +282,7 @@ done!
+ Cliente y trabajador básicos, enviando tareas Cliente y trabajador básicos, enviando tareas diff --git a/reference/gmp/gmp.xml b/reference/gmp/gmp.xml index 353441d69..44969790d 100644 --- a/reference/gmp/gmp.xml +++ b/reference/gmp/gmp.xml @@ -1,6 +1,6 @@ - + @@ -27,21 +27,49 @@
- - GMP - - - - GMP - - - Serializable - - + &reftitle.classsynopsis; + + + + final + GMP + + + &Methods; + + + + + +
+ +
+ &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.4.0 + + GMP ahora está marcado como final. + + + + + +
- + + &reference.gmp.entities.gmp; + - + @@ -11,8 +11,8 @@ &reftitle.description; boolimageantialias - resourceimage - boolenabled + GdImageimage + boolenable Activa los métodos de dibujo rápido con antialias para líneas y polígonos segmentados. @@ -96,19 +96,14 @@ imagedestroy($normal); - - &reftitle.notes; - + &reftitle.seealso; - - - imagecreatetruecolor - - + + imagecreatetruecolor + - - + @@ -80,11 +80,9 @@ imagedestroy($im2); &reftitle.seealso; - - - imagecreatetruecolor - - + + imagecreatetruecolor + diff --git a/reference/image/functions/imagefilter.xml b/reference/image/functions/imagefilter.xml index ec195d99a..4849df6c5 100644 --- a/reference/image/functions/imagefilter.xml +++ b/reference/image/functions/imagefilter.xml @@ -1,6 +1,6 @@ - + @@ -404,20 +404,50 @@ imagedestroy($salida);
+ + + <function>imagefilter</function> scatter example + + +]]> + + &example.outputs.similar; + + Salida del ejemplo: imagefilter() dispersión + + + + + + &reftitle.notes; + + + El resultado de IMG_FILTER_SCATTER siempre es aleatorio. + + &reftitle.seealso; - - - imageconvolution - - + + imageconvolution + - - + @@ -105,11 +105,8 @@ imagedestroy($im); - - &reftitle.notes; - - + - + @@ -15,8 +15,9 @@ Imagick es una extensión nativa de php para crear y modificar imágenes utilizando la API ImageMagick. - +
+ Acerca de ImageMagick ImageMagick es un conjunto de software para crear, editar y componer imágenes de mapa de bits. Puede leer, convertir y escribir imágenes en una variedad de formatos (más de 100) @@ -34,7 +35,7 @@ &reference.imagick.setup; &reference.imagick.constants; &reference.imagick.examples; - + &reference.imagick.imagick; &reference.imagick.imagickdraw; &reference.imagick.imagickpixel; diff --git a/reference/imagick/imagick/identifyimage.xml b/reference/imagick/imagick/identifyimage.xml index a06be4056..e2e9fa255 100644 --- a/reference/imagick/imagick/identifyimage.xml +++ b/reference/imagick/imagick/identifyimage.xml @@ -1,6 +1,6 @@ - + @@ -42,8 +42,16 @@ el ancho, alto, tamaño de la imagen, entre otros. + + + &reftitle.errors; + + &imagick.imagick.throws; + + + &reftitle.examples; Ejemplo de formato resultante @@ -78,13 +86,6 @@ Array - - &reftitle.errors; - - &imagick.imagick.throws; - - - - +
@@ -50,6 +50,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink">
+ Subetiquetas de configuración regional Estas constantes definen cómo se procesan o componen las Configuraciones Regionales. Deberían usarse como claves en el array de argumentos para locale_compose diff --git a/reference/intl/numberformatter-constants.xml b/reference/intl/numberformatter-constants.xml index 67588e585..0fcbfd698 100644 --- a/reference/intl/numberformatter-constants.xml +++ b/reference/intl/numberformatter-constants.xml @@ -1,19 +1,19 @@ - +
&reftitle.constants;
+ Tipos de Formato - Estos estilos son utilzados por la función numfmt_create + Estos estilos son utilizados por la función numfmt_create para definir el tipo del formateador. NumberFormatter::PATTERN_DECIMAL - (integer) Formato decimal definido por un patrón @@ -23,7 +23,6 @@ NumberFormatter::DECIMAL - (integer) Formato decimal @@ -33,7 +32,6 @@ NumberFormatter::CURRENCY - (integer) Formato de moneda @@ -43,7 +41,6 @@ NumberFormatter::PERCENT - (integer) Formato de porcentaje @@ -53,7 +50,6 @@ NumberFormatter::SCIENTIFIC - (integer) Formato científico @@ -73,7 +69,6 @@ NumberFormatter::ORDINAL - (integer) Formato basado en reglas de números ordinales @@ -83,7 +78,6 @@ NumberFormatter::DURATION - (integer) Formato basado en reglas de duración @@ -93,17 +87,27 @@ NumberFormatter::PATTERN_RULEBASED - (integer) Formato basado en reglas definido por un patrón + + + + NumberFormatter::CURRENCY_ACCOUNTING + + + + Formato de moneda para contabilidad, por ejemplo, ($3.00) para cantidades negativas + en lugar de -$3.00. Disponible desde PHP 7.4.1 e ICU 53. + + + NumberFormatter::DEFAULT_STYLE - (integer) Formato predeterminado para la configuración regional @@ -113,7 +117,6 @@ NumberFormatter::IGNORE - (integer) Alias de PATTERN_DECIMAL @@ -121,14 +124,11 @@ - - - -
+ Especificadores de formato de números Estas constantes definen cómo se procesan o formatean los números. Deberían usarse como argumentos de numfmt_format @@ -188,6 +188,7 @@
+ Atributos de formato de números Atributos de formato numérico usados por numfmt_get_attribute @@ -400,8 +401,8 @@
-
+
+ Atributos de texto para el formato de números Atributos de texto de formato numérico utilizados por numfmt_get_text_attribute y @@ -410,7 +411,6 @@ NumberFormatter::POSITIVE_PREFIX - (integer) Prefijo positivo. @@ -420,7 +420,6 @@ NumberFormatter::POSITIVE_SUFFIX - (integer) Sufijo positivo. @@ -430,7 +429,6 @@ NumberFormatter::NEGATIVE_PREFIX - (integer) Prefijo negativo. @@ -499,6 +497,7 @@
+ Especificadores de formato de símbolos Símbolos de formato numérico utilizados por numfmt_get_symbol y numfmt_set_symbol. @@ -687,6 +686,7 @@
+ Modos de Redondeo Los valores del modo de redondeo utilizados por numfmt_get_attribute y numfmt_set_attribute con el @@ -776,6 +776,7 @@
+ Especificadores de Relleno Valores de posición de relleno utilizados por numfmt_get_attribute y numfmt_set_attribute con el diff --git a/reference/mysqlinfo/set.xml b/reference/mysqlinfo/set.xml index 44d436e1d..2ffe01a9a 100644 --- a/reference/mysqlinfo/set.xml +++ b/reference/mysqlinfo/set.xml @@ -2,8 +2,7 @@ - - + Controladores y complementos de MySQL MySQL @@ -15,32 +14,39 @@ Las diferencias y la funcionalidad de las extensiones de MySQL están descritas dentro de la información general de esta sección. + + Las extensiones listadas soportan el protocolo MySQL. + Ejemplos de servidores de bases de datos compatibles son + MariaDB Server, + MySQL Server, + Percona Server for MySQL, + y + TiDB. + Información general de los controladores de MySQL para PHP - + Introducción - - - Dependiendo de la versión de PHP, existen dos o tres API de PHP para acceder a las bases dedatos de MySQL. Los usuarios de PHP 5 pueden elegir entre la extensión - mysql - obsoleta, - mysqli, o - PDO_MySQL. PHP 7 elimina la extensión mysql, dejando solamente las últimas dos opciones. - - - Esta guía explica la - terminología - empleada para describir cada API, información sobre - qué API elegir, y también información para ayudar a elegir - qué biblioteca de MySQL usar - con la API. - - - + + Dependiendo de la versión de PHP, existen dos o tres API de PHP para acceder a las bases dedatos de MySQL. Los usuarios de PHP 5 pueden elegir entre la extensión + mysql + obsoleta, + mysqli, o + PDO_MySQL. PHP 7 elimina la extensión mysql, dejando solamente las últimas dos opciones. + + + Esta guía explica la + terminología + empleada para describir cada API, información sobre + qué API elegir, y también información para ayudar a elegir + qué biblioteca de MySQL usar + con la API. + + Información general de la terminología diff --git a/reference/mysqlnd/stats.xml b/reference/mysqlnd/stats.xml index cbaa3f8ba..3dfc37885 100644 --- a/reference/mysqlnd/stats.xml +++ b/reference/mysqlnd/stats.xml @@ -1,352 +1,358 @@ - - - + + + Estadísticas + - Usar datos estadísticos - - - El Controlador Nativo de MySQL soporta la obtención de estadísticas sobre la + El controlador nativo de MySQL soporta la obtención de estadísticas sobre la comunicación entre el cliente y el servidor. Las estadísticas obtenidas son de dos tipos principales: + + + Estadísticas del cliente + + + Estadísticas de conexión + + - - - - Estadísticas del cliente - - - - - Estadísticas de conexión - - - - Si se está usando la extensión mysqli, estas - estadísticas se pueden obtener a través de dos llamadas a la API: + Si se está usando la extensión mysqli, + estas estadísticas se pueden obtener a través de dos llamadas a la API: + + + mysqli_get_client_stats + + + mysqli_get_connection_stats + + - - - - mysqli_get_client_stats - - - - - mysqli_get_connection_stats - - - + - - Las estadísticas son acumuladas entre todas las extensiones que usan el Controlador Nativo de - MySQL. Por ejemplo, al compilar ext/mysql - y ext/mysqli con el Controlador Nativo de MySQL, las - llamadas a las funciones de ext/mysql y - ext/mysqli cambiarán las estadísticas. No existe ninguna - forma de averiguar cuanto ha impactado una cierta llamada a la API de una extensión que ha - sido compilada con el Controlador Nativo de MySQL en una cierta - estadística. Se puede configurar el Controlador PDO MySQL, - ext/mysql y ext/mysqli para que - opcionalmente usen el Controlador Nativo de MySQL. Cuando se hace esto, las tres - extensiones cambiarán las estadísticas. - + + Las estadísticas son acumuladas entre todas las extensiones que usan + el controlador nativo de MySQL. + Por ejemplo, si la extensión mysqli + y el controlador PDO MySQL están configurados para usar MySQLnd, + entonces las llamadas de función de mysqli + y las llamadas de método de PDO afectarán las estadísticas. + + + No hay forma de averiguar cuánto ha impactado en una estadística determinada + una llamada específica a la API de cualquier extensión que haya sido compilada + contra el controlador nativo de MySQL. + - - Acceder a las estadísticas del cliente - - - Para acceder a las estadísticas del cliente se necesita llamar a - mysqli_get_client_stats. La llamada a la función - no necesita ningún parámetro. - - - La función devuelve un array asociativo que contiene el nombre de - la estadística como clave y los datos de la estadística como valor. - - - A las estadísticas del cliente también se pueden acceder llamando a la - función phpinfo. - - - Acceder a las estadísticas de conexión - - - Para acceder a las estadísticas de conexión se ha de llamar a - mysqli_get_connection_stats. Esta toma el - gestor de conexión de la base de datos como parámetro. - - - La función devuelve un array asociativo que contiene el nombre de - la estadística como clave y los datos de la estadística como valor. - - - Conjuntos de resultados almacenados y no almacenados en buffer - - - Los conjuntos de resultados puede ser almacenados o no almacenados en buffer. Al usar la configuración predeterminada, - ext/mysql y ext/mysqli trabajan - con conjuntos de resultados almacenados en buffer para consultas normales (sentencia no preparada). - Los conjuntos de resultados almacenados en buffer son almacenados en la caché del cliente. Después de la ejecución - de una consulta, todos los resultados son traidos desde el Servidor MySQL y almacenados en - una caché del cliente. La gran ventaja de los conjuntos de resultados almacenados en buffer es - que permiten al servidor liberar todos los recursos asignados a un conjunto de - resultados, una vez que los resultados han sido obtenidos por el cliente. - - - Por otra parte, los conjuntos de resultados no almacenados en buffer se mantienen mucho más tiempo en el - servidor. server. Si se quiere reducir el consumo de memoria del cliente, aunque - incrementando la carga del servidor, se han de usar conjunto de resultados no almacenados en buffer. Si se experimenta - una alta carga del servidor y las cigras de los conjuntos de resultados no almacenados en buffer son - altas, se debería considerar trasladar la carga a los cliente. Estos - normalmente escalan mejor que los servidores. La carga no solamente - se refiere a los buffers de memoria - el servidor también necesita mantener otros recursos - abiertos, como por ejemplo, gestores de ficheros e hilos, antes de que un conjunto - de resultados sea liberado. - - - Las Sentencias Preparadas usan conjuntos de resultados no almacenados en buffer de manera predeterminada. - Sin embargo, se puede usar mysqli_stmt_store_result para habilitar - los conjuntos de resultados almacenados en buffer. - - - Estadísticas devueltas por el Controlador Nativo de - MySQL - - - Las siguientes tablas muestran una lista de las estadísticas devueltas por las funciones - mysqli_get_client_stats y - mysqli_get_connection_stats. - - - Estadísticas devueltas de mysqlnd: Red - - - - - - - - Estadística - Ámbito - Descripción - Notas - - - - - bytes_sent - Conexión - Número de bytes enviados desde PHP al servidor MySQL - Se puede usar para comprobar la eficiencia del protocolo de compresión - - - bytes_received - Conexión - Número de bytes recibidos desde el servidor MySQL - Se puede usar para comprobar la eficiencia del protocolo de compresión - - - packets_sent - Conexión - Número de paquetes enviados del protocolo Cliente Servidor de MySQL - Usado para la depuración de la implementación del protoclo Cliente Servidor - - - packets_received - Conexión - Número de paquetes recividos del protocolo Cliente Servidor de MySQL - Usado para la depuración de la implementación del protoclo Cliente Servidor - - - protocol_overhead_in - Conexión - Carga adicional de protocolo Cliente Servidor de MySQL en bytes para el tráfico entrante. - Actualmente, sólo el Paquete de Cabecera (4 bytes) se considera como - carga adicional. protocol_overhead_in = packets_received * 4 - Usado para la depuración de la implementación del protoclo Cliente Servidor - - - protocol_overhead_out - Conexión - Carga adicional de protocolo Cliente Servidor de MySQL en bytes para el tráfico saliente. - Actualmente, sólo el Paquete de Cabecera (4 bytes) se considera como - carga adicional. protocol_overhead_out = packets_sent * 4 - Usado para la depuración de la implementación del protoclo Cliente Servidor - - - bytes_received_ok_packet - Conexión - Tamaño total en bytes de los paquetes OK recibidos del protocolo Cliente Servidor de MySQL. - Los paquetes OK pueden contener un mensaje de estado. La longitud del mensaje de - estado puede variar y, por lo tanto, el tamaño del paquete OK no es fijo. - Usado para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - packets_received_ok - Conexión - Número de paquetes OK recibidos del protocolo Cliente Servidor de MySQL. - Usado para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - bytes_received_eof_packet - Conexión - Tamaño total en bytes de los paquetes OEF recibidos del protocolo Cliente Servidor de + +
+ Acceder a las estadísticas del cliente + + + Para acceder a las estadísticas del cliente se necesita llamar a + mysqli_get_client_stats. + + + + Para acceder a las estadísticas de conexión se ha de llamar a + mysqli_get_connection_stats. + + + + Ambas funciones devuelven un array asociativo, + el cual contiene el nombre de la estadística como clave y + los datos de la estadística como valor. + +
+ +
+ MySQL Native Driver Statistics + + Most statistics are associated to a connection, but some are associated + to the process in which case this will be mentioned. + + + + The following statistics are produced by the MySQL Native Driver: + + + + Network Related Statistics + + + bytes_sent + + + Número de bytes enviados desde PHP al servidor MySQL + + + + + + bytes_received + + + Número de bytes recibidos desde el servidor MySQL. + + + + + + packets_sent + + + Número de paquetes enviados del protocolo Cliente Servidor de MySQL. + + + + + + packets_received + + + Número de paquetes recividos del protocolo Cliente Servidor de MySQL. + + + + + + protocol_overhead_in + + + Carga adicional de protocolo Cliente Servidor de MySQL en bytes para el tráfico entrante. + Actualmente, sólo el Paquete de Cabecera (4 bytes) se considera como carga adicional. + protocol_overhead_in = packets_received * 4 + + + + + + protocol_overhead_out + + + Carga adicional de protocolo Cliente Servidor de MySQL en bytes para el tráfico saliente. + Actualmente, sólo el Paquete de Cabecera (4 bytes) se considera como carga adicional. + protocol_overhead_out = packets_received * 4 + + + + + + bytes_received_ok_packet + + + Tamaño total en bytes de los paquetes OK recibidos del protocolo Cliente Servidor de MySQL. + Los paquetes OK pueden contener un mensaje de estado. + La longitud del mensaje de estado puede variar y, por lo tanto, el tamaño del + paquete OK no es fijo. + + + + El tamaño total en bytes incluye el tamaño del paquete de cabecera + (4 bytes, véase la carga adicional del protocolo - protocol_overhead_). + + + + + + + packets_received_ok + + + Número de paquetes OK recibidos del protocolo Cliente Servidor de MySQL. + + + + + + bytes_received_eof_packet + + + Tamaño total en bytes de los paquetes OEF recibidos del protocolo Cliente Servidor de MySQL. EOF puede variar de tamaño dependiendo de la versión del servidor. - También, EOF puede transportar un mensaje de error. - Usado para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - packets_received_eof - Conexión - Número de paquetes EOF del del protocolo Cliente Servidor de MySQL. Al igual que otras - estadísticias de paquetes, el número de paquetes se incrementará incluso si - PHP no recibe el paquete esperado, sino, por ejemplo, un - mensaje de error. - Usado para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - bytes_received_rset_header_packet - Conexión - Tamaño total en bytes de los paquetes de cabecera de conjuntos de resultados del protocolo Cliente Servidor de - MySQL. El tamaño de los paquetes varía dependiendo de la carga útil + También, EOF puede transportar un mensaje de error. + + + + + + + + + packets_received_eof + + + Número de paquetes EOF del del protocolo Cliente Servidor de MySQL. + + + Al igual que otras estadísticias de paquetes, el número de paquetes se + incrementará incluso si PHP no recibe el paquete esperado, sino, + por ejemplo, un mensaje de error. + + + + + + bytes_received_rset_header_packet + + + Tamaño total en bytes de los paquetes de cabecera de conjuntos de resultados del protocolo Cliente Servidor de + MySQL + El tamaño de los paquetes varía dependiendo de la carga útil (LOAD LOCAL INFILE, INSERT, - UPDATE, SELECT, mensaje - de error). - Usado para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - packets_received_rset_header - Conexión - Número de paquetes de cabecera de conjuntos de resultados del protocolo Cliente Servidor de MySQL. - Usado para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - bytes_received_rset_field_meta_packet - Conexión - Tamaño total en bytes de los paquetes de metadatos (información de campos) de conjuntos de resultados del protocolo - Cliente Servidor de MySQL. Por supuesto, el tamaño total vaía con los - campos del conjunto de resultados. El paquete también puede transportar un error - o un paquete EOF en el caso de COM_LIST_FIELDS. - Solamente útil para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - packets_received_rset_field_meta - Conexión - Número de paquetes de metadatos (información de campos) de conjuntos de resultados del protocolo - Cliente Servidor de MySQL. - Solamente útil para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - bytes_received_rset_row_packet - Conexión - Tamaño total en bytes de los paquetes de datos de fila de conjuntos de resultados del protocolo - Cliente Servidor de MySQL. El paquete también puede transportar un error o un paquete EOF. - Se puede obtener el número de error y los paquetes EOF - restando rows_fetched_from_server_normal - y rows_fetched_from_server_ps de - bytes_received_rset_row_packet. - Solamente útil para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - packets_received_rset_row - Conexión - Número de paquetes de datos de fila de conjuntos de datos del protocolo Cliente Servidor de MySQL y - su tamaño total en bytes. - Solamente útil para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - bytes_received_prepare_response_packet - Conexión - Tamaño total de los paquetes OK para la Inicialización de Sentencias Preparadas del protocolo - Cliente Servidor de MySQL (paquetes init de sentencias - preparadas). El paquete también puede transportar un error. El tamaño del paquete - depende de la versión de: 9 bytes con MySQL 4.1 y 12 bytes - desde MySQL 5.0. No existe una manera segura de conocer cuántos errores han - sucedido. Se puede suponer que ha sucedido un error si, - por ejemplo, si siempre se conecta a MySQL 5.0 o superior y - bytes_received_prepare_response_packet != - packets_received_prepare_response * 12. Véase - también ps_prepared_never_executed, - ps_prepared_once_executed. - Solamente útil para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - packets_received_prepare_response - Conexión - Número de paquetes OK para la Inicialización de Sentencias Preparadas del protocolo - Cliente Servidor de MySQL (paquetes init de sentencias preparadas). - Solamente útil para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - bytes_received_change_user_packet - Conexión - Tamaño total en bytes de los paquetes COM_CHANGE_USER del protocolo Cliente Servidor de - MySQL. El paquete también puede transportar un error o EOF. - Solamente útil para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - packets_received_change_user - Conexión - Número de paquetes COM_CHANGE_USER del protocolo Cliente Servidor de MySQL - Solamente útil para la implementación de protocolo CS. Observe que el tamaño total - en bytes incluye el tamaño del paquete de cabecera (4 bytes, véase - la carga adicional del protocolo - protocol_overhead_*). - - - packets_sent_command - Conexión - Número de comandos enviados del protocolo Cliente Servidor de MySQL desde PHP a MySQL. + UPDATE, SELECT, mensaje de error). + + + + + + + + + packets_received_rset_header + + + Número de paquetes de cabecera de conjuntos de resultados del protocolo Cliente Servidor de MySQL. + + + + + + bytes_received_rset_field_meta_packet + + + Tamaño total en bytes de los paquetes de metadatos (información de campos) + de conjuntos de resultados del protocolo Cliente Servidor de MySQL. + Por supuesto, el tamaño total vaía con los campos del conjunto de resultados. + El paquete también puede transportar un error o un paquete EOF en el caso de + COM_LIST_FIELDS. + + + + + + + + + packets_received_rset_field_meta + + + Número de paquetes de metadatos (información de campos) de + conjuntos de resultados del protocolo Cliente Servidor de MySQL. + + + + + + bytes_received_rset_row_packet + + + Tamaño total en bytes de los paquetes de datos de fila de conjuntos + de resultados del protocolo Cliente Servidor de MySQL. + El paquete también puede transportar un error o un paquete EOF. + Se puede obtener el número de error y los paquetes EOF restando + rows_fetched_from_server_normal + y rows_fetched_from_server_ps + de bytes_received_rset_row_packet. + + + + + + + + + packets_received_rset_row + + + Número de paquetes de datos de fila de conjuntos de datos del protocolo Cliente Servidor de MySQL y + su tamaño total en bytes. + + + + + + bytes_received_prepare_response_packet + + + Tamaño total de los paquetes OK para la Inicialización de Sentencias Preparadas + del protocolo Cliente Servidor de MySQL (paquetes init de sentencias preparadas). + El paquete también puede transportar un error. + El tamaño del paquete depende de la versión de MySQL. + + + + + + + + + packets_received_prepare_response + + + Número de paquetes OK para la Inicialización de Sentencias Preparadas + del protocolo Cliente Servidor de MySQL (paquetes init de sentencias preparadas) + + + + + + bytes_received_change_user_packet + + + Tamaño total en bytes de los paquetes COM_CHANGE_USER del protocolo Cliente Servidor de MySQL. + El paquete también puede transportar un error o EOF. + + + + + + + + + packets_received_change_user + + + Número de paquetes COM_CHANGE_USER del protocolo Cliente Servidor de MySQL. + + + + + + packets_sent_command + + + Número de comandos enviados del protocolo Cliente Servidor de MySQL desde PHP a MySQL. + + No hay forma de conocer los comandos específicos ni cuántos - han sido enviados. En el mejor de los casos, se puede usar para comprobar si PHP - ha enviado cualquier comando a MySQL para saber si se puede considerar - deshabilitar el soporte para MySQL en el binario de PHP. Tampoco hay forma de - obtener el número de errores que pueden haber ocurrido mientras - se envían datos a MySQL. El único error que se registra es - command_buffer_too_small (véase abajo). - Solamente útil para la implementación de protocolo CS. - - - bytes_received_real_data_normal - Conexión - Número de bytes de carga útil obtenidos por el cliente de PHP desde - mysqlnd usando el protocolo de texto. - Es el tamaño de los datos reales contenidos en conjuntos de resultados que no + han sido enviados. + + + + + + bytes_received_real_data_normal + + + Número de bytes de carga útil obtenidos por el cliente de PHP desde + mysqlnd usando el protocolo de texto. + + + Es el tamaño de los datos reales contenidos en conjuntos de resultados que no son originados desde sentencias preparadas y que han sido obtenidos por - el cliente de PHP. Observe que aunque un conjunto de resultados completo puede haber sido + el cliente de PHP. + + + Observe que aunque un conjunto de resultados completo puede haber sido obtenido desde MySQL por mysqlnd, esta estadística únicamente cuenta los datos reales obtenidos desde mysqlnd por - el cliente de PHP. Un ejemplo de una secuencia de código que incrementará - el valor es el siguiente: + el cliente de PHP. + + + Un ejemplo de una secuencia de código que incrementará el valor es el siguiente: fetch_assoc(); $res->close(); ]]> - - Cada operación de obtención incrementará el valor. - - - - La estadística no se incrementará si el conjunto de resultados sólo se almancena - en buffer en el cliente, pero no se obtiene, como en el siguiente - ejemplo: - + Cada operación de obtención incrementará el valor. + + + La estadística no se incrementará si el conjunto de resultados sólo se almancena + en buffer en el cliente, pero no se obtiene, como en el siguiente ejemplo: query("SELECT 'abc'"); $res->close(); ]]> - - Esta estadística está disponible a partir de la versión 5.3.4 de PHP. - - - - bytes_received_real_data_ps - Conexión - Número de bytes de la carga útil obtenida por el cliente de PHP desde - mysqlnd usando el protocolo de sentencias preparadas. - Es el tamaño de los datos reales contenidos en conjuntos de resultados que no + + + + + + bytes_received_real_data_ps + + + Número de bytes de la carga útil obtenida por el cliente de PHP desde + mysqlnd usando el protocolo de sentencias preparadas. + + + Es el tamaño de los datos reales contenidos en conjuntos de resultados que no son originados desde sentencias preparadas y que han sido obtenidos por - el cliente de PHP. El valor no será incrementado si el conjunto de resultados - no es leído subsiguientemente por el cliente de PHP. Observe que aunque un - un conjunto de resultados completo puede haber sido obtenido desde MySQL por - mysqlnd, esta estadística únicamente cuenta los datos reales - obtenidos desde mysqlnd por el cliente de PHP. Véase también - bytes_received_real_data_normal. Esta estadística - está disponible a partir de la versión 5.3.4 de PHP. - -
- -
- - Conjuntos de Resultados - - - Estadísticas devueltas de mysqlnd: Conjunto de Resultados - - - - - - - - Estadística - Ámbito - Descripción - Notas - - - - - result_set_queries - Conexión - Número de consultas que han generado un conjunto de resultados. Ejemplos de consultas - que generan un conjunto de resultados: SELECT, - SHOW. La estadística no será incrementada si - hay un error al leer el paquete de cabecera del conjunto de resultados desde la - línea. - Se puede usar como una medida indirecta del número de consultas que PHP ha - enviado a MySQL, por ejemplo, para identificar un cliente que causa una - carga alta de base de datos. - - - non_result_set_queries - Conexión - Número de consultas que no generan un conjunto de resultados. Ejemplos de - consultas que no generan un conjunto de resultados: - INSERT, UPDATE, - LOAD DATA, SHOW. La - estadística no será incrementada si hay un error al leer el - paquete de cabecera del conjunto de resultados desde la línea. - Se puede usar como una medida indirecta del número de consultas que PHP ha - enviado a MySQL, por ejemplo, para identificar un cliente que causa una - carga alta de base de datos. - - - no_index_used - Conexión - Número de consultas que ha generado un conjunto de resultados pero que no usan un - índice (véase también la opción de inicio de mysqld - –log-queries-not-using-indexes). Si se desea que estas consultas sean - reportadas, se puede usar mysqli_report(MYSQLI_REPORT_INDEX) para hacer que - ext/mysqli lance una excepción. Si se prefiere una advertencia en lugar de - una excepción, use mysqli_report(MYSQLI_REPORT_INDEX ^ - MYSQLI_REPORT_STRICT). - - - - bad_index_used - Conexión - Número de consultas que han generado un conjunto de resultados y que no usan un - índice bueno (véase también la opción de inicio de mysqld –log-slow-queries). - Si se desea que estas consultas sean reportadas, se puede usar - mysqli_report(MYSQLI_REPORT_INDEX) para hacer que ext/mysqli lance una - excepción. Si se prefiere que se emita una advertencia en lugar de una excepción, use - mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT) - - - slow_queries - Conexión - Senetencias SQL que toman más de long_query_time + el cliente de PHP. + + + El valor no será incrementado si el conjunto de resultados + no es leído subsiguientemente por el cliente de PHP. + + + Observe que aunque un un conjunto de resultados completo puede haber sido obtenido desde MySQL + por mysqlnd, esta estadística únicamente cuenta los datos reales + obtenidos desde mysqlnd por el cliente de PHP. + + + Véase también bytes_received_real_data_normal. + + + + + + + Result Set Related Statistics + + + result_set_queries + + + Número de consultas que han generado un conjunto de resultados. + Ejemplos de consultas que generan un conjunto de resultados: + SELECT, SHOW. + + + La estadística no será incrementada si hay un error al leer + el paquete de cabecera del conjunto de resultados desde la línea. + línea + + + + Esta estadística puede ser usada como una medida indirecta del número de + consultas que PHP ha enviado a MySQL, + Esto podría ayudar a identificar un cliente que causa una alta carga en la base de datos. + + + + + + + non_result_set_queries + + + Número de consultas que no generan un conjunto de resultados. + Ejemplos de consultas que no generan un conjunto de resultados: + INSERT, UPDATE, LOAD DATA. + + + La estadística no será incrementada si hay un error al leer el + paquete de cabecera del conjunto de resultados desde la línea. + + + + + + + + + no_index_used + + + Número de consultas que ha generado un conjunto de resultados pero que no usan un índice. + (véase también la opción de inicio de mysqld --log-queries-not-using-indexes). + + + + Si se desea que estas consultas sean reportadas, se puede usar + mysqli_report(MYSQLI_REPORT_INDEX);. + Si se prefiere una advertencia en lugar de una excepción, use + mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT);. + + + + + + + bad_index_used + + + Número de consultas que han generado un conjunto de resultados y que no usan un índice bueno + (Véase también la opción de inicio de inicio de mysql --log-slow-queries). + + + + + + + + + slow_queries + + + Senetencias SQL que toman más de long_query_time segundos para ejecutarse y que requieren al menos - min_examined_row_limit filas para ser examinadas. - No reportadas a través de mysqli_report - - - buffered_sets - Conexión - Número de conjuntos de resultados almacenados en buffer mediante consultas - normales. Normal significa sentencia no - preparada en las siguientes notas. - Ejemplos de llamada a la API que almacenarán en buffer conjuntos de resultados en el cliente: - mysql_query, - mysqli_query, - mysqli_store_result, - mysqli_stmt_get_result. Al almacenar en buffer conjuntos de resultados - en el cliente se asegura que los recursos del servidor sean liberados tan pronto como sea - posible y hace que el desplazamiento del conjunto de resultados sea más sencillo. El inconveniente es - el consumo adicional de memoria en el cliente para almacenar en buffer - datos. Observe que mysqlnd (a diferencia de la Biblioteca Cliente de MySQL) respeta - el límite de memoria de PHP debido a que utiliza las funciones de gestión de memoria - internas de PHP para asignar memoria. Ésta también es la razón - de por qué memory_get_usage informa de un consumo de - memoria al usar mysqlnd en lugar de la Bliblioteca Cliente de - MySQL. memory_get_usage no mide en absoluto - el consumo de memoria de la Bliblioteca Cliente de MySQL debido a que - ¡la Biblioteca Cliente de MySQL no usa las funciones de gestión de memoria - internas de PHP monitorizadas por la función! - - - unbuffered_sets - Conexión - Número de conjuntos de resultados no almacenados en buffer devueltos por consultas - normales (sentencia no preparada). - Ejemplos de llamadas a la API que no almacenan en buffer conjuntos de resultados en el clilente: - mysqli_use_result - - - ps_buffered_sets - Conexión - Número de conjuntos de resultados almacenados en buffer devueltos por sentencias preparadas. Por - defecto, las sentencias preparadas no se almacenan en buffer. - Ejemplos de llamadas a la API que no almacenarán en buffer conjuntos de resultados en el cliente: - mysqli_stmt_store_result - - - ps_unbuffered_sets - Conexión - Número de conjuntos de resultados no almacenados en buffer devueltos por sentencias preparadas. - Por defecto, las sentencias preparadas no se almacenan en buffer. - - - flushed_normal_sets - Conexión - Número de conjuntos de resultados de consultas normales (sentencia no preparada) con - datos no leídos que han sido volcados de manera silenciosa. El volcado - sucede solamente con conjuntos de resultados no almacenados en buffer. - Los conjuntos de resultados no almacenados en buffer deben ser obtenidos completamente antes de que una nueva consulta - pueda ser ejecutada en la conexión, si no, MySQL lanzará un error. Si - la aplicación no obtiene todas las filas de un conjunto de resultados no almacenado en - buffer, mysqlnd obtendrá implícitamente el conjunto de resultados para limpiar la - línea. Véase también rows_skipped_normal, - rows_skipped_ps. Algunas posibles causas de un - volcado implícito: - - - - Aplicación cliente defectuosa - - - - - El cliente para de leer después de que encuentre que lo que estaba buscando, - pero ha hecho que MySQL calcule más registros que los necesarios - - - - - La aplicación cliente se ha detenido de improviso - - - - - - flushed_ps_sets - Conexión - Número de conjuntos de resultados de sentencias preparadas con datos no leídos que - han sido volcados de forma silenciosa. El volcado sucede solamente con - conjuntos de resultados no almacenados en buffer. - Los conjuntos de resultados no almacenados en buffer deben ser obtenidos completamente antes de que una nueva consulta - pueda ser ejecutada en la conexión, si no, MySQL lanzará un error. Si - la aplicación no obtiene todas las filas de un conjunto de resultados no almacenado en - buffer, mysqlnd obtendrá implícitamente el conjunto de resultados para limpiar la - línea. Véase también rows_skipped_normal, - rows_skipped_ps. Algunas posibles causas de un - volcado implícito: - - - - Aplicación cliente defectuosa - - - - - El cliente para de leer después de que encuentre que lo que estaba buscando, - pero ha hecho que MySQL calcule más registros que los necesarios - - - - - La aplicación cliente se ha detenido de improviso - - - - - - ps_prepared_never_executed - Conexión - Número de sentencias preparadas pero nunca ejecutadas. - Las sentencias preparadas ocupan recursos del servidor. No se debería preparar una - sentencia si no se planea ejecutarla. - - - ps_prepared_once_executed - Conexión - Número de sentencias preparadas ejecutadas una única vez. - Una de las ideas detrás de las sentencias preparadas es que la misma consulta se - ejecuta una y otra vez (con diferentes parámetros) y así se puede - ahorrar algo de análisis y otros trabajos de preparación, si la ejecución - de la sentencia se divide en diferentes fases de preparación y ejecución. La - idea es preparar una vez y almacenar en caché los resultados, por - ejemplo, el árbol de análisis a ser reutilizado durante la ejecución de sentencias - múltiples. Si se ejecuta una sentencia prearada una sola vez, los dos - procesamientos de las fases pueden ser ineficientes comparados con - consultas normales, ya que todo el almacenamiento en caché significa trabajo - extra y toma recursos (limitados) del servidor para mantener la información almacenada - en caché. Consecuentemente, las sentencias preparadas que son ejecutadas - una sola vez pueden causar daños al rendimiento. - - - rows_fetched_from_server_normal, - rows_fetched_from_server_ps - Conexión - Número total de conjuntos de resultados obtenidos con éxito de MySQL - sin considerar si la aplicación cliente los ha consumido o no. + min_examined_row_limit filas para ser examinadas. + + + + No reportadas a través de mysqli_report. + + + + + + + buffered_sets + + + Número de conjuntos de resultados almacenados en buffer mediante consultas normales + (es decir, no a través de una sentencia preparada). + + + Ejemplos de llamadas a la API que almacenarán en búfer conjuntos de resultados en el cliente: + + mysqli_query + mysqli_store_result + mysqli_stmt_get_result + + + + + + + unbuffered_sets + + + Número de conjuntos de resultados no almacenados en buffer devueltos por consultas + normales (sentencia no preparada). + + + Ejemplos de llamadas a la API que no almacenan en buffer conjuntos de resultados en el cliente: + + mysqli_use_result + + + + + + + ps_buffered_sets + + + Número de conjuntos de resultados almacenados en buffer devueltos por sentencias preparadas. + + + Ejemplos de llamadas a la API que no almacenarán en buffer conjuntos de resultados en el cliente: + + mysqli_stmt_store_result + + + + + + + ps_unbuffered_sets + + + Número de conjuntos de resultados no almacenados en buffer devueltos por sentencias preparadas. + + + Por defecto, las sentencias preparadas no se almacenan en buffer, + por lo que la mayoría de las sentencias preparadas se contabilizarán en esta estadística. + + + + + + flushed_normal_sets + + + Número de conjuntos de resultados de consultas normales + (sentencia no preparada) con + datos no leídos que han sido volcados de manera silenciosa. + + + + + El volcado sucede solamente con conjuntos de resultados no almacenados en buffer + + + Los conjuntos de resultados no almacenados en buffer deben ser obtenidos completamente antes de que una nueva consulta + pueda ser ejecutada en la conexión, si no, MySQL lanzará un error. Si + la aplicación no obtiene todas las filas de un conjunto de resultados no almacenado en + buffer, mysqlnd obtendrá implícitamente el conjunto de resultados para limpiar la línea. + + + Véase también rows_skipped_normal, rows_skipped_ps. + + + Algunas posibles causas de un volcado implícito: + + + + Aplicación cliente defectuosa + + + + + El cliente para de leer después de que encuentre que lo que estaba buscando, + pero ha hecho que MySQL calcule más registros que los necesarios + + + + + La aplicación cliente se ha detenido de improviso + + + + + + + + + + flushed_ps_sets + + + Número de conjuntos de resultados de sentencias preparadas + con datos no leídos que han sido volcados de forma silenciosa. + + + + + + + + + + ps_prepared_never_executed + + + Número de sentencias preparadas pero nunca ejecutadas. + + + + + + ps_prepared_once_executed + + + Número de sentencias preparadas ejecutadas una única vez + + + + + + rows_fetched_from_server_normal + rows_fetched_from_server_ps + + + Número total de conjuntos de resultados obtenidos con éxito del servidor. + Sin considerar si la aplicación cliente los ha consumido o no. Algunas filas pueden no haber sido obtenidas por la aplicación - cliente aunque hayan sido volcadas implícitamente. - Véase también packets_received_rset_row - - - rows_buffered_from_client_normal, - rows_buffered_from_client_ps - Conexión - Número total de filas almacenadas en buffer con éxito originadas desde una consulta - "normal" o una sentencia preparada. Este es el número de filas que - han sido obtenidas de MySQL y almacenadas en buffer en el cliente. Observe que - existen dos estadísticas distintas de filas que has sido almacenadas en buffer - (MySQL al buffer internto de mysqlnd) y filas almacenadas en buffer que han - sido obtenidas por la aplicación cliente (buffer interno de mysqlnd a - la aplicación cliente). Si el número de filas almacenadas en buffer es mayor que - el número de filas almacenadas en buffer obtenidas, puede significar que la aplicación - cliente ejecuta consultas que originan conjuntos de resultados grandes que necesitan - resultar en filas no leídas por el cliente. - Ejemplos de consultas que almacenarán en buffer resultados: - mysqli_query, - mysqli_store_result - - - rows_fetched_from_client_normal_buffered, - rows_fetched_from_client_ps_buffered - Conexión - Número total de filas obtenidas por el cliente desde un conjunto de resultados almacenado en buffer - creado por una consulta normal o una sentencia preparada. - - - - rows_fetched_from_client_normal_unbuffered, - rows_fetched_from_client_ps_unbuffered - Conexión - Número total de filas obtenidas por el cliente desde un conjunto de resultados no almacenado en buffer - creado por una consulta "normal" o una sentencia no preparada. - - - - rows_fetched_from_client_ps_cursor - Conexión - Número total de filas obtenidas por el cliente desde un cursor creado por una - sentencia preparada. - - - - rows_skipped_normal, - rows_skipped_ps - Conexión - Reservado para un uso futuro (actualmente no soportado) - - - - copy_on_write_saved, - copy_on_write_performed - Proceso - Con mysqlnd, las variables devueltas por las extensiones apuntan a los buffers de resultados + cliente aunque hayan sido volcadas implícitamente. + + + Véase también packets_received_rset_row. + + + + + + rows_buffered_from_client_normal + + + Total number of buffered rows originating from a normal query. + Número total de filas almacenadas en buffer con éxito originadas desde una consulta + "normal". + + + Este es el número de filas que han sido obtenidas de MySQL y almacenadas en buffer en el cliente. + + + Ejemplos de consultas que almacenarán en buffer resultados: + + mysqli_query + mysqli_store_result + + + + + + + rows_buffered_from_server_ps + + + Igual que rows_buffered_from_client_normal + pero para sentencias preparadas. + + + + + + rows_fetched_from_client_normal_buffered + + + Número total de filas obtenidas por el cliente desde un conjunto de resultados + almacenado en buffer creado por una consulta normal. + + + + + + rows_fetched_from_client_ps_buffered + + + Número total de filas obtenidas por el cliente desde un conjunto de resultados + almacenado en buffer creado por una consulta preparada. + + + + + + rows_fetched_from_client_normal_unbuffered + + + Número total de filas obtenidas por el cliente desde un conjunto de resultados no almacenado en buffer + creado por una consulta "normal". + + + + + + rows_fetched_from_client_ps_unbuffered + + + Número total de filas obtenidas por el cliente desde un conjunto de resultados no almacenado en buffer + creado por una consulta con sentencia preparada. + + + + + + rows_fetched_from_client_ps_cursor + + + Número total de filas obtenidas por el cliente desde un cursor creado por una + sentencia preparada. + + + + + + + rows_skipped_normal + rows_skipped_ps + + + Reservado para un uso futuro (actualmente no soportado) + + + + + + copy_on_write_saved + copy_on_write_performed + + + This is a process level scope statistic. + + + Con mysqlnd, las variables devueltas por las extensiones apuntan a los buffers de resultados de red internos de mysqlnd. Si no se cambian las variables, los datos obtenidos serán conservados en memoria una sola vez. Si se cambian las variables, mysqlnd tiene que realizar una copia mientras se escribe para @@ -673,402 +763,769 @@ $res->close(); otra en las variables devueltas por las extensiones. En teoría, mysqlnd puede ahorrar hasta un 40% de memoria, Sin embargo, observe que el ahorro de memoria no puede ser medido usando - memory_get_usage. - - - - explicit_free_result, - implicit_free_result - Conexión, Processo (sólo durante la limpieza de sentencias preparadas) - Número de total de conjuntos de resultados liberados. - La liberación es considerada siempres explícita excepto para conjuntos de resultados creados por un - comando init, por ejemplo, - mysqli_options(MYSQLI_INIT_COMMAND , ...) - - - proto_text_fetched_null, - proto_text_fetched_bit, - proto_text_fetched_tinyint - proto_text_fetched_short, - proto_text_fetched_int24, - proto_text_fetched_int - proto_text_fetched_bigint, - proto_text_fetched_decimal, - proto_text_fetched_float - proto_text_fetched_double, - proto_text_fetched_date, - proto_text_fetched_year - proto_text_fetched_time, - proto_text_fetched_datetime, - proto_text_fetched_timestamp - proto_text_fetched_string, - proto_text_fetched_blob, - proto_text_fetched_enum - proto_text_fetched_set, - proto_text_fetched_geometry, - proto_text_fetched_other - Conexión - Número total de columnas de un cierto tipo obtenidas de una consulta normal - (protocolo de texto de MySQL). - Referencia de los tipos de metadatos de la API de C / MySQL para el nombre de la estadística: + memory_get_usage + + + + + + explicit_free_result + implicit_free_result + + + Se trata de una estadística de alcance a nivel de conexión y proceso. + + + Número total de conjuntos de resultados liberados. + + + + + + proto_text_fetched_null + + + Número total de columnas de tipo + MYSQL_TYPE_NULL + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_null + + + Número total de columnas de tipo + MYSQL_TYPE_NULL + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_bit + + + Número total de columnas de tipo + MYSQL_TYPE_BIT + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_bit + + + Número total de columnas de tipo + MYSQL_TYPE_BIT + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_tinyint + + + Número total de columnas de tipo + MYSQL_TYPE_TINY + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_tinyint + + + Número total de columnas de tipo + MYSQL_TYPE_TINY + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_short + + + Número total de columnas de tipo + MYSQL_TYPE_SHORT + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_short + + + Número total de columnas de tipo + MYSQL_TYPE_SHORT + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_int24 + + + Número total de columnas de tipo + MYSQL_TYPE_INT24 + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_int24 + + + Número total de columnas de tipo + MYSQL_TYPE_INT24 + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_int + + + Número total de columnas de tipo + MYSQL_TYPE_LONG + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_int + + + Número total de columnas de tipo + MYSQL_TYPE_LONG + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_bigint + + + Número total de columnas de tipo + MYSQL_TYPE_LONGLONG + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_bigint + + + Número total de columnas de tipo + MYSQL_TYPE_LONGLONG + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_decimal + + + Número total de columnas de tipo + MYSQL_TYPE_DECIMAL, or MYSQL_TYPE_NEWDECIMAL + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_decimal + + + Número total de columnas de tipo + MYSQL_TYPE_DECIMAL, or MYSQL_TYPE_NEWDECIMAL + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_float + + + Número total de columnas de tipo + MYSQL_TYPE_FLOAT + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_float + + + Número total de columnas de tipo + MYSQL_TYPE_FLOAT + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_double + + + Número total de columnas de tipo + MYSQL_TYPE_DOUBLE + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_double + + + Número total de columnas de tipo + MYSQL_TYPE_DOUBLE + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_date + + + Número total de columnas de tipo + MYSQL_TYPE_DATE, or MYSQL_TYPE_NEWDATE + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_date + + + Número total de columnas de tipo + MYSQL_TYPE_DATE, or MYSQL_TYPE_NEWDATE + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_year + + + Número total de columnas de tipo + MYSQL_TYPE_YEAR + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_year + + + Número total de columnas de tipo + MYSQL_TYPE_YEAR + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_time + + + Número total de columnas de tipo + MYSQL_TYPE_TIME + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_time + + + Número total de columnas de tipo + MYSQL_TYPE_TIME + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_datetime + + + Número total de columnas de tipo + MYSQL_TYPE_DATETIME + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_datetime + + + Número total de columnas de tipo + MYSQL_TYPE_DATETIME + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_timestamp + + + Número total de columnas de tipo + MYSQL_TYPE_TIMESTAMP + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_timestamp + + + Número total de columnas de tipo + MYSQL_TYPE_TIMESTAMP + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_string + + + Número total de columnas de tipo + MYSQL_TYPE_STRING, MYSQL_TYPE_VARSTRING, or MYSQL_TYPE_VARCHAR + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_string + + + Número total de columnas de tipo + MYSQL_TYPE_STRING, MYSQL_TYPE_VARSTRING, or MYSQL_TYPE_VARCHAR + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_blob + + + Número total de columnas de tipo + MYSQL_TYPE_TINY_BLOB, + MYSQL_TYPE_MEDIUM_BLOB, + MYSQL_TYPE_LONG_BLOB, + or MYSQL_TYPE_BLOB + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_blob + + + Número total de columnas de tipo + MYSQL_TYPE_TINY_BLOB, + MYSQL_TYPE_MEDIUM_BLOB, + MYSQL_TYPE_LONG_BLOB, + or MYSQL_TYPE_BLOB + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_enum + + + Número total de columnas de tipo + MYSQL_TYPE_ENUM + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_enum + + + Número total de columnas de tipo + MYSQL_TYPE_ENUM + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_set + + + Número total de columnas de tipo + MYSQL_TYPE_SET + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_set + + + Número total de columnas de tipo + MYSQL_TYPE_SET + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_geometry + + + Número total de columnas de tipo + MYSQL_TYPE_GEOMETRY + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + + + proto_binary_fetched_geometry + + + Número total de columnas de tipo + MYSQL_TYPE_GEOMETRY + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + + + proto_text_fetched_other + + + Número total de columnas de tipo s + MYSQL_TYPE_* + not listed previously + obtenidas de una consulta normal (protocolo de texto de MySQL) + + + + In theory, this should always be 0. + + + + + + + proto_binary_fetched_other + + + Número total de columnas de tipo + MYSQL_TYPE_* + not listed previously + obtenidas de una sentencia preparada (protocolo binario de MySQL) + + + + En teoría, esto debería ser siempre 0. + + + + + + + + + Connection Related Statistics + + + connect_success + + + Número total de intentos de conexión con éxito. + + + + connect_success holds the sum of successful + persistent and non-persistent connection attempts. + Therefore, the number of successful non-persistent connection attempts + is connect_success - pconnect_success. + + + + + + + pconnect_success + + + Número total de intentos de conexión persistente con éxito. + + + + + + connect_failure + + + Número total de intentos de conexión fallidos. + + + + + + reconnect + + + Se trata de una estadística de alcance a nivel de proceso. + + + + + + active_connections + + + Se trata de una estadística de alcance a nivel de proceso. + + + Número total de conexiones persistentes y no persistentes activas. + + + + El número total de conexiones no persistentes activas es + active_connections - active_persistent_connections. + + + + + + + active_persistent_connections + + + Se trata de una estadística de alcance a nivel de proceso. + + + Número de conexiones persistentes activas. + + + + + + explicit_close + + + Número total de conexiones cerradas explícitamente. + + + Ejemplos de trozos de código que causan un cierre explícito - - MYSQL_TYPE_NULL - proto_text_fetched_null - - - - - MYSQL_TYPE_BIT - proto_text_fetched_bit - - - - - MYSQL_TYPE_TINY - proto_text_fetched_tinyint - - - - - MYSQL_TYPE_SHORT - proto_text_fetched_short - - - - - MYSQL_TYPE_INT24 - proto_text_fetched_int24 - - - - - MYSQL_TYPE_LONG - proto_text_fetched_int - - - - - MYSQL_TYPE_LONGLONG - - proto_text_fetched_bigint - - - - - MYSQL_TYPE_DECIMAL, - MYSQL_TYPE_NEWDECIMAL - - proto_text_fetched_decimal - - - - - MYSQL_TYPE_FLOAT - proto_text_fetched_float - - - - - MYSQL_TYPE_DOUBLE - - proto_text_fetched_double - - - - - MYSQL_TYPE_DATE, - MYSQL_TYPE_NEWDATE - proto_text_fetched_date - - - - - MYSQL_TYPE_YEAR - proto_text_fetched_year - - - - - MYSQL_TYPE_TIME - proto_text_fetched_time - - - - - MYSQL_TYPE_DATETIME - - proto_text_fetched_datetime - - - - - MYSQL_TYPE_TIMESTAMP - - proto_text_fetched_timestamp - - - - - MYSQL_TYPE_STRING, - MYSQL_TYPE_VARSTRING, - MYSQL_TYPE_VARCHAR - - proto_text_fetched_string - - - - - MYSQL_TYPE_TINY_BLOB, - MYSQL_TYPE_MEDIUM_BLOB, - MYSQL_TYPE_LONG_BLOB, - MYSQL_TYPE_BLOB - proto_text_fetched_blob - - - - - MYSQL_TYPE_ENUM - proto_text_fetched_enum - - - - - MYSQL_TYPE_SET - proto_text_fetched_set - - - - - MYSQL_TYPE_GEOMETRY - - proto_text_fetched_geometry - + +close(/* ... */); +]]> + - - Todos los MYSQL_TYPE_* no listados antes (no - debería ser ninguno) - proto_text_fetched_other - - - - - Observe que las constantes MYSQL_*-type pueden no estar asociadas con - los mismos tipos de columnas SQL en cada versión de MySQL. - - - - proto_binary_fetched_null, - proto_binary_fetched_bit, - proto_binary_fetched_tinyint - proto_binary_fetched_short, - proto_binary_fetched_int24, - proto_binary_fetched_int, - proto_binary_fetched_bigint, - proto_binary_fetched_decimal, - proto_binary_fetched_float, - proto_binary_fetched_double, - proto_binary_fetched_date, - proto_binary_fetched_year, - proto_binary_fetched_time, - proto_binary_fetched_datetime, - proto_binary_fetched_timestamp, - proto_binary_fetched_string, - proto_binary_fetched_blob, - proto_binary_fetched_enum, - proto_binary_fetched_set, - proto_binary_fetched_geometry, - proto_binary_fetched_other - Conexión - Número total de columnas de un cierto tipo obtenidas desde una sentencia - preparada (protocolo binario de MySQL). - Para la referenciacición de tipos, véase proto_text_* descrito en el - texto anterior. - - - -
- - Estadísticas devueltas de mysqlnd: Conexión - - - - - - - - Estadística - Ámbito - Descripción - Notas - - - - - connect_success, connect_failure - Conexión - Número total de intentos de conexión con éxito/falladas. - Están incluidas las conexiones rechazadas y los demás tipos de conexiones. - - - reconnect - Proceso - Número total de intentos de conexión verdadera (real_) hechas sobre un gestor de conexión - ya abierto. - La secuencia de código $enlace = new mysqli(...); - $enlace->real_connect(...) ocasionará una reconexión. Pero - $link = new mysqli(...); $enlace->connect(...) - no lo hará ya que $enlca->connect(...) - cerrará explícitamente la conexión existente antes de que se establezca una - nueva conexión. - - - pconnect_success - Conexión - Número total de intentos de conexión persistente realizados con éxito. - Observe que connect_success contiene la suma de intentos de - conexión persistente y no persistente realizados con éxito. El número de - intentos de conexión no persistente realizados con éxito es - connect_success - - pconnect_success. - - - active_connections - Conexión - Número total de conexiones persistentes y no persistentes activas. - - - - active_persistent_connections - Conexión - Número de conexiones persistentes activas. - El número total de conexiones no persistentes activas es - active_connections - - active_persistent_connections. - - - explicit_close - Conexión - Número total de conexiones cerradas explícitamente (sólo ext/mysqli). - Ejemplos de trozos de código que causan un cierre explícito : - + close(...) -$enlace = new mysqli(...); $enlace->connect(...) +$link = new mysqli(/* ... */); +$link->connect(/* ... */); ]]> - - - - implicit_close - Conexión - Número total de conexiones cerradas implícitamente (sólo ext/mysqli). - Ejemplos de trozos de código que causan un cierre implícito : + + + + + + + + + implicit_close + + + Número total de conexiones cerradas implícitamente. + + + Ejemplos de trozos de código que causan un cierre implícito - - $enlace = new mysqli(...); - $enlace->real_connect(...) - + +real_connect(/* ... */); +]]> + - - unset($enlace) - + + unset($link) + - + Conexión persistente: conexión almacenada en caché que ha sido creada con real_connect y que puede poseer un conjunto de opciones desconocidas - cerrar implícitamente para evitar devolver una conexión con opciones desconocidas - + - + Conexión persistente: ping/change_user falla y ext/mysqli cierra la conexión - + - - fin de la ejecución de un script: cierra la conexiones que no han sido + + Fin de la ejecución de un script: cierra la conexiones que no han sido cerradas por el usuario - + - - - - disconnect_close - Conexión - Fallos de conexión indicados por la llamada a la API en C de + + + + + + + disconnect_close + + + Fallos de conexión indicados por la llamada a la API en C de mysql_real_connect durante un intento de - establecer una conexión. - Es llamada disconnect_close porque el gestor de - conexión pasado a la llamada a la API en C será cerrado. - - - in_middle_of_command_close - Proceso - Una conexión ha sido cerrada en mitad de la ejecución de un comando + establecer una conexión. + + + + + + in_middle_of_command_close + + + Se trata de una estadística de alcance a nivel de proceso. + + + Una conexión ha sido cerrada en mitad de la ejecución de un comando (conjuntos de resultados pendientes no obtenidos, después de enviar una consulta y antes de obtener una respuesta, mientras se obtienen los datos, mientras - se transfieren datos con LOAD DATA). - A menos que se usen consultas asíncronas, esto únicamente debería ocurrir si el - script se detiene inesperadamente y PHP cierra las conexiones por sí - solo. - - - init_command_executed_count - Conexión - Número totas de ejecuciones de comandos init, por ejemplo, - mysqli_options(MYSQLI_INIT_COMMAND , ...). - El número de ejecuciones realizadas con éxito es - init_command_executed_count - - init_command_failed_count. - - - init_command_failed_count - Conexión - Número total de comnados init fallados. - - - - -
- - Estadísticas devueltas de mysqlnd: Comando COM_* - - - - - - - - Estadística - Ámbito - Descripción - Notas - - - - - com_quit, com_init_db, - com_query, com_field_list, - com_create_db, com_drop_db, - com_refresh, com_shutdown, - com_statistics, - com_process_info, - com_connect, - com_process_kill, com_debug, - com_ping, com_time, - com_delayed_insert, - com_change_user, - com_binlog_dump, - com_table_dump, - com_connect_out, - com_register_slave, - com_stmt_prepare, - com_stmt_execute, - com_stmt_send_long_data, - com_stmt_close, - com_stmt_reset, - com_stmt_set_option, - com_stmt_fetch, com_daemon - Conexión - Número total de intentos de enviar un cierto comando COM_* desde PHP a - MySQL. - + se transfieren datos con LOAD DATA) + + + + A menos que se usen consultas asíncronas, + esto únicamente debería ocurrir si el script se detiene inesperadamente y + PHP cierra las conexiones por sí solo. + + + + + + + init_command_executed_count + + + Número totas de ejecuciones de comandos init. + Por ejemplo: mysqli_options(MYSQLI_INIT_COMMAND , $value). + + + El número de ejecuciones realizadas con éxito es + init_command_executed_count - init_command_failed_count. + + + + + + init_command_failed_count + + + Número total de comnados init fallados. + + + + + + + Estadísticas devueltas de MySQLnd : Comando <literal>COM_*</literal> + + + com_quit + com_init_db + com_query + com_field_list + com_create_db + com_drop_db + com_refresh + com_shutdown + com_statistics + com_process_info + com_connect + com_process_kill + com_debug + com_ping + com_time + com_delayed_insert + com_change_user + com_binlog_dump + com_table_dump + com_connect_out + com_register_slave + com_stmt_prepare + com_stmt_execute + com_stmt_send_long_data + com_stmt_close + com_stmt_reset + com_stmt_set_option + com_stmt_fetch + com_daemon + + + Número total de intentos de enviar un cierto comando COM_* + desde PHP a MySQL. + + Las estadísticas son incrementadas después de comprobar la línea e inmediatamente antes de enviar el paquete de protocolo cliente-servidor de - MySQL correspondiente. Si mysqlnd falla al enviar el paquete sobre el - cable, las estadísticas no serán incrementadas. En case de fallo, - mysqlnd emite una advertencia de PHP Error while sending %s packet. - PID=%d. - + MySQL correspondiente. + + + + Si MySQLnd falla al enviar el paquete sobre el cable, las estadísticas no serán incrementadas. + En case de fallo, MySQLnd emite una advertencia de PHP + Error while sending %s packet. PID=%d. + + - - Ejemplos de uso: - + + Ejemplos de uso @@ -1086,7 +1543,7 @@ $enlace = new mysqli(...); $enlace->connect(...) Comprobar si PHP ha ejecuato cualquier sentencia SQL no preparada - comprobando si COM_QUERY es cero + comprobando si COM_QUERY es cero. @@ -1096,121 +1553,101 @@ $enlace = new mysqli(...); $enlace->connect(...) COM_EXECUTE - - - - -
- - Miscelánea - - - Estadísticas devueltas de mysqlnd: Miscelánea - - - - - - - - Estadística - Ámbito - Descripción - Notas - - - - - explicit_stmt_close, - implicit_stmt_close - Proceso - Número total de sentencias preparadas cerradas. - Un cierre siempre es considerado explícito excepto para una preparación fallida. - - - mem_emalloc_count, - mem_emalloc_ammount, - mem_ecalloc_count, - mem_ecalloc_ammount, - mem_erealloc_count, - mem_erealloc_ammount, - mem_efree_count, - mem_malloc_count, - mem_malloc_ammount, - mem_calloc_count, - mem_calloc_ammount, - mem_realloc_count, - mem_realloc_ammount, - mem_free_count - Proceso - Llamadas de gestión de memoria. - Solamente desarrollo. - - - command_buffer_too_small - Conexión - Número de extensiones de buffer de comandos de red mientras se envían - comando desde PHP a MySQL. - - mysqlnd asigna un buffer de comandos/red interno de - mysqlnd.net_cmd_buffer_size - (php.ini) bytes para cada conexión. Si un - comando del protocolo Cliente Servidor de MySQL, por ejemplo, + + + + + + + + Miscelánea + + + explicit_stmt_close + implicit_stmt_close + + + Se trata de una estadística de alcance a nivel de proceso. + + + Número total de sentencias preparadas cerradas. + + + + Una sentencia preparada siempre se cierra explícitamente. + La única vez que se cierra implícitamente es cuando falla su preparación. + + + + + + + mem_emalloc_count + mem_emalloc_ammount + mem_ecalloc_count + mem_ecalloc_ammount + mem_realloc_count + mem_realloc_ammount + mem_efree_count + mem_malloc_count + mem_malloc_ammount + mem_calloc_count + mem_calloc_ammount + mem_ealloc_count + mem_ealloc_ammount + mem_free_count + + + Se trata de una estadística de alcance a nivel de proceso. + + + Llamadas de gestión de memoria. + + + + + + command_buffer_too_small + + + + Número de extensiones de buffer de comandos de red mientras se envían + comando desde PHP a MySQL. + + + MySQLnd asigna un buffer de comandos/red interno de + mysqlnd.net_cmd_buffer_size + bytes por cada conexión. + + + Si un comando del protocolo Cliente Servidor de MySQL, por ejemplo, COM_QUERY (consulta normal), no se ajusta al - buffer, mysqlnd will aumentará el buffer lo que sea necesario para + buffer, MySQLnd will aumentará el buffer lo que sea necesario para enviar el comando. Siempre que el buffer se extienda para una conexión, command_buffer_too_small será incrementado en uno. - - - - Si mysqlnd tiene que aumentar el buffer más allá de su tamaño inicial de - mysqlnd.net_cmd_buffer_size - (php.ini) bytes para casi todas las conexiones, - se debería considerar aumentar el tamaño predeterminado para evitar - reasignaciones. - - - - El tamaño predeterminado del buffer es de 2048 bytes en PHP 5.3.0. En futuras - versiones, el tamaño predeterminado serán de 4kB o más. Se puede cambiar el valor - predeterminado a través de php.ini estableciendo - mysqlnd.net_cmd_buffer_size o usando - mysqli_options(MYSQLI_OPT_NET_CMD_BUFFER_SIZE, int - tamaño). - + + + Si MySQLnd tiene que aumentar el buffer más allá de su tamaño inicial de + mysqlnd.net_cmd_buffer_size + bytes para casi todas las conexiones, + se debería considerar aumentar el tamaño predeterminado para evitar + reasignaciones. + + + - - Se recomienda establecer el tamaño de buffer a no menos de 4096 - bytes debido a que mysqlnd también lo utiliza al leer ciertos - paquete de comunicación desde MySQL. En PHP 5.3.0, mysqlnd no - aumentará el buffer si MySQL envía un paquete que es más grande que el - tamaño actual del buffer. Como consecuencia, mysqlnd no es capaz de - decodificar el paquete y la aplicación cliente obtendrá un error. - Solamente hay dos situacioines en las que un paquete es más grande que - los 2048 bytes predeterminados de - mysqlnd.net_cmd_buffer_size en PHP 5.3.0: el - paquete transporta un mensaje de error muy grande, o el paquete contiene - los metadatos de columnas de COM_LIST_FIELD - (mysql_list_fields) y los metadatos provienen - de una columna de cadena con un valor predeterminado muy grande (>1900 - bytes). No existe reporte de errores sobre esto - debería ocurrir raramente. - - - - A partir de PHP 5.3.2, mysqlnd no permite establecer buffers menores - que 4096 bytes. - - - - connection_reused - - - - - - -
+ + connection_reused + + + El número total de veces que se ha reutilizado una conexión persistente. + + + + +
- - + + OCI8 y rastreo dinámico de DTrace -
- - OCI8 2.0 sondeos de DTrace estáticos que se pueden usar en + + OCI8 2.0 sondeos de DTrace estáticos que se pueden usar en sistemas operativos que admiten DTrace. Véase Rastreo dinámico de DTrace para una visión general de PHP y DTrace. -
Instalar OCI8 con soporte para DTrace diff --git a/reference/oci8/taf.xml b/reference/oci8/taf.xml index cdf08ca8b..b641329d7 100644 --- a/reference/oci8/taf.xml +++ b/reference/oci8/taf.xml @@ -1,18 +1,17 @@ - + Soporte para 'Transparent Application Failover' (TAF) de OCI8 -
- + TAF is an Oracle Database feature that provides high availability. It enables PHP OCI8 applications to automatically reconnect to a preconfigured database when database connectivity fails due to instance or network failure. - - + + In a configured Oracle Database system, TAF occurs when the PHP application detects that the database instance is down or unreachable. It establishes a connection to another node in an @@ -38,7 +37,7 @@ necessary ALTER SESSION commands if the database service did not have -failover_restore enabled. -
+
Configuring Transparent Application Failover @@ -234,9 +233,7 @@ - - The following example registers a TAF callback - + Registrar una devolución de llamada TAF - + -
- Pruebas -
+
+ Pruebas El conjunto de pruebas de OCI8 está en el directorio ext/oci8/tests. Después de ejecutar las pruebas de OCI8, este directorio también contendrá los registros de cualquier fallo. -
-
Antes de ejecutar las pruebas de PHP, edite details.inc y establezca $user, $password y la cadena de conexión $dbase. El @@ -132,7 +129,6 @@ ]]> -
- + - - + Funciones de CUBRID (PDO_CUBRID) CUBRID (PDO) @@ -14,141 +13,159 @@ PDO_CUBRID es un controlador que implementa la interfaz de Objetos de Datos de PHP (PDO) para habilitar el acceso desde PHP a bases de datos de CUBRID. - - - Por ahora, la versión actual de PDO_CUBRID no admite conexiones persistentes. - - + + Por ahora, la versión actual de PDO_CUBRID no admite conexiones persistentes. +
&reference.pdo-cubrid.configure;
- Características - - Características de PDO_CUBRID - - - - Característica - Descripción - - - - - Cursores desplazables - - PDO_CUBRID admite cursores desplazables. El tipo de cursor predeterminado es - de sólo avance, y se puede usar el parámetro driver_options de - PDO::prepare para cambiar el tipo de cursor. - - - - Tiempo de espera - PDO_CUBRID admite la configuracion del tiempo de espera de las ejecuciones de sentencias SQL; - Se puede utilizar PDO::setAttribute para establecer el valor del tiempo de espera. - - - Autocommit_mode y transacciones - - PDO_CUBRID admite autocommit_mode y transacciones, y - autocommit_mode está habilitado por omisión. Se puede usar - PDO::setAttribute para cambiar su estado. - - - Si se usa PDO::beginTransaction para iniciar una - transacción, se desactivará autocommit_mode automaticamente y - - PDO::rollBack. Obsérvese que antes de deshabilitar - autocommit_mode, cualquier trabajo pendiente es consignado automáticamente. - - - - - Sentencias SQL múltiples - PDO_CUBRID admite sentencias SQL múltiples. Las sentencias SQL - múltiples están serparadas por puntos y comas (;) - - - Información del esquema - PDO_CUBRID implementa la función - PDO::cubrid_schema para obtener la información del esquema. - - - - LOBs - PDO_CUBRID admite los tipos de datos BLOB/CLOB. El tipo LOB en PDO es - representado como un flujo, por lo que pueden insertarse LOBs vinculando un flujo, - y obtener LOBs leyendo de un flujo devuelto por CUBRID PDO. Por ejemplo: - - - Insertar LOBs en CUBRID PDO - + Características de PDO_CUBRID + +
+ Cursores desplazables + + PDO_CUBRID admite cursores desplazables. El tipo de cursor predeterminado es + de sólo avance, y se puede usar el parámetro driver_options de + PDO::prepare para cambiar el tipo de cursor. + +
+ +
+ Tiempo de espera + + PDO_CUBRID admite la configuracion del tiempo de espera de las ejecuciones de sentencias SQL; + Se puede utilizar PDO::setAttribute para establecer el valor del tiempo de espera. + +
+ +
+ Autocommit_mode y transacciones + + + PDO_CUBRID admite autocommit_mode y transacciones, y + autocommit_mode está habilitado por omisión. Se puede usar + PDO::setAttribute para cambiar su estado. + + + + Si se usa PDO::beginTransaction para iniciar una + transacción, se desactivará autocommit_mode automaticamente y + PDO::rollBack. Obsérvese que antes de deshabilitar + autocommit_mode, cualquier trabajo pendiente es consignado automáticamente. + + + + + Antes de desactivar autocommit_mode + cualquier trabajo pendiente se consigna automáticamente. + + +
+ +
+ Sentencias SQL múltiples + + + PDO_CUBRID admite sentencias SQL múltiples. Las sentencias SQL + múltiples están serparadas por puntos y comas (;). + +
+ +
+ Información del esquema + + + PDO_CUBRID implementa el método PDO::cubrid_schema + para obtener la información del esquema. + +
+ +
+ LOBs + + + PDO_CUBRID admite los tipos de datos BLOB/CLOB. El tipo LOB en PDO es + representado como un flujo (stream), por lo que pueden insertarse LOBs + vinculando un flujo, y obtener LOBs leyendo de un flujo devuelto por CUBRID PDO. + Por ejemplo: + + + + Insertar LOBs en CUBRID PDO + prepare($sent_sql); -$ret = $sentencia->bindParam(1, $fp, PDO::PARAM_LOB); -$ret = $sentencia->execute(); +$stmt = $dbh->prepare($sql_stmt); +$ret = $stmt->bindParam(1, $fp, PDO::PARAM_LOB); +$ret = $stmt->execute(); ?> ]]> - - - - - Obtener LOBs en CUBRID PDO - + + + + + Obtener LOBs en CUBRID PDO + prepare($sent_sql); -$sentencia->execute(); -$resultado = $sentencia->fetch(PDO::FETCH_NUM); +$stmt = $dbh->prepare($sql_stmt); +$stmt->execute(); +$result = $stmt->fetch(PDO::FETCH_NUM); header("Content-Type: image/png"); -fpassthru($resultado[0]); +fpassthru($result[0]); ?> ]]> - - - - - - - Metadatos de columna - - La función PDOStatement::getColumnMeta de CUBRID PDO - devolverá un array asociativo que contiene los siguientes valores: - - type - name - table - def - precision - scale - not_null - auto_increment - unique_key - multiple_key - primary_key - foreign_key - reverse_index - reverse_unique - - - - - Tipos de datos de colecciones - PDO_CUBRID admite los tipos de datos SET/MULTISET/SEQUENCE. Si no se especifica el tipo de datos, - el predeterminado es char, por ejemplo: - - Insertar un conjunto en CUBRID PDO con el tipo de datos predeterminado. - + + +
+ +
+ Metadatos de columna + + + El método PDOStatement::getColumnMeta de CUBRID PDO + devolverá un array asociativo que contiene los siguientes valores: + + type + name + table + def + precision + scale + not_null + auto_increment + unique_key + multiple_key + primary_key + foreign_key + reverse_index + reverse_unique + + +
+ +
+ Tipos de datos de colecciones + + + PDO_CUBRID admite los tipos de datos SET/MULTISET/SEQUENCE. + Si no se especifica el tipo de datos, el predeterminado es char. + Por ejemplo: + + + + Insertar un conjunto en CUBRID PDO con el tipo de datos predeterminado. + execute(); var_Dump($ret); ?> ]]> - - - - - Especificar un tipo de datos al insertar un conjunto en CUBRID PDO - + + + + + Especificar un tipo de datos al insertar un conjunto en CUBRID PDO + execute(); var_Dump($ret); ?> ]]> - - - - Tipos de datos de vinculación de CUBRID:(El quinto parámetro de PDOStatement::bindParam): - - CHAR - STRING - NCHAR - VARNCHAR - BIT - VARBIT - NUMERIC - NUMBER - INT - SHORT - BIGINT - MONETARY - FLOAT - DOUBLE - DATE - TIME - DATETIME - TIMESTAMP - - - -
- -
+ + + + + Tipos de datos de vinculación de CUBRID para el quinto parámetro de + PDOStatement::bindParam: + + CHAR + STRING + NCHAR + VARNCHAR + BIT + VARBIT + NUMERIC + NUMBER + INT + SHORT + BIGINT + MONETARY + FLOAT + DOUBLE + DATE + TIME + DATETIME + TIMESTAMP + + +
- - - &reference.pdo-cubrid.constants; - - - - - - DSN de PDO_CUBRID - Conectar con bases de datos de CUBRID - - - - &reftitle.description; - - El Nombre del Origen de Datos (DSN) de PDO_CUBRID está compuesto por los siguientes elementos, delimitados por punto y coma: - - - Prefijo DSN - - - El prefijo DSN es cubrid:. - - - - - host - - - El nombre del host en el que reside el servidor de bases dedatos. - - - - - port - - - El puerto en el que se está ejecutando el servidor de bases de datos. - - - - - dbname - - - El nombre de la base de datos. - - - - - - - - - &reftitle.notes; - + + + &reference.pdo-cubrid.constants; + + + + + + DSN de PDO_CUBRID + Conectar con bases de datos de CUBRID + + + + &reftitle.description; - Cuando se establezca la conexión a CUBRID, se debería proporcionar el nombre de usario y - la contraseña excepto el DSN. + El Nombre del Origen de Datos (DSN) de PDO_CUBRID está compuesto por los siguientes elementos, delimitados por punto y coma: + + + Prefijo DSN + + + El prefijo DSN es cubrid:. + + + + + host + + + El nombre del host en el que reside el servidor de bases dedatos. + + + + + port + + + El puerto en el que se está ejecutando el servidor de bases de datos. + + + + + dbname + + + El nombre de la base de datos. + + + + - - - - - &reftitle.examples; - - - Ejemplos de DSN de PDO_CUBRID + + + + &reftitle.notes; + - El siguiente ejemplo muestra un DSN de PDO_CUBRID para conectarse a una base de datos de CUBRID: - + + + + + &reftitle.examples; + + + Ejemplos de DSN de PDO_CUBRID + + El siguiente ejemplo muestra un DSN de PDO_CUBRID para conectarse a una base de datos de CUBRID: + - - - - - - - - &reference.pdo-cubrid.entities.PDO; - - + + + + + + + + &reference.pdo-cubrid.entities.PDO; + + + @@ -69,7 +69,7 @@ gz Otra manera de obtener la extensión es usar la función pathinfo. - + getFilename(), PATHINFO_EXTENSION); ?> ]]> - + diff --git a/reference/spl/seekableiterator.xml b/reference/spl/seekableiterator.xml index 2c7ba48bb..840fc7ceb 100644 --- a/reference/spl/seekableiterator.xml +++ b/reference/spl/seekableiterator.xml @@ -1,5 +1,5 @@ - + @@ -46,6 +46,7 @@
+ &reftitle.examples; Uso básico diff --git a/reference/spl/splfileinfo/getextension.xml b/reference/spl/splfileinfo/getextension.xml index 73e4d9ef2..ee522cfdf 100644 --- a/reference/spl/splfileinfo/getextension.xml +++ b/reference/spl/splfileinfo/getextension.xml @@ -1,5 +1,5 @@ - + @@ -70,7 +70,7 @@ string(2) "gz" Otra forma de obtener la extensión es usar la función pathinfo. - + getFilename(), PATHINFO_EXTENSION); ?> ]]> - + diff --git a/reference/strings/functions/substr.xml b/reference/strings/functions/substr.xml index 03905c561..b2476bac8 100644 --- a/reference/strings/functions/substr.xml +++ b/reference/strings/functions/substr.xml @@ -1,6 +1,6 @@ - + @@ -13,12 +13,12 @@ stringsubstr stringstring - intstart - intlength + intoffset + intnulllength&null; Devuelve una parte del string definida por los - parámetros start y length. + parámetros offset y length. @@ -35,11 +35,11 @@ - start + offset - Si start no es negativo, la cadena devuelta - comenzará en el start de la posición del + Si offset no es negativo, la cadena devuelta + comenzará en el offset de la posición del string empezando desde cero. Por ejemplo, en la cadena 'abcdef', el carácter en la posición 0 es 'a', el carácter en la @@ -47,17 +47,17 @@ 'c', y así sucesivamente. - Si start es negativo, la cadena devuelta - empezará en start contando desde el final de + Si offset es negativo, la cadena devuelta + empezará en offset contando desde el final de string. Si la longitud del string es menor que - start, la función devolverá &false;. + offset, la función devolverá &false;. - Usando un <parameter>start</parameter> negativo + Usando un <parameter>offset</parameter> negativo &reftitle.returnvalues; - Devuelve la parte extraída de string; &return.falseforfailure; o un + Devuelve la parte extraída de string; o un string vacío. @@ -136,19 +136,17 @@ $rest = substr("abcdef", -3, -1); // devuelve "de" - 7.0.0 + 8.0.0 - Si la longitud de caracteres de string es igual a - start, se devolverá una cadena - vacía. Antes de esta versión, en este caso se devolvía &false;. + length es ahora anulable. + Cuando length se establece explícitamente en &null;, + la función devuelve una subcadena que termina al final de la cadena, mientras que anteriormente devolvía una cadena vacía. - 5.2.2 - 5.2.6 + 8.0.0 - Si el parámetro start indica una posición negativa de - truncamiento o más allá, se devolverá false. En otras versiones de PHP obtienen - la cadena desde el principio. + La función devuelve una cadena vacía donde anteriormente devolvía &false;. @@ -166,6 +164,7 @@ $rest = substr("abcdef", -3, -1); // devuelve "de" ]]> - &example.outputs.7; + &example.outputs; - - &example.outputs.5; - - - - - - - &reftitle.errors; - - Devuelve &false; en caso de error. - - + + Rango de caracteres inválido + + Si se solicita un rango de caracteres inválido, substr devuelve + una cadena vacía a partir de PHP 8.0.0; anteriormente, se devolvía &false; en su lugar. + + ]]> - - + + &example.outputs.8; + + + + &example.outputs.7; + + + + diff --git a/reference/yaf/tutorials.xml b/reference/yaf/tutorials.xml index 52026b0b4..58ac018d2 100644 --- a/reference/yaf/tutorials.xml +++ b/reference/yaf/tutorials.xml @@ -1,15 +1,14 @@ - + &reftitle.examples; -
- - Distribución clásica del directorio Application - + + Distribución clásica del directorio Application + - - -
+ +
-
- - Entrada - index.php en el directorio superior es la única forma de entrada de la aplicación, se deberían reescribir todas las peticiones al mismo (se puede emplear .htaccess de Apache+php_mod) - + + Entrada + index.php en el directorio superior es la única forma de entrada de la aplicación, se deberían reescribir todas las peticiones al mismo (se puede emplear .htaccess de Apache+php_mod) + bootstrap() //llamar a los métodos de arranque definidos en Bootstrap.php - ->run(); +->run(); ?> ]]> - - -
+ + -
- - Regla de sobrescritura - + + Regla de sobrescritura + "/index.php/$1", - ) +url.rewrite = ( + "^/(.+)/?$" => "/index.php/$1", +) } ]]> - - -
- -
- - Configuración de la aplicación + + + + + Configuración de la aplicación -
- -
+ Controlador predeterminado @@ -117,27 +108,23 @@ class IndexController extends Yaf_Controller_Abstract { ]]> -
-
- Plantilla de vistas predeterminada - - - - Hola Mundo - - - - - -]]> - + Plantilla de vistas predeterminada + + + + Hola Mundo + + + + + + ]]> + -
-
Ejecutar la aplicación &example.outputs.similar; @@ -160,7 +147,6 @@ class IndexController extends Yaf_Controller_Abstract { -