Utiliser -a sans l'extension readline va maintenant résulter en une erreur.
Auparavant, -a sans readline avait le même comportement que
l'appel de php sans aucun argument, à part l'impression d'un message
"Mode interactif activé"
supplémentaire.
Ce mode n'était pas interactif.
Les fonctionnalités distantes de phpdbg ont été enlèvées.
L'ordre des propriétés utilisées dans foreach, var_dump(), serialize(), la comparaison d'objets, etc. a été changé. Les propriétés sont maintenant ordonnées naturellement selon leur déclaration et leur héritage. Les propriétés déclarées dans une classe de base sont placées avant les propriétés de l'enfant.
Cet ordre est cohérent avec la disposition interne des propriétés dans la structure
zend_object
et répète l'ordre dans
default_properties_table[]
et properties_info_table[]
.
L'ancien ordre n'était pas documenté et était causé par des détails d'implémentation
Le drapeau FILTER_FLAG_ALLOW_OCTAL
du filtre
FILTER_VALIDATE_INT
accepté désormais les chaînes octales avec le préfixe octal
("0o"
/"0O"
).
Toutes les fonctions GMP acceptent désormais les chaînes octales avec le préfixe octal
("0o"
/"0O"
).
PDO::getAttribute() avec
PDO::ATTR_SERVER_INFO
et
PDO::ATTR_SERVER_VERSION
retournent désormais des valeurs à la place de lancer PDOException.
ReflectionProperty::setAccessible() et ReflectionMethod::setAccessible() n'ont plus d'effets. Les propriétés et méthodes sont maintenant toujours considérées accessibles via la réflexion.
syslog() est désormais binaire sûr.
imagewebp() peut maintenant effectuer un encodage WebP sans perte
en passant IMG_WEBP_LOSSLESS
comme qualité.
Cette constante n'est définie que si la librairie GD utilisée supporte l'encodage WebP sans perte.
mysqli_stmt::next_result() et mysqli::fetch_all() sont maintenant disponibles lors de la compilation contre libmysqlclient.
L'extension OpenSSL requiert maintenant au moins OpenSSL version 1.0.2.
OpenSSL 3.0 est maintenant supporté. Soyez conscient que de nombreux chiffrements ne sont plus activés par défaut (partie du fournisseur hérité), et que la validation des paramètres (par exemple, les tailles de clé minimales) est maintenant plus stricte.
SHA256 est désormais utilisé par défaut pour les signatures.
Ajout du suuport pour les signatures OpenSSL_SHA256 and OpenSSL_SHA512.
Ajout du support pour SHA256 et SHA512 pour le protocole de sécurité.
--with-password-argon2
utilise maintenant pkg-config pour détecter libargon2.
En conséquence, un emplacement alternatif pour libargon2 devrait maintenant être spécifié en utilisant
PKG_CONFIG_PATH.
La directive INI log_errors_max_len a été supprimée. Il n'avait plus d'effet depuis PHP 8.0.0.
Un dollar en tête d'une chaîne citée peut maintenant être échappé: "\${"
sera maintenant
interprété comme une chaîne avec le contenu ${
.
Les antislashes dans les chaînes doublement citées sont maintenant traités de manière plus cohérente comme
des caractères d'échappement. Auparavant, "foo\\"
suivi de
quelque chose d'autrequ'une nouvelle ligne n'était pas considéré comme une chaîne terminée.
Il est maintenant interprété comme une chaîne avec le contenu foo\
.
Cependant, en tant qu'exception, la chaîne "foo\"
suivie d'une nouvelle ligne continuera d'être traitée comme une chaîne valide avec
le contenu foo\
plutôt qu'une chaîne non terminée.
Cette exception existe pour supporter les utilisations naïves des chemins de fichiers Windows tels que
"C:\foo\"
.