PHP 8.4.0 RC4 available for testing

Autre changements

Changement dans les modules SAPI

CLI

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.

PHPDBG

Les fonctionnalités distantes de phpdbg ont été enlèvées.

Fonctions changées

Core

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

Filter

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").

GMP

Toutes les fonctions GMP acceptent désormais les chaînes octales avec le préfixe octal ("0o"/"0O").

PDO ODBC

PDO::getAttribute() avec PDO::ATTR_SERVER_INFO et PDO::ATTR_SERVER_VERSION retournent désormais des valeurs à la place de lancer PDOException.

Reflection

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.

Standard

syslog() est désormais binaire sûr.

Autres changements aux extensions

GD

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

mysqli_stmt::next_result() et mysqli::fetch_all() sont maintenant disponibles lors de la compilation contre libmysqlclient.

OpenSSL

  • 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.

Phar

  • SHA256 est désormais utilisé par défaut pour les signatures.

  • Ajout du suuport pour les signatures OpenSSL_SHA256 and OpenSSL_SHA512.

SNMP

  • Ajout du support pour SHA256 et SHA512 pour le protocole de sécurité.

Standard

--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.

Changements dans la gestion du fichier INI

  • 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\".

add a note

User Contributed Notes

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