From 437a4fc354d6d719c715d8f65162630db78d8ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Porto=20Mari=C3=B1o?= Date: Wed, 12 Nov 2025 13:24:08 +0100 Subject: [PATCH 1/6] Document PHP 8.4.0 change to http_build_query() in relation to BackedEnums --- reference/url/functions/http-build-query.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/reference/url/functions/http-build-query.xml b/reference/url/functions/http-build-query.xml index 1f7163793..224a95dbb 100644 --- a/reference/url/functions/http-build-query.xml +++ b/reference/url/functions/http-build-query.xml @@ -1,6 +1,6 @@ - - + + http_build_query @@ -114,6 +114,13 @@ + + 8.4.0 + + Antes de PHP 8.4.0, las propiedades BackedEnum de + data se convertían en objetos, en lugar de sus equivalentes escalares. + + 8.0.0 From 8a8c9987e19f2dbc2bc998c336b67f302c7f2dad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Porto=20Mari=C3=B1o?= Date: Wed, 12 Nov 2025 13:45:18 +0100 Subject: [PATCH 2/6] Remove useless wrapping para tag and update EN-Revision --- features/persistent-connections.xml | 22 ++++++++++------------ reference/datetime/examples.xml | 2 +- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/features/persistent-connections.xml b/features/persistent-connections.xml index f87c2d1c4..49cb1ac21 100644 --- a/features/persistent-connections.xml +++ b/features/persistent-connections.xml @@ -1,6 +1,6 @@ - + Conexiones persistentes a bases de datos @@ -201,17 +201,15 @@ &reftitle.seealso; - - - ibase_pconnect - oci_pconnect - odbc_pconnect - pfsockopen - pg_connect - Mysqli y conexiones persistentes - Gestor de conexiones PDO - - + + ibase_pconnect + oci_pconnect + odbc_pconnect + pfsockopen + pg_connect + Mysqli y conexiones persistentes + Gestor de conexiones PDO + diff --git a/reference/datetime/examples.xml b/reference/datetime/examples.xml index f9a96b971..0929ac018 100644 --- a/reference/datetime/examples.xml +++ b/reference/datetime/examples.xml @@ -1,6 +1,6 @@ - + &reftitle.examples; From fc37277f92b8722f5486b9a1581bd60ad190ee9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Porto=20Mari=C3=B1o?= Date: Wed, 12 Nov 2025 14:52:59 +0100 Subject: [PATCH 3/6] Various amendements to follow-up on GH-4936 --- reference/pdo/constants.fetch-modes.xml | 357 ++++++++++++------------ reference/pdo/constants.xml | 69 ++--- 2 files changed, 216 insertions(+), 210 deletions(-) diff --git a/reference/pdo/constants.fetch-modes.xml b/reference/pdo/constants.fetch-modes.xml index d6f59e3c5..0f30cb773 100644 --- a/reference/pdo/constants.fetch-modes.xml +++ b/reference/pdo/constants.fetch-modes.xml @@ -1,13 +1,13 @@ - +
Modos de recuperación - + Véase constantes de cursor para las constantes de cursor PDO::FETCH_ORI_*. - +
Modos básicos de recuperación @@ -83,7 +83,7 @@ Una una función para crear el valor de retorno. - (solamente con PDOStatement::fetchAll) + (solamente con PDOStatement::fetchAll) @@ -110,10 +110,10 @@
Opciones de PDO::FETCH_CLASS - + Estos modos se utilizan para implementar opciones al usar PDO::FETCH_CLASS. - + @@ -156,10 +156,10 @@
Modos de resultado único - + Los siguientes modos no pueden ser utilizados con - PDOStatement::fetchAll. - + PDOStatement::fetchAll. + @@ -202,14 +202,14 @@
- Flags de comportamiento especiales para <function>PDOStatement::fetchAll</function> + Flags de comportamiento especiales para <methodname>PDOStatement::fetchAll</methodname> - + Los siguientes modos especiales para resultados múltiples solo funcionan con - PDOStatement::fetchAll y no funcionan con algunos otros + PDOStatement::fetchAll y no funcionan con algunos otros modos de recuperación. Consulta la documentación completa para más detalles. - + @@ -243,23 +243,23 @@
Manejo de nombres duplicados de columnas - + Es posible que los resultados contengan varias columnas con el mismo nombre. Por ejemplo, al combinar dos tablas que contienen una columna con el mismo nombre. - - + + Debido a que las estructuras de PHP, como los arrays y los objetos, no admiten varias claves o propiedades con el mismo nombre, el array o el objeto devuelto contendrá solo uno de los valores con el mismo nombre. - - + + El valor que se devuelve para un nombre duplicado determinado debe considerarse indefinido. - - + + Para evitar este problema, asigne nombres explícitos a las columnas mediante un alias. Por ejemplo: - + - + Véase también PDO::FETCH_NAMED, PDO::ATTR_FETCH_TABLE_NAMES y PDO::ATTR_FETCH_CATALOG_NAMES. - +
Estableciendo el modo de recuperación predeterminado - - Se puede establecer el modo de recuperación predeterminado para todas las consultas usando + + Es posible establecer el modo de recuperación predeterminado para todas las consultas usando PDO::ATTR_DEFAULT_FETCH_MODE con - PDO::__construct o - PDO::setAttribute. - - - Se puede establecer el modo de recuperación predeterminado para una sentencia específica usando - PDOStatement::setFetchMode. Esto afecta a la reutilización como - sentencia preparada y a la iteración (usando - foreach). - + PDO::__construct o + PDO::setAttribute. + + + El modo de recuperación predeterminado para una sentencia específica se puede establecer usando + PDOStatement::setFetchMode. + Esto afecta a la reutilización como sentencia preparada y a la iteración (usando + &foreach;). + - - PDOStatement::setAttribute no se puede usar para establecer el + + PDOStatement::setAttribute no se puede usar para establecer el modo de recuperación predeterminado. Solo acepta atributos específicos del controlador y, de forma silenciosa, ignora los atributos que no reconoce. - +
PDO::FETCH_DEFAULT (<type>int</type>) - - Disponible desde PHP 8.0.7. - - + + Disponible a partir de PHP 8.0.7. + + Este es un valor especial que utiliza el modo de recuperación predeterminado actual para un PDOStatement. Es especialmente útil como valor predeterminado para los parámetros de método al extender PDOStatement para su uso con PDO::ATTR_STATEMENT_CLASS. - - + + Este valor no se puede usar con PDO::ATTR_DEFAULT_FETCH_MODE. - +
PDO::FETCH_ASSOC (<type>int</type>) - + PDO::FETCH_ASSOC devuelve un array indexada únicamente por nombre de columna. - + PDO::FETCH_BOTH (<type>int</type>) - + Este es el modo de recuperación predeterminado. - - + + PDO::FETCH_BOTH devuelve un array indexada tanto por número de columna como por nombre. Esto significa que cada valor devuelto se duplica para cada fila de resultados. - - + + El número de columna comienza en 0 y se determina por el orden de las columnas de la consulta, no (por ejemplo) por el orden en que se definen las columnas en la tabla. - + - + No se recomienda utilizar el índice de columna numérico, ya que esto puede cambiar cuando se cambie la consulta, o cuando se cambie el esquema de la tabla al usar SELECT *. - + - + Es posible que el número de entradas indexadas por nombre no coincida con el número de entradas indexadas por número en los casos en que varias columnas devueltas utilicen el mismo nombre. - + @@ -403,20 +403,20 @@ Array
PDO::FETCH_NAMED (<type>int</type>) - + PDO::FETCH_NAMED devuelve resultados en el mismo formato que PDO::FETCH_ASSOC excepto que, cuando varias columnas usan el mismo nombre, todos los valores se devuelven como una lista. - - + + Para obtener más información sobre el manejo de nombres de columnas duplicados y alternativas, consulte la sección manejo de nombres duplicados anterior. - - + + El orden en el que se devuelven los valores duplicados debe considerarse indefinido. No hay forma de saber de dónde proviene cada valor. - + PDO::FETCH_NUM (<type>int</type>) - + PDO::FETCH_NUM devuelve un array indexada únicamente por número de columna. El número de columna comienza en 0 y se determina por el orden de las columnas de resultados en la consulta, no (por ejemplo) por el orden en que se definen las columnas en la tabla. - + - + No se recomienda utilizar el índice de columna numérico, ya que esto puede cambiar cuando se cambie la consulta, o cuando se cambie el esquema de la tabla al usar SELECT *. - + @@ -489,16 +489,16 @@ Array
PDO::FETCH_COLUMN (<type>int</type>) - + PDO::FETCH_COLUMN devuelve los valores de una sola columna. - Utilice el segundo argumento de PDOStatement::setFetchMode - o PDOStatement::fetchAll para especificar la columna que + Utilice el segundo argumento de PDOStatement::setFetchMode + o PDOStatement::fetchAll para especificar la columna que se devuelve. - - + + Si la columna especificada no existe, se lanzará un ValueError. - + PDO::FETCH_KEY_PAIR (<type>int</type>) - + PDO::FETCH_KEY_PAIR devuelve pares de valores, indexados por la primera columna. Los resultados deben contener solo dos columnas. Este modo de recuperación - solo tiene sentido con PDOStatement::fetchAll. - + solo tiene sentido con PDOStatement::fetchAll. + - + Si la primera columna no es única, se perderán valores. Qué valor(es) se perderán debe considerarse indefinido. - + @@ -571,21 +571,22 @@ Array
PDO::FETCH_FUNC (<type>int</type>) - + Especifique una función para crear el valor devuelto. Este modo solo se puede usar - con PDOStatement::fetchAll. - - - La función recibe los valores como parámetros. No es posible recuperar - el nombre de la columna a la que estaba asociado un valor dado. Debe asegurarse de - que el orden de las columnas en la consulta coincida con el esperado por la función. - + con PDOStatement::fetchAll. + + + La función recibe los valores como parámetros. + No es posible recuperar el nombre de la columna a la que estaba asociado un valor dado. + Es crucial asegurarse de que el orden de las columnas en la consulta coincida con el + orden de los parámetros de la función. + - + Los efectos de PDO::FETCH_GROUP y PDO::FETCH_UNIQUE se aplican a los resultados antes de que se llame a la función. - + @@ -643,14 +644,14 @@ Array
PDO::FETCH_OBJ (<type>int</type>) - + PDO::FETCH_OBJ devuelve un objeto stdClass. - - - Véase también PDOStatement::fetchObject y + + + Véase también PDOStatement::fetchObject y PDO::FETCH_CLASS. - + PDO::FETCH_CLASS (<type>int</type>) - + Devuelve un objeto de una clase específica. Para conocer comportamientos adicionales, consulte las opciones flags. - - + + Si una propiedad no existe con el nombre de una columna devuelta, se declarará dinámicamente. Este comportamiento está obsoleto y provocará un error a partir de PHP 9.0. - - - Véase también PDOStatement::fetchObject. - + + + Véase también PDOStatement::fetchObject. + PDO::FETCH_CLASSTYPE (<type>int</type>) - + Este modo de recuperación solo se puede usar combinado con PDO::FETCH_CLASS (y sus otras opciones). - - + + Cuando se utiliza este modo de recuperación, PDO utilizará la primera columna devuelta como nombre de la clase que se devolverá. - - + + Si no se encuentra la clase especificada, se devolverá un objeto stdClass, sin advertencia ni error. - + PDO::FETCH_PROPS_LATE (<type>int</type>) - + Este modo de recuperación solo se puede usar combinado con PDO::FETCH_CLASS (y sus otras opciones). - - + + Cuando se utiliza este modo de recuperación, se llamará al constructor antes de que se establezcan las propiedades. - + - + Este modo de recuperación solo se puede usar combinado con PDO::FETCH_CLASS (y sus otras opciones). - - + + Cuando se utiliza este modo de recuperación, la clase especificada debe ser Serializable. - + - + Esta función no admite una cadena que contenga un objeto serializado completo (con serialize). - + - + Este modo de recuperación no llama al constructor. - + @@ -985,20 +986,20 @@ object(TestEntity)#5 (4) {
PDO::FETCH_BOUND (<type>int</type>) - + Este modo de recuperación no se puede utilizar con - PDOStatement::fetchAll. - - + PDOStatement::fetchAll. + + Este modo de recuperación no devuelve directamente un resultado, sino que asigna valores a - las variables especificadas con PDOStatement::bindColumn. El + las variables especificadas con PDOStatement::bindColumn. El método de recuperación llamado devuelve &true;. - + - + Cuando se utilizan sentencias preparadas, para que funcionen correctamente, las variables deben enlazarse después de que se ejecute la consulta. - + fetch(\PDO::FETCH_BOUND)) {
PDO::FETCH_INTO (<type>int</type>) - + Este modo de recuperación no se puede utilizar con - PDOStatement::fetchAll. - - + PDOStatement::fetchAll. + + Este modo de recuperación actualiza las propiedades del objeto especificado. El objeto se devuelve si la operación se realiza correctamente. - - + + Si una propiedad no existe con el nombre de una columna devuelta, se declarará dinámicamente. Este comportamiento está obsoleto y provocará un error a partir de PHP 9.0. - - + + Las propiedades deben ser public y no pueden ser readonly. - + - + No hay forma de cambiar el objeto que se va a actualizar sin usar - PDOStatement::setFetchMode entre la recuperación de cada + PDOStatement::setFetchMode entre la recuperación de cada registro. - + @@ -1105,34 +1106,34 @@ object(TestEntity)#3 (4) {
PDO::FETCH_LAZY (<type>int</type>) - + Este modo de recuperación no se puede utilizar con - PDOStatement::fetchAll. - - + PDOStatement::fetchAll. + + Este modo de obtención recuperación un objeto PDORow que proporciona acceso a los valores tanto como arrays como objetos (es decir, combina el comportamiento de PDO::FETCH_BOTH y PDO::FETCH_OBJ), recuperados de forma diferida. - - + + Esto permite un acceso eficiente en memoria (en el lado de PHP) a los resultados sin almacenar en búfer en el servidor de la base de datos. El uso o no de almacenamiento en búfer del lado del cliente por parte de PDO depende del controlador específico de la base de datos que se utilice (y de su configuración). - + - + PDORow devolverá NULL sin mostrar ningún error ni advertencia al acceder a propiedades o claves no definidas. Esto puede dificultar la detección y depuración de errores como erratas o consultas que no devuelven los datos esperados. - + - + El objeto PDORow devuelto se actualiza cada vez que se recupera un resultado. - + PDO::FETCH_GROUP (<type>int</type>) - + PDO::FETCH_GROUP devuelve listas de arrays asociativos, indexados por una columna (no única). Este modo de obtención solo funciona con - PDOStatement::fetchAll. - - + PDOStatement::fetchAll. + + Cuando se combina con PDO::FETCH_UNIQUE, ambos modos utilizarán la misma columna, lo que hace que la combinación de estos modos sea inútil. - - + + Esta recuperación debe combinarse con una de PDO::FETCH_ASSOC, PDO::FETCH_BOTH, PDO::FETCH_NAMED, PDO::FETCH_NUM, PDO::FETCH_COLUMN o PDO::FETCH_FUNC. - - + + Si no se proporciona ningún modo de recuperación de la lista anterior, se utilizará el modo de recuperación predeterminado actual para PDOStatement. - + - - En el ejemplo anterior, observará que la primera columna se omite del + + En el ejemplo anterior, cabe señalar que la primera columna se omite del array en cada fila y solo está disponible como clave. Se puede incluir repitiendo la columna, como en el siguiente ejemplo: - + PDO::FETCH_UNIQUE (<type>int</type>) - + PDO::FETCH_UNIQUE utiliza la primera columna para indexar los registros, devolviendo un registro por cada valor de índice. Este modo de recuperación solo funciona con - PDOStatement::fetchAll. - - + PDOStatement::fetchAll. + + Cuando se combina con PDO::FETCH_GROUP, ambos modos utilizarán la misma columna, lo que hace que la combinación de estos modos sea inútil. - - + + Esta recuperación debe combinarse con uno de PDO::FETCH_ASSOC, PDO::FETCH_BOTH, PDO::FETCH_NAMED, PDO::FETCH_NUM, PDO::FETCH_COLUMN o PDO::FETCH_FUNC. - - + + Si no se proporciona ningún modo de recuperación de la lista anterior, se utilizará el modo de recuperación predeterminado actual para PDOStatement. - - + + Cuando se utiliza con una columna que se sabe que es única (como el ID del registro), este modo proporciona la capacidad de devolver rápidamente resultados indexados por ese valor. - + - + Si la primera columna no es única, se perderán valores. Qué valor(es) se perderán se considera indefinido. - + - + Siempre que sea posible, se recomienda filtrar los registros mediante SQL. La base de datos utilizará índices para optimizar este proceso y devolver únicamente los registros necesarios. Seleccionar más registros de los necesarios puede aumentar significativamente el uso de memoria y el tiempo de consulta para conjuntos de resultados grandes. - + @@ -1388,11 +1389,11 @@ Array ]]> - - En el ejemplo anterior, observará que la primera columna se omite del + + En el ejemplo anterior, cabe señalar que la primera columna se omite del array en cada fila y solo está disponible como clave. Se puede incluir repitiendo la columna, como en el siguiente ejemplo: - + - + &reftitle.constants; @@ -10,9 +10,9 @@
Cursores - + Véase también PDO::ATTR_CURSOR_NAME. - + @@ -106,8 +106,9 @@ - Crea un objeto PDOStatement con un cursor desplazable. Pasa la - constante PDO::FETCH_ORI_* para controlar las líneas recuperadas del conjunto de resultados. + Crea un objeto PDOStatement con un cursor desplazable. + Pasar las constantes PDO::FETCH_ORI_* + para controlar las líneas recuperadas del conjunto de resultados. @@ -172,7 +173,7 @@ Indicador para designar un string que utiliza el juego de caracteres nacional. - Disponible desde PHP 7.2.0 + Disponible a partir de PHP 7.2.0 @@ -186,7 +187,7 @@ Indicador para designar un string que utiliza el juego de caracteres normal. - Disponible desde PHP 7.2.0 + Disponible a partir de PHP 7.2.0 @@ -221,8 +222,8 @@ Especifica que el argumento es un argumento INOUT para un - procedimiento almacenado. Debe utilizarse el operador OR a nivel de bits con - un tipo de datos explícito PDO::PARAM_*. + procedimiento almacenado. Esta constante debe combinarse con el operador OR a nivel de bits con + una de las constantes PDO::PARAM_*. @@ -245,9 +246,10 @@ - Definir el tamaño de la prérécuparación permite aumentar el rendimiento - de su aplicación. No todas las combinaciones bases de datos / controladores soportan - esta funcionalidad. Esto aumenta el rendimiento a costa del consumo de memoria. + Definir el tamaño de precarga permite equilibrar la velocidad con el uso de memoria + de una aplicación. No todas las combinaciones bases de datos / controladores soportan + la configuración del tamaño de precarga. Un mayor tamaño de precarga resulta en un + mayor rendimiento a costa de un mayor uso de memoria. @@ -329,8 +331,9 @@ - Fuerza los nombres de las columnas en una casilla especificada por las constantes - PDO::CASE_*. + Fuerza los nombres de columna a un formato específico especificado por las + constantes + PDO::CASE_*. @@ -355,9 +358,9 @@ Selecciona el tipo de cursor. PDO actualmente soporta PDO::CURSOR_FWDONLY o - PDO::CURSOR_SCROLL. Mantenga - PDO::CURSOR_FWDONLY mientras sepa que necesita - un cursor desplazable. + PDO::CURSOR_SCROLL. + A menos que se necesiten cursores desplazables, se debe usar el + modo de cursor PDO::CURSOR_FWDONLY. @@ -371,9 +374,8 @@ Devuelve el nombre del controlador. - - Uso de <constant>PDO::ATTR_DRIVER_NAME</constant> - + Uso de <constant>PDO::ATTR_DRIVER_NAME</constant> + getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { @@ -381,9 +383,8 @@ if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { } ?> ]]> - - - + + @@ -431,7 +432,7 @@ if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { Añade el contenido del catálogo de nombres en cada nombre de columna devuelto en el conjunto de resultados. El catálogo de nombres y los nombres de columnas están separados por un punto (.). El soporte de este atributo es a nivel de controlador; puede no - estar disponible para su controlador. + estar disponible por el controlador en uso. @@ -445,7 +446,7 @@ if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { Añade el contenido de la tabla de nombres en cada nombre de columna devuelto en el conjunto de resultados. La tabla de nombres y los nombres de columnas están separados por un punto (.). El soporte de este atributo es a nivel de controlador; puede no - estar disponible para su controlador. + estar disponible por el controlador en uso. @@ -506,7 +507,7 @@ if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { o PDO::PARAM_STR_CHAR. - &php.version.added; 7.2.0. + Disponible a partir de PHP 7.2.0 @@ -517,8 +518,9 @@ if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { - No envía error ni excepción si ocurre un error. El desarrollador - debe verificar explícitamente los errores. Es el modo por defecto. + No envía error ni excepción si ocurre un error. + El desarrollador debe verificar explícitamente los errores. + Antes de PHP 8.0.0, este era el modo predeterminado. Ver los errores y la gestión de errores para más información sobre este atributo. @@ -623,11 +625,14 @@ if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { - Corresponde a SQLSTATE '00000', lo que significa que la consulta SQL ha tenido éxito - sin error ni advertencia. Esta constante es útil cuando se utiliza + Corresponde a SQLSTATE '00000', lo que significa que la consulta SQL + ha tenido éxito sin error ni advertencia. + Esta constante es útil para ayudar al verificar PDO::errorCode o - PDOStatement::errorCode para determinar si ha ocurrido un error. - Sin embargo, debe saber ya si es así examinando el código devuelto por el método que causó el error. + PDOStatement::errorCode para determinar si ha + ocurrido un error. + Esto suele conocerse examinando el código de retorno del método + que generó la condición de error de todos modos. From e631aaba9e649815c9af0306ec653ec1f6a568e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Porto=20Mari=C3=B1o?= Date: Wed, 12 Nov 2025 19:33:31 +0100 Subject: [PATCH 4/6] Improve session_gc documentation --- reference/session/functions/session-gc.xml | 107 +++++++++++---------- 1 file changed, 57 insertions(+), 50 deletions(-) diff --git a/reference/session/functions/session-gc.xml b/reference/session/functions/session-gc.xml index ed8307914..ce548adb3 100644 --- a/reference/session/functions/session-gc.xml +++ b/reference/session/functions/session-gc.xml @@ -1,6 +1,6 @@ - + @@ -13,25 +13,34 @@ intfalsesession_gc - - session_gc se utiliza para ejecutar la - recolección de basura (Garbage Collection, abreviado GC). PHP utiliza - un método probabilístico para ejecutar la recolección de basura de sesión por defecto. - - - La recolección de basura (GC) basada en un método probabilístico funciona - en cierta medida pero presenta algunos problemas. 1) Los datos de sesión de los sitios con - poco tráfico pueden no ser eliminados durante el período deseado. - 2) Los sitios con mucho tráfico pueden ejecutar la recolección de basura con demasiada frecuencia. - 3) La recolección de basura se ejecuta en una solicitud del usuario y este notará una latencia debido a la recolección de basura. - - - Por lo tanto, se recomienda ejecutar la recolección de basura periódicamente en - los sistemas de producción, por ejemplo, "cron" para los sistemas de tipo UNIX. - Asegúrese de desactivar la recolección de basura por método probabilístico definiendo - session.gc_probability - a 0. - + + Por omisión, PHP utiliza session.gc_probability + para ejecutar el recolector de basura de sesión de forma probabilística en cada + solicitud. Este enfoque presenta algunas limitaciones: + + + Es posible que sitios con poco tráfico no eliminen sus datos de sesión dentro del plazo preferido. + Sitios con mucho tráfico pueden hacer que el recolector de basura funcione con demasiada frecuencia, realizando trabajo extra innecesario. + La recolección de basura se realiza a petición del usuario, y este puede experimentar una demora. + + + Para sistemas de producción, se recomienda deshabilitar la + recolección de basura basada en probabilidad configurando + session.gc_probability en 0 + y activar explícitamente el recolector de basura periódicamente, por ejemplo, utilizando "cron" en + sistemas tipo UNIX para ejecutar un script que llame a session_gc. + + + + + Al llamar a session_gc desde un script PHP de línea de comandos, + session.save_path debe tener + el mismo valor que las solicitudes web, y el script debe tener permisos de acceso y eliminación + para los archivos de sesión. Esto puede verse afectado por el usuario con el que se ejecuta el script + y por características de contenedor o aislamiento, como la opción PrivateTmp= + de systemd. + + @@ -41,23 +50,24 @@ &reftitle.returnvalues; - - session_gc devuelve el número de datos de sesión - eliminados como éxito, &false; en caso de fallo. - - - Los antiguos gestores de almacenamiento no devuelven el número de datos de sesión eliminados - sino solo el flag de éxito/fallo. En este caso, el número de datos de sesión eliminados es 1 - independientemente del número real de datos eliminados. - + + session_gc devuelve el número de datos de sesión eliminados + en caso de éxito, &return.falseforfailure;. + + + + Los antiguos gestores de almacenamiento de sesiones no devuelven el número de entradas de sesión eliminadas, sino + solo un indicador de éxito/fracaso. En este caso, se devuelve 1 independientemente de + cuántas entradas de sesión se hayan eliminado realmente. + + &reftitle.examples; - - - Ejemplo de <function>session_gc</function> para planificadores de tareas como cron - + + Ejemplo de <function>session_gc</function> para planificadores de tareas como cron + ]]> - - - - Ejemplo de <function>session_gc</function> para scripts accesibles por el usuario - + + + + Ejemplo de <function>session_gc</function> para scripts accesibles por el usuario + ]]> - - - + + &reftitle.seealso; - - - session_start - session_destroy - session.gc_probability - - + + session_start + session_destroy + session.gc_probability + - - + + Configuración recomendada en sistemas Windows @@ -35,7 +35,6 @@ opcache.enable_cli=On Se recomienda utilizar WinCache al usar IIS, especialmente en un entorno de alojamiento web compartido o al usar almacenamiento de ficheros en red (NAS). - Es importante señalar que WinCache ya no es compatible a partir de PHP 8.0.0. Todas las aplicaciones PHP se benefician automáticamente de la funcionalidad de caché de ficheros de WinCache. Las operaciones del sistema de ficheros se almacenan en caché en memoria. From 231f88431828907cc1d9499b20af7274a5a97588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Porto=20Mari=C3=B1o?= Date: Wed, 12 Nov 2025 19:47:16 +0100 Subject: [PATCH 6/6] Install from source: Point to README.md for instructions --- install/unix/source.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/install/unix/source.xml b/install/unix/source.xml index 1a856e599..8896a61bf 100644 --- a/install/unix/source.xml +++ b/install/unix/source.xml @@ -1,6 +1,6 @@ - - + + Instalación desde las fuentes en sistemas Unix y macOS @@ -71,6 +71,12 @@ + + Para obtener pasos más detallados para compilar PHP desde el código fuente, véase el fichero + README.md + en el archivo tarball de origen. + + La configuración y el proceso inicial de compilación de PHP están controlados por el uso de las opciones de línea de comandos del script configure.