From e9f79b54158757c9378bd45eb3cf5f4a766eca9b Mon Sep 17 00:00:00 2001 From: lacatoire Date: Thu, 6 Aug 2026 16:54:37 +0200 Subject: [PATCH 1/3] [Sync-En] ext/pdo: PHP 8.4 changes across PDO, PDO_PGSQL and PDO_Firebird (#5703) --- reference/pdo/pdo/getattribute.xml | 13 ++++--------- reference/pdo/pdo/prepare.xml | 20 ++++++++++++++------ reference/pdo/pdostatement/getattribute.xml | 10 ++++++++-- reference/pdo_firebird/configure.xml | 8 +++++--- reference/pdo_pgsql/configure.xml | 8 +++++--- reference/pdo_pgsql/pdo-pgsql.xml | 11 +++++++++-- reference/pdo_pgsql/reference.xml | 12 ++++++++++-- 7 files changed, 55 insertions(+), 27 deletions(-) diff --git a/reference/pdo/pdo/getattribute.xml b/reference/pdo/pdo/getattribute.xml index 28311f9aba..b120d5dcde 100644 --- a/reference/pdo/pdo/getattribute.xml +++ b/reference/pdo/pdo/getattribute.xml @@ -1,6 +1,5 @@ - - + PDO::getAttribute @@ -39,18 +38,14 @@ Una de las constantes PDO::ATTR_*. Los atributos genéricos que se aplican a las conexiones son los siguientes: - PDO::ATTR_AUTOCOMMIT PDO::ATTR_CASE - PDO::ATTR_CLIENT_VERSION - PDO::ATTR_CONNECTION_STATUS + PDO::ATTR_DEFAULT_FETCH_MODE PDO::ATTR_DRIVER_NAME PDO::ATTR_ERRMODE PDO::ATTR_ORACLE_NULLS PDO::ATTR_PERSISTENT - PDO::ATTR_PREFETCH - PDO::ATTR_SERVER_INFO - PDO::ATTR_SERVER_VERSION - PDO::ATTR_TIMEOUT + PDO::ATTR_STATEMENT_CLASS + PDO::ATTR_STRINGIFY_FETCHES diff --git a/reference/pdo/pdo/prepare.xml b/reference/pdo/pdo/prepare.xml index 782065cdbf..a327010572 100644 --- a/reference/pdo/pdo/prepare.xml +++ b/reference/pdo/pdo/prepare.xml @@ -1,6 +1,5 @@ - - + PDO::prepare @@ -61,12 +60,12 @@ - El analizador utilizado para las declaraciones preparadas + Antes de PHP 8.4.0, el analizador utilizado para las declaraciones preparadas emuladas y para reescribir los parámetros nombrados o del estilo de punto - de interrogación soporta el escape backslash no estándar para las comillas simples y dobles. Esto significa que las comillas finales que - son precedidas por un backslash no serán reconocidas como tales, lo que puede + de interrogación soportaba el escape backslash no estándar para las comillas simples y dobles. Esto significaba que las comillas finales que + eran precedidas por un backslash no serían reconocidas como tales, lo que podía resultar en una mala detección de los parámetros causando que la declaración - preparada falle al ser ejecutada. Un contorno es no utilizar las consultas emuladas para tales consultas SQL, y evitar reescribir los parámetros utilizando un estilo de parámetro que es + preparada fallase al ser ejecutada. Un contorno era no utilizar las consultas emuladas para tales consultas SQL, y evitar reescribir los parámetros utilizando un estilo de parámetro que era soportado nativamente por el controlador. @@ -75,6 +74,15 @@ Esto significa que la cadena ?? será traducida en ? al enviar la consulta a la base de datos. + + A partir de PHP 8.4.0, PDO utiliza analizadores SQL específicos del controlador para + localizar los marcadores de parámetros, de modo que los marcadores que aparecen dentro + de literales de cadena o comentarios no se confunden con marcadores de posición. El analizador + por omisión reconoce los literales de cadena entre comillas simples y dobles, así como los + comentarios de dos guiones y de estilo C no anidados. Los controladores individuales pueden + proporcionar un analizador que reconozca sintaxis adicional o diferente; consulte la + documentación específica del controlador para más detalles. + &reftitle.parameters; diff --git a/reference/pdo/pdostatement/getattribute.xml b/reference/pdo/pdostatement/getattribute.xml index f99db2b16f..09e0853426 100644 --- a/reference/pdo/pdostatement/getattribute.xml +++ b/reference/pdo/pdostatement/getattribute.xml @@ -1,6 +1,5 @@ - - + PDOStatement::getAttribute @@ -23,6 +22,13 @@ (especificación de Firebird y ODBC): Recupera el nombre del cursor para UPDATE ... WHERE CURRENT OF. + + + Pdo\Pgsql::ATTR_RESULT_MEMORY_SIZE + (específico de PostgreSQL, disponible desde PHP 8.4.0): + Recupera la cantidad de memoria, en bytes, asignada al resultado de la consulta. + + Tenga en cuenta que los atributos específicos del controlador no deben utilizarse con otros controladores. diff --git a/reference/pdo_firebird/configure.xml b/reference/pdo_firebird/configure.xml index dc602d2705..e6f848b47b 100644 --- a/reference/pdo_firebird/configure.xml +++ b/reference/pdo_firebird/configure.xml @@ -1,7 +1,5 @@ - - - +
&reftitle.install; @@ -14,6 +12,10 @@ $ ./configure --with-pdo-firebird ]]> + + A partir de PHP 8.4.0, esta extensión utiliza las API C++ de Firebird y por lo tanto + requiere un compilador C++, y debe compilarse con fbclient 3.0 o superior. +
- - +
&reftitle.install; @@ -14,6 +12,10 @@ $ ./configure --with-pdo-pgsql ]]> + + Esta extensión requiere libpq (la biblioteca cliente C de PostgreSQL). + A partir de PHP 8.4.0, se requiere libpq 10.0 o posterior. +
- + La clase Pdo\Pgsql Pdo\Pgsql @@ -46,6 +45,14 @@ + + + Dado que este analizador reconoce los literales de cadena en dólares, los puntos + de interrogación que aparecen en ellos no son tratados como marcadores de parámetros y + no necesitan ser escapados. A partir de PHP 8.4.0, escapar los puntos de interrogación + como ?? dentro de una cadena en dólares está obsoleto. + + diff --git a/reference/pdo_pgsql/reference.xml b/reference/pdo_pgsql/reference.xml index 23bac61a77..ab336bf880 100644 --- a/reference/pdo_pgsql/reference.xml +++ b/reference/pdo_pgsql/reference.xml @@ -1,6 +1,5 @@ - - + @@ -122,6 +121,15 @@ + + + A partir de PHP 8.4.0, las credenciales especificadas en el DSN + (user y password) tienen prioridad + sobre los argumentos correspondientes pasados al constructor de + PDO. En versiones anteriores, los argumentos del + constructor PDO tenían precedencia. + + Todos los puntos y comas en la cadena DSN son reemplazados por espacios, From 061d52fabcb3955348ecae45eb14d805050b4bfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Napur=C3=AD?= Date: Fri, 7 Aug 2026 01:12:46 -0500 Subject: [PATCH 2/3] Fix XML formatting in getattribute.xml --- reference/pdo/pdostatement/getattribute.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reference/pdo/pdostatement/getattribute.xml b/reference/pdo/pdostatement/getattribute.xml index af71c9740c..3b6fceb6f5 100644 --- a/reference/pdo/pdostatement/getattribute.xml +++ b/reference/pdo/pdostatement/getattribute.xml @@ -24,7 +24,8 @@ PDO::ATTR_CURSOR_NAME (especificación de Firebird y ODBC): Recupera el nombre del cursor para UPDATE ... WHERE CURRENT OF. - + + Pdo\Pgsql::ATTR_RESULT_MEMORY_SIZE @@ -32,7 +33,7 @@ Recupera la cantidad de memoria, en bytes, asignada al resultado de la consulta. - + Tenga en cuenta que los atributos específicos del controlador no deben utilizarse con otros controladores. From f6e9c1c34750a36d2f9d720492fe899da087f541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Napur=C3=AD?= Date: Fri, 7 Aug 2026 01:20:12 -0500 Subject: [PATCH 3/3] Fix closing tag for itemizedlist in XML --- reference/pdo/pdostatement/getattribute.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/pdo/pdostatement/getattribute.xml b/reference/pdo/pdostatement/getattribute.xml index 3b6fceb6f5..67ede39f4d 100644 --- a/reference/pdo/pdostatement/getattribute.xml +++ b/reference/pdo/pdostatement/getattribute.xml @@ -33,7 +33,7 @@ Recupera la cantidad de memoria, en bytes, asignada al resultado de la consulta.
- + Tenga en cuenta que los atributos específicos del controlador no deben utilizarse con otros controladores.