Le module PHP a été renommé de php7_module
pour
php_module
.
Les résultats de ReflectionClass::getConstants() et
ReflectionClass::getReflectionConstants() peuvent maintenant être filtrés avec
un nouveau paramètre filter
. Trois nouvelles constantes ont été ajoutées pour être utilisées avec celui-ci:
Les fonctions de math abs(), ceil(),
floor() et round() respectent maintenant correctement
les directives strict_types
.
Auparavant, elles forçaient le premier argument même en mode de type strict.
Les méthodes ZipArchive::addGlob() et
ZipArchive::addPattern() acceptent plus de valeurs dans le
paramètre tableau options
flags
comp_method
comp_flags
env_method
enc_password
Les méthodes ZipArchive::addEmptyDir(), ZipArchive::addFile()
et ZipArchive::addFromString()
ont un nouveau argument drapeau
. Cela permet de gérer l'encodage des noms
(ZipArchive::FL_ENC_*
) et le remplacement des entrées
(ZipArchive::FL_OVERWRITE
).
ZipArchive::extractTo() restaure maintenant l'heure de modification du fichier.
L'extension CURL requiert maintenant au moins libcurl 7.29.0.
Le paramètre déprécié version
de curl_version() a
été supprimé.
DatePeriod implémente maintenant IteratorAggregate (à la place de Traversable).
DOMNamedNodeMap et DOMNodeList implémentent maintenant IteratorAggregate (à la place de Traversable).
IntlBreakIterator et ResourceBundle implémentent maintenant IteratorAggregate (à la place de Traversable).
L'extension enchant utilise maintenant libenchant-2 par défaut quand disponible. La version 1 de libenchant est toujours supportée mais est dépréciée et pourrait être supprimée dans le futur.
Le paramètre num_points
de imagepolygon(),
imageopenpolygon() et imagefilledpolygon() est maintenant
optionnel, par exemple ces fonctions peuvent être appélées avec soit 3 ou 4 arguments. Si l'argument est
omit il est calculé comme count($points)/2
.
La fonction imagegetinterpolation() pour obtenir la méthode d'interpolation a été ajoutée.
L'extension JSON ne peut plus être désactivée et est maintenant une partie intégrale de toute construction PHP, similaire à l'extension date.
La table de données Unicode a été mise à jour en version 13.0.0.
PDOStatement implémente maintenant IteratorAggregate (à la place de Traversable).
La version minimum requise de libxml est maintenant 2.9.0. Cela signifie que le chargement d'entités externes est maintenant garanti d'être désactivé par défaut, et aucune étape supplémentaire n'est nécessaire pour se protéger contre les attaques XXE.
Lorsque mysqlnd n'est pas utilisé (ce qui est l'option recommandé par défaut), la version minimum supportée de libmysqlclient est maintenant 5.5.
mysqli_result implemente maintenant IteratorAggregate (à la place de Traversable).
Les extensions PGSQL et PDO PGSQL requièrent maintenant au moins libpq 9.1.
Appeler readline_completion_function() avant que l'invite interactive ne commence (par exemple dans auto_prepend_file) remplacera maintenant la fonction de complétion par défaut de l'invite interactive. Auparavant, readline_completion_function() ne fonctionnait que lorsqu'elle était appelée après le démarrage de l'invite interactive.
SimpleXMLElement maintenant implémente RecursiveIterator et a absorbé la fonctionnalité de SimpleXMLIterator. SimpleXMLIterator est une extension vide de SimpleXMLElement.
com.dotnet_version est une nouvelle directive INI pour choisir la version du framework .NET à utiliser pour les objets dotnet.
zend.exception_string_param_max_len est une nouvelle directive INI pour changer la longueur maximum d'une chaîne de caratères dans un argument d'une trace d'appels transformée en chaîne de caratères.
Les cibles EBCDIC ne sont plus supportées, bien qu'il soit peu probable qu'elles fonctionnaient encore.
Un compilateur à la volé (Just-In-Time ou JIT) a été ajouté à l'extension opcache.
array_slice() sur un tableau sans trou ne scan plus l'entièreté du tableau pour trouver l'écart de départ. Cela peut réduire significativement le temps d'exécution de la fonction avec de grands écarts et de petites longueurs.
strtolower() utilise maintenant une implémentation SIMD quand la locale
"C"
LC_CTYPE
est utilisée (qui est celle par défaut).