Otros cambios

Núcleo de PHP

Set(raw)cookie acepta el argumento $options

setcookie() y setrawcookie() ahora también aceptan la siguiente firma:

setcookie(string $name, string $value = "", array $options = []): bool
donde $options es un array asociativo que puede tener cualquiera de las siguientes claves "expires", "path", "domain", "secure", "httponly" y "samesite".

Nuevas directivas INI Syslog

Se han añadido las siguientes directivas INI para personalizar el registro, si error_log está definido en syslog:

syslog.facility
Especifica qué tipo de programa está registrando el mensaje.
syslog.filter
Especifica el tipo de filtro para filtrar los mensajes registrados, con los tipos de filtros soportados - all, no-ctrl y ascii. A partir de PHP 7.3.8, raw también está disponible, restaurando el comportamiento de syslog correspondiente a versiones anteriores de PHP. Este filtro también afectará a las llamadas a syslog().
syslog.ident
Especifica la cadena de identificación que precederá a cada mensaje.

Recolector de basura

El GC cíclico ha sido mejorado, lo que mejora significativamente el rendimiento.

Diversos

var_export() ahora exporta objetos stdClass como un array modificado en objeto ((object) array( ... )), en lugar de usar el método inexistente stdClass::__setState().

debug_zval_dump() ha sido modificado para mostrar arrays y objetos recursivos de la misma manera que var_dump(). Ahora, no los muestra dos veces.

array_push() y array_unshift() ahora pueden ser llamados con un solo argumento, lo cual es particularmente práctico con el operador de descomposición.

Depurador PHP interactivo

Las constantes no utilizadas PHPDBG_FILE, PHPDBG_METHOD, PHPDBG_LINENO y PHPDBG_FUNC han sido eliminadas.

Gestor de procesos FastCGI

La función getallheaders() ahora también está disponible.

Biblioteca URL cliente

Ahora se requiere libcurl ≥ 7.15.5.

Filtrado de datos

FILTER_VALIDATE_FLOAT ahora soporta la opción thousand, que define el conjunto de caracteres de separación para los miles. El valor por defecto es ("',.") retrocompatible con versiones anteriores de PHP.

FILTER_SANITIZE_ADD_SLASHES ha sido añadido como un alias del filtro magic_quotes (FILTER_SANITIZE_MAGIC_QUOTES). El filtro magic_quotes está sujeto a ser eliminado en futuras versiones de PHP.

FTP

El modo de transferencia por defecto ha sido cambiado a binary.

Funciones de internacionalización

Normalizer::NONE está obsoleto cuando PHP está enlazado a ICU ≥ 56.

Introducción de Normalizer::FORM_KC_CF como argumento de Normalizer::normalize() para la normalización NFKC_Casefold; disponible cuando PHP está enlazado a ICU ≥ 56.

Notación de objetos JavaScript

Se ha añadido una nueva bandera, JSON_THROW_ON_ERROR, que puede ser utilizada con json_decode() o json_encode() y provoca que se lance la nueva excepción JsonException en caso de error, en lugar de establecer el estado de error global que se recupera con json_last_error() y json_last_error_msg(). JSON_PARTIAL_OUTPUT_ON_ERROR tiene prioridad sobre JSON_THROW_ON_ERROR.

Cadena multibyte

La opción de configuración --with-libmbfl ya no está disponible.

ODBC (Unificado)

La gestión de ODBCRouter y Birdstep incluyendo la directiva ini birdstep.max_links han sido eliminadas.

OPcache

La directiva ini opcache.inherited_hack ha sido eliminada. El valor era ignorado desde PHP 5.3.0.

OpenSSL

Se han añadido las opciones de flujo ssl min_proto_version y max_proto_version así como constantes enlazadas para varios valores de protocolo TLS.

Expresiones regulares (Perl-Compatible)

La extensión PCRE ha sido actualizada a PCRE2, lo que puede provocar cambios menores en el comportamiento (por ejemplo, las clases de caracteres en las clases son ahora estrictamente interpretadas), y amplía la sintaxis de expresión regular existente.

preg_quote() ahora escapa el carácter '#'.

Funciones Microsoft SQL Server y Sybase (PDO_DBLIB)

El atributo PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS ha sido añadido para permitir el salto automático de conjuntos de filas vacíos.

El atributo PDO::DBLIB_ATTR_TDS_VERSION ha sido añadido para exponer la versión de TDS.

Las columnas DATETIME2 ahora se tratan como columnas DATETIME.

Funciones SQLite (PDO_SQLITE)

Las bases de datos SQLite3 ahora pueden ser abiertas en modo solo lectura definiendo el nuevo atributo PDO::SQLITE_ATTR_OPEN_FLAGS a PDO::SQLITE_OPEN_READONLY.

Manejo de sesiones

session_set_cookie_params() ahora soporta la siguiente firma:

donde $options es un array asociativo que puede contener cualquiera de estas claves "lifetime", "path", "domain", "secure", "httponly" y "samesite". En consecuencia, el valor de retorno de session_get_cookie_params() ahora también tiene un elemento con la clave "samesite". Además, se ha añadido la nueva directiva ini session.cookie_samesite para definir el valor por defecto de SameSite para las cookies. Por defecto a "" (cadena vacía), de modo que no se define ninguna directiva SameSite. El valor puede ser "Lax" o "Strict", que define el valor de SameSite.

Tidy

La construcción con » tidyp ahora es transparente. Dado que tidyp no proporciona una API para obtener la fecha de construcción, tidy_get_release() y tidy::getRelease() devuelven 'unknown' en este caso.

Analizador XML

El valor de retorno de la función de devolución de llamada de xml_set_external_entity_ref_handler() ya no se ignora si la extensión se construyó con libxml. Anteriormente, el valor de retorno era ignorado, y el análisis nunca cesaba.

Zip

La construcción estática de libzip está desaconsejada, pero sigue siendo posible añadiendo la opción de configuración --without-libzip.

Compresión Zlib

Se ha añadido la opción de contexto zlib/level para el wrapper de compresión zlib para facilitar la definición del nivel de compresión deseado.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top