PHP 8.4.1 Released!

Autres changements

PHP Core

Set(raw)cookie accepte l'argument $option

setcookie() et setrawcookie() prennent également la signature suivante :

setcookie(string $name, string $value = "", array $options = []): bool
$options est un tableau associatif qui peut avoir l'une des clés suivantes "expires", "path", "domain", "secure", "httponly" et "samesite".

Nouvelles directives INI Syslog

Les directives INI suivantes ont été ajoutées pour personnaliser l'enregistrement, si error_log est défini sur syslog:

syslog.facility
Spécifie quel type de programme enregistre le message.
syslog.filter
Spécifie le type de filtre pour filtrer les messages enregistrés, avec les types de filtres pris en charge - all, no-ctrl et ascii. À partir de PHP 7.3.8, raw est aussi disponible, restaurant le comportement de syslog correspondant au versions antérieures de PHP. Ce filtre affectera aussi les appels à syslog().
syslog.ident
Spécifie la chaîne ident qui préfixera chaque message.

Collecteur de mémoire

Le GC cyclique a été amélioré, ce qui améliore grandement les performances.

Divers

var_export() exporte maintenant les objets stdClass comme un tableau modifié en objet ((object) array( ... )), plutôt que d'utiliser la méthode inexistante stdClass::__setState().

debug_zval_dump() a été modifié pour afficher les tableaux et les objets récursifs de la même manière que var_dump(). Maintenant, il ne les affiche pas deux fois.

array_push() et array_unshift() peuvent maintenant être appelés avec un seul argument, ce qui est particulièrement pratique avec l'opétateur de décomposition.

Débogueur PHP interactif

Les constantes inutilisées PHPDBG_FILE, PHPDBG_METHOD, PHPDBG_LINENO et PHPDBG_FUNC ont été supprimées.

Gestionnaire de processus FastCGI

La fonction getallheaders() est maintenant également disponible.

Bibliothèque URL client

libcurl ≥ 7.15.5 est maintenant nécessaire.

Filtrage des données

FILTER_VALIDATE_FLOAT gère maintenant l'option thousand, qui définit l'ensemble de caractè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.

FTP

Le mode de transfert par défaut a été modifié pour binary.

Fonctions d'internationalisation

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.

Notation d'objets JavaScript

Un nouveau drapeau été ajouté, JSON_THROW_ON_ERROR, qui peut être utilisé avec json_decode() ou json_encode() et provoque la levée de la nouvelle exception JsonException lors d'une erreur, au lieu de définir l'état d'erreur global 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.

Chaîne multioctet

L'option de configuration --with-libmbfl n'est plus disponible.

ODBC (Unifié)

La gestion de ODBCRouter et Birdstep incluant la directive ini birdstep.max_links ont été supprimés.

OPcache

La directive ini opcache.inherited_hack a été supprimée. La valeur était ignorée depuis PHP 5.3.0.

OpenSSL

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é ajoutées.

Expressions régulières (Perl-Compatible)

L'extension PCRE a été mise à niveau vers PCRE2, ce qui peut provoquer des changements mineurs de comportement (par exemple, les plages de caractères dans les classes sont maintenant plus strictement interprétées), et augmente la syntaxe d'expression rationnelle existante.

preg_quote() échappe désormais le caractère '#'.

Fonctions Microsoft SQL Server et Sybase (PDO_DBLIB)

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.

Fonctions SQLite (PDO_SQLITE)

Les bases de données SQLite3 peuvent désormais être ouvertes en lecture seule en définissant le nouvel attribut PDO::SQLITE_ATTR_OPEN_FLAGS à PDO::SQLITE_OPEN_READONLY.

Manipulation de session

session_set_cookie_params() gère désormais en charge la signature suivante :

$options est un tableau associatif qui peut contenir 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ée 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éfinit la valeur de SameSite.

Tidy

Construire avec » tidyp est maintenant géré de façon transparente. Etant donné que tidyp n'offre pas d'API pour obtenir la date de sortie, tidy_get_release() et tidy::getRelease() retourne 'unknown' dans ce cas.

Parseur XML

La valeur de retour de la procédure de rappel de xml_set_external_entity_ref_handler() n'est plus ignorée si l'extension a été construite avec libxml. Auparavant, la valeur de retour était ignorée, et l'analyse ne cessait jamais.

Zip

Construire statiquement libzip est déconseillé, mais toujours possible en ajoutant l'option de configuration --without-libzip.

Zlib Compression

L'option de contexte zlib/level pour compress.zlib wrapper pour faciliter la définition du niveau de compression souhaité a été ajoutée.

add a note

User Contributed Notes

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