setcookie() et setrawcookie() prennent également la signature suivante :
où $options est un tableau associatif qui peu avoir l'une des clés suivantes "expires", "path", "domain", "secure", "httponly" et "samesite".Les directives INI suivantes ont été ajoutées pour personnaliser l'enregistrement, si le error_log est définie sur syslog:
Le GC cyclique a été amélioré, ce qui améliore grandement les performances.
var_export() exporte maintenant les objets
stdClass comme un tableau modifié en objet
((object) array( ... )
), plutôt de l'utiliser la méthode
inexistante stdClass::__setState().
debug_zval_dump() a été modifié pour afficher les tableaux et les objets récuscifs de la même manière que var_dump(). Maintenant, il ne les affiches pas deux fois.
array_push() et array_unshift() peuvent maintenant être appelés avec un seul argument, ce qui particulièrement pratique avec l'opétateur de décomposition.
Les constantes inutilisées PHPDBG_FILE
,
PHPDBG_METHOD
, PHPDBG_LINENO
et
PHPDBG_FUNC
ont été supprimées.
La fonction getallheaders() est maintenant également disponible.
libcurl ≥ 7.15.5 est maintenant nécessaire.
FILTER_VALIDATE_FLOAT
gère maintenant l'option
thousand, qui définit l'ensemble de caratères de
séparation pour les milliers. La valeur par défaut est ("',."
)
entièrement rétrocompatible avec les anciennes versions PHP.
FILTER_SANITIZE_ADD_SLASHES
a été ajouté comme un alias
du filtre magic_quotes (FILTER_SANITIZE_MAGIC_QUOTES
).
Le filtre magic_quotes est susceptible d'être supprimé
dans les futures versions de PHP.
Le mode de transfert par défaut a été modifié pour binary.
Normalizer::NONE
est déprécié, lorsque PHP est lié à
ICU ≥ 56.
Introduction de Normalizer::FORM_KC_CF
en tant qu'argument de
Normalizer::normalize() pour la normalisation
NFKC_Casefold; disponible lorsque PHP est lié à
ICU ≥ 56.
Un nouveau drapeau été ajouté, JSON_THROW_ON_ERROR
,
qui peut être utilisé avec json_decode() ou
json_encode() et provoque la levé de la nouvelle exception
JsonException lors d'une erreur, au lieu de définit
l'état d'erreur globale qui est récupéré avec json_last_error()
et json_last_error_msg().
JSON_PARTIAL_OUTPUT_ON_ERROR
prend le pas sur
JSON_THROW_ON_ERROR
.
L'option de configuration --with-libmbfl n'est plus disponible.
La gestion de ODBCRouter et Birdstep incluant la directive ini birdstep.max_links a été supprimé.
La directive ini opcache.inherited_hack a été supprimée. La valeur était ignorée depuis PHP 5.3.0.
Les options de flux ssl min_proto_version et max_proto_version ainsi que des constantes liées pour d'éventuelles valeurs de protocole TLS ont été aoutées.
L'extension PCRE a été mise à niveau vers PCRE2, ce qui peut provoqier des changements mineurs de comportement (par exemple, les plages de caratères dans les classes sont maintenant plus strictement interprétées), et augmente la syntaxe d'expression rationnelle existante.
preg_quote() échape désormais le caratère '#'.
L'attribut PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS
a été ajouté pour
permettre le saut automatique des ensembles de lignes vides.
L'attribut PDO::DBLIB_ATTR_TDS_VERSION
a été ajouté pour
exposer la version de TDS.
Les colonnes DATETIME2 sont désormais traitées comme des colonnes DATETIME.
Les bases de données SQLite3 peuvent désormais être ouverte en lecture seule en
définissant le nouvel attribut PDO::SQLITE_ATTR_OPEN_FLAGS
à
PDO::SQLITE_READONLY
.
session_set_cookie_params() gère désormais en charge la signature suivante :
où $options est un tableau associatif qui peut contenur chacune de ces clés "lifetime", "path", "domain", "secure", "httponly" et "samesite". Par conséquent, la valeur de retour de session_get_cookie_params() a maintenant également un élément avec la clé "samesite". En outre, la nouvelle directive ini session.cookie_samesite a été ajouté pour définir la valeur par défaut de SameSite pour les cookies. Par défaut à "" (chaîne vide), de sorte qu'aucune directive SameSite n'est définie. La valeur peut être "Lax" ou "Strict", qui définie la valeur de SameSite.Construire avec » tidyp est maintenant géré de façon transparente. Etant donnée que tidyp n'offre pas d'API pour obtenir la date de sortie, tidy_get_release() et tidy::getRelease() retourne 'unknown' dans ce cas.
La valeur de retour de la procédure de rappel de xml_set_external_entity_ref_handler() est maintenant étalement pris en compte si l'extension a été construite avec libxml. Auparavant, la valeur de retour était ignorée, et l'analyse ne sessait jamais.
Construire statiquement libzip est déconseillé, main toujours possible en ajoutant l'option de configuration --without-libzip .
L'option de contexte zlib/level pour compress.zlib wrapper pour faciliter la définition du niveau de compression souhaité a été ajouté.