From 9c2d46c0ef7c77b15603e6b898d568cf5d050aab Mon Sep 17 00:00:00 2001 From: Louis-Arnaud Date: Tue, 15 Sep 2026 09:26:54 +0200 Subject: [PATCH] [Sync-En] Document the PHP 8.5 new warnings and exceptions --- reference/bzip2/functions/bzcompress.xml | 42 +++++++++++++- reference/fileinfo/functions/finfo-file.xml | 20 ++++++- reference/mysqli/mysqli/construct.xml | 31 ++++++---- reference/pcntl/functions/pcntl-exec.xml | 49 +++++++++++++++- reference/session/functions/session-start.xml | 34 +++++++++-- .../session/functions/session-write-close.xml | 32 +++++----- .../simplexml/simplexmlelement/xpath.xml | 35 ++++++++++- reference/tidy/tidy/construct.xml | 14 ++++- reference/tidy/tidy/parsefile.xml | 21 +++++-- reference/tidy/tidy/parsestring.xml | 58 +++++++++++-------- 10 files changed, 267 insertions(+), 69 deletions(-) diff --git a/reference/bzip2/functions/bzcompress.xml b/reference/bzip2/functions/bzcompress.xml index cc326b7df3..cd593c94fd 100644 --- a/reference/bzip2/functions/bzcompress.xml +++ b/reference/bzip2/functions/bzcompress.xml @@ -1,6 +1,6 @@ - + @@ -49,7 +49,8 @@ es un valor especial). - Fuera de work_factor, el resultado será el mismo. + Independientemente del valor de work_factor, el resultado + generado es el mismo. @@ -61,6 +62,39 @@ La cadena comprimida o un número de error si ocurre un error. + + &reftitle.errors; + + A partir de PHP 8.5.0, se lanza una ValueError si + block_size no está entre 1 y 9, o si + work_factor no está entre 0 y 250. + + + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.5.0 + + Ahora se lanza una ValueError si + block_size no está entre 1 y 9, o si + work_factor no está entre 0 y 250. + + + + + + + &reftitle.examples; @@ -68,7 +102,7 @@ @@ -80,6 +114,8 @@ echo $bzstr; &reftitle.seealso; bzdecompress + bzopen + gzcompress diff --git a/reference/fileinfo/functions/finfo-file.xml b/reference/fileinfo/functions/finfo-file.xml index b8d7437ec7..6fa0681a6c 100644 --- a/reference/fileinfo/functions/finfo-file.xml +++ b/reference/fileinfo/functions/finfo-file.xml @@ -1,5 +1,5 @@ - + @@ -75,6 +75,16 @@ + + &reftitle.errors; + + Lanza una ValueError si + filename contiene bytes nulos. + Antes de PHP 8.5.0, se lanzaba una TypeError + en su lugar. + + + &reftitle.changelog; @@ -86,6 +96,14 @@ + + 8.5.0 + + Ahora se lanza una ValueError en lugar de una + TypeError cuando filename + contiene bytes nulos. + + &fileinfo.changelog.finfo-object; 8.0.0 diff --git a/reference/mysqli/mysqli/construct.xml b/reference/mysqli/mysqli/construct.xml index 87e45c42f2..72ce737998 100644 --- a/reference/mysqli/mysqli/construct.xml +++ b/reference/mysqli/mysqli/construct.xml @@ -1,5 +1,5 @@ - + @@ -25,7 +25,7 @@ public boolmysqli::connect stringnullhostname&null; stringnullusername&null; - #[\SensitiveParameter]stringnullpassword&null; + #[\SensitiveParameter]stringnullpassword&null; stringnulldatabase&null; intnullport&null; stringnullsocket&null; @@ -135,14 +135,18 @@ &return.falseforfailure;. - mysqli::connect devuelve &true; en caso de éxito &return.falseforfailure;. - Anterior a PHP 8.1.0, devuelve &null; en caso de éxito. + mysqli::connect devuelve &true; en caso de éxito&return.falseforfailure;. + Antes de PHP 8.1.0, devuelve &null; en caso de éxito. &reftitle.errors; &mysqli.conditionalexception; + + A partir de PHP 8.5.0, llamar al constructor sobre un objeto ya construido + lanza un Error. + @@ -157,6 +161,13 @@ + + 8.5.0 + + Llamar al constructor sobre un objeto ya construido ahora lanza + un Error. + + 8.1.0 @@ -170,8 +181,8 @@ - - + + @@ -275,24 +286,24 @@ if (mysqli_errno($mysqli)) { Para verificar si la conexión falló, utilice la función mysqli_connect_error o la propiedad mysqli->connect_error - como en el ejemplo anterior. + como en los ejemplos anteriores. Si es necesario configurar opciones, como el tiempo de espera de conexión, - mysqli_real_connect debe ser utilizado. + se debe utilizar mysqli_real_connect en su lugar. - Llamar al constructor sin parámetros tiene el mismo efecto que llamar + Llamar al constructor sin parámetros tiene el mismo efecto que llamar a mysqli_init. - El error "Can't create TCP/IP socket (10106)" significa generalmente que la directiva de configuración + El error "Can't create TCP/IP socket (10106)" significa generalmente que la directiva de configuración variables_order no contiene el carácter E. En Windows, si el entorno no se copia, la variable de entorno SYSTEMROOT no estará disponible diff --git a/reference/pcntl/functions/pcntl-exec.xml b/reference/pcntl/functions/pcntl-exec.xml index fc5b5f25d3..5e343ca29d 100644 --- a/reference/pcntl/functions/pcntl-exec.xml +++ b/reference/pcntl/functions/pcntl-exec.xml @@ -1,5 +1,5 @@ - + pcntl_exec @@ -15,7 +15,7 @@ arrayenv_vars[] - Ejecuta el programa indicado en el espacio actual de procesos. + Ejecuta el programa con los argumentos indicados. @@ -48,7 +48,7 @@ env_vars - env_vars es un array de strings que son pasadas + env_vars es un array de strings que son pasados al programa como variables de entorno. El array es de la forma nombre => valor, la clave es el nombre de la variable de entorno y el valor es el valor de esta variable. @@ -67,6 +67,49 @@ + + &reftitle.errors; + + A partir de PHP 8.5.0, se lanza una ValueError si + alguna entrada de args contiene un byte nulo, o si + alguna entrada o clave de env_vars contiene un byte nulo. + + + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.5.0 + + Ahora se lanza una ValueError si alguna entrada de + args contiene un byte nulo, o si alguna entrada o + clave de env_vars contiene un byte nulo. + + + + + + + + + &reftitle.seealso; + + pcntl_fork + pcntl_waitpid + exec + proc_open + + + - + @@ -39,7 +39,7 @@ gestor interno de salida para la reescritura de URLs. - Si un usuario utiliza ob_gzhandler o el equivalente + Si un usuario utiliza ob_gzhandler o similar con ob_start, el orden de llamada de las funciones es importante para una salida correcta. Por ejemplo, ob_gzhandler debe ser registrado antes de iniciar la sesión. @@ -60,8 +60,8 @@ Además del conjunto normal de directivas de configuración, una opción - read_and_close puede también ser proporcionada. Si la - valor es definido como &true;, esto provoca el cierre inmediato de + read_and_close puede también ser proporcionada. Si el + valor se define como &true;, esto provoca el cierre inmediato de la sesión después de la lectura, lo que evita cualquier bloqueo innecesario si los datos de sesión no son modificados. @@ -77,6 +77,20 @@ + + &reftitle.errors; + + A partir de PHP 8.5.0, se lanza una ValueError si + options contiene alguna clave que no sea de tipo string. + + + A partir de PHP 8.5.0, se lanza una TypeError si la + opción read_and_close no es de tipo string, + int o bool, o si su valor no puede interpretarse + como un int. + + + &reftitle.changelog; @@ -89,6 +103,16 @@ + + 8.5.0 + + Ahora lanza una ValueError si el array + options contiene claves que no son de tipo string, + y una TypeError si el valor de + read_and_close no es compatible con + int. + + 7.1.0 @@ -213,7 +237,7 @@ session_start([ El uso de - + zlib.output_compression es recomendado, en lugar de ob_gzhandler. diff --git a/reference/session/functions/session-write-close.xml b/reference/session/functions/session-write-close.xml index d51079a111..f6158b7168 100644 --- a/reference/session/functions/session-write-close.xml +++ b/reference/session/functions/session-write-close.xml @@ -1,6 +1,6 @@ - + @@ -25,9 +25,9 @@ del script, los datos de sesión están bloqueados en escritura, y un solo script puede operar sobre la sesión a la vez. Cuando se utilizan frames con sesiones, esto se nota al ver cómo las frames - se actualizan una tras otra. Puede reducirse el tiempo de cálculo de estas páginas - cerrando la sesión tan pronto como sea posible, lo que libera los datos - para otros scripts. + se actualizan una tras otra. Puede reducirse el tiempo de carga de todas las frames + cerrando la sesión tan pronto como se hayan terminado todos los cambios + en las variables de sesión. @@ -54,11 +54,19 @@ + + 8.5.0 + + Si $_SESSION contiene una clave con un carácter de barra vertical + (|), ahora se emite un E_WARNING. Anteriormente, + la escritura de los datos de sesión fallaba silenciosamente. + + 7.2.0 - El tipo de retorno de esta función es ahora &boolean;. - Anteriormente, era void. + El tipo de retorno de esta función es ahora bool. + Anteriormente, era void. @@ -68,13 +76,11 @@ &reftitle.seealso; - - - - session_register_shutdown - - - + + session_register_shutdown + session_start + session_abort + diff --git a/reference/simplexml/simplexmlelement/xpath.xml b/reference/simplexml/simplexmlelement/xpath.xml index 021f3472ab..36e13318ad 100644 --- a/reference/simplexml/simplexmlelement/xpath.xml +++ b/reference/simplexml/simplexmlelement/xpath.xml @@ -1,5 +1,5 @@ - + @@ -16,7 +16,7 @@ El método xpath busca en el nodo SimpleXML hijos que correspondan al expression - Xpath. + XPath. @@ -39,9 +39,38 @@ &reftitle.returnvalues; - Devuelve un array de objetos SimpleXMLElement en caso de éxito o &null; + Devuelve un array de objetos SimpleXMLElement en caso de éxito o &null; o &false; si ocurre un error. + + A partir de PHP 8.5.0, si la expresión XPath devuelve algo distinto de un conjunto + de nodos (por ejemplo, un bool o un número), se emite un E_WARNING + y se devuelve &false; en lugar de devolver silenciosamente un array vacío. + + + + + &reftitle.changelog; + + + + + &Version; + &Description; + + + + + 8.5.0 + + Si la expresión XPath devuelve algo distinto de un conjunto de nodos, ahora se + emite un E_WARNING y se devuelve &false;. + Anteriormente, se devolvía silenciosamente un array vacío. + + + + + diff --git a/reference/tidy/tidy/construct.xml b/reference/tidy/tidy/construct.xml index 5e1feee091..90aa877b00 100644 --- a/reference/tidy/tidy/construct.xml +++ b/reference/tidy/tidy/construct.xml @@ -1,5 +1,5 @@ - + @@ -16,7 +16,7 @@ booluseIncludePath&false; - construye un nuevo objeto tidy. + Construye un nuevo objeto tidy. @@ -96,6 +96,16 @@ + + 8.5.0 + + Ahora lanza una ValueError si + config contiene una opción desconocida o intenta + establecer una opción de solo lectura, y una TypeError + si una clave de configuración no es de tipo string, o si una opción no acepta + el valor proporcionado. + + 8.4.0 diff --git a/reference/tidy/tidy/parsefile.xml b/reference/tidy/tidy/parsefile.xml index 7f5479ea75..34245aba95 100644 --- a/reference/tidy/tidy/parsefile.xml +++ b/reference/tidy/tidy/parsefile.xml @@ -1,5 +1,5 @@ - + @@ -110,6 +110,16 @@ + + 8.5.0 + + Ahora lanza una ValueError si + config contiene una opción desconocida o intenta + establecer una opción de solo lectura, y una TypeError + si una clave de configuración no es de tipo string, o si una opción no acepta + el valor proporcionado. + + 8.0.0 @@ -130,13 +140,14 @@ parseFile('file.html'); $tidy->cleanRepair(); -if(!empty($tidy->error_buf)) { - echo 'Los siguientes errores y advertencias han sido encontrados :'."\n"; - echo $tidy->error_buf; +if(!empty($tidy->errorBuffer)) { + echo "Se produjeron los siguientes errores o advertencias:\n"; + echo $tidy->errorBuffer; } ?> ]]> diff --git a/reference/tidy/tidy/parsestring.xml b/reference/tidy/tidy/parsestring.xml index e28b899d7a..83a22ff993 100644 --- a/reference/tidy/tidy/parsestring.xml +++ b/reference/tidy/tidy/parsestring.xml @@ -1,12 +1,12 @@ - + tidy::parseString tidy_parse_string - Analiza un documento HTML contenido en una string + Analiza un documento contenido en una string @@ -81,7 +81,7 @@ tidy::parseString devuelve &true; en caso de éxito. tidy_parse_string devuelve una nueva instancia de tidy en caso de éxito. - Ambos, el método y la función devuelven &false; en caso de fallo. + Tanto el método como la función devuelven &false; en caso de fallo. @@ -96,6 +96,16 @@ + + 8.5.0 + + Ahora lanza una ValueError si + config contiene una opción desconocida o intenta + establecer una opción de solo lectura, y una TypeError + si una clave de configuración no es de tipo string, o si una opción no acepta + el valor proporcionado. + + 8.0.0 @@ -119,24 +129,24 @@ ob_start(); ?> - - test - - -

error
otra línea

- + + test + + +

error
otra línea + TRUE, - 'output-xhtml' => TRUE, - 'wrap' => 200); + 'output-xhtml' => TRUE, + 'wrap' => 200); $tidy = tidy_parse_string($buffer, $config, 'UTF8'); $tidy->cleanRepair(); - echo $tidy; ?> ]]> @@ -145,19 +155,19 @@ echo $tidy; + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - - - test - - - -

- error
- otra línea -

- + + + test + + + +

+ error
+ otra línea +

+ ]]>