El módulo PHP ha sido renombrado de php7_module a
php_module.
Los resultados de ReflectionClass::getConstants() y
ReflectionClass::getReflectionConstants() pueden ser filtrados a través de un nuevo parámetro
filter. Tres nuevas constantes han sido añadidas para ser usadas junto a la clase:
Las funciones matemáticas abs(), ceil(),
floor() y round() ahora respetan correctamente
la directiva strict_types.
Anteriormente, coercionaban el primer argumento incluso en modo de tipo estricto.
Los métodos ZipArchive::addGlob() y
ZipArchive::addPattern() aceptan más valores en el
options argumento de array:
flagscomp_methodcomp_flagsenv_methodenc_password
ZipArchive::addEmptyDir(), ZipArchive::addFile()
and ZipArchive::addFromString()
methods have a new flags argument. This allows managing name encoding
(ZipArchive::FL_ENC_*) and entry replacement
(ZipArchive::FL_OVERWRITE).
ZipArchive::extractTo() ahora restaura el tiempo de modificación del archivo.
La extensión CURL ahora requiere al menos libcurl 7.29.0.
El parámetro obsoleto version de curl_version() ha
sido eliminado.
DatePeriod ahora implementa IteratorAggregate (instead of Traversable).
DOMNamedNodeMap y DOMNodeList ahora implementan IteratorAggregate (instead of Traversable).
IntlBreakIterator y ResourceBundle ahora implementan IteratorAggregate (instead of Traversable).
La extensión enchant ahora usa libenchant-2 por defecto cuando esté disponible. libenchant versión 1 sigue siendo soportado pero está obsoleto y podría ser borrado en el futuro.
El num_points párametro de imagepolygon(),
imageopenpolygon() y imagefilledpolygon() es ahora
opcional, p.e. esas funciones pueden ser llamadas con 3 o 4 argumentos. Si el argumento está
omitido, está calculado como count($points)/2.
La función imagegetinterpolation() para obtener la interpolación actual ha sido añadida.
La extensión JSON no puede ser deshabilitada y siempre será una parte integral de cualquier build PHP. De manera similar a la extensión de fecha.
La tabla unicode ha sido actualizada a la versión 13.0.0.
PDOStatement ahora implementa IteratorAggregate (instead of Traversable).
La versión mínima requerida es 2.9.0. Esto significa que la carga externa está garantizada de ser deshabilitada por defecto y no habrá pasos extras para protegerse frente a los ataques XXE
Cuando mysqlnd no sea usado (que es la opción recomendada y por defecto), la versión libmysqlclient mínima soportada es ahora 5.5.
mysqli_result ahora implementa IteratorAggregate (instead of Traversable).
Las extensiones PGQSQL y PDO PGSQL ahora requieren al menos libpq 9.1.
Llamar a readline_completion_function() antes de que un prompt interactivo comience (e.g. in auto_prepend_file) ahora sobreescribirá default interactive prompt completion function. Previamente readline_completion_function() solo trabajaba cuando se le llamaba antes de comenzar el prompt interactivo.
SimpleXMLElement ahora implementa RecursiveIterator y absorve la funcionalidad de SimpleXMLIterator. SimpleXMLIterator es una extensión vacía de SimpleXMLElement.
com.dotnet_version es una nueva directiva INI para elegir la versión del framework .NET a usar en los objetos dotnet .
zend.exception_string_param_max_len es una nueva directiva INI para establecer la longitud máxima de la cadena de una traza de pila convertida a cadena.
Los objetivos EBCDIC no estarán más soportadas, aunque es poco probable que todavía estuvieran trabajando en el primer lugar.
Un compilador Just-In-Time (JIT) ha sido añadido a la extensión opcache
array_slice() de un array sin gaps no escaneará más el array completo para encontrar el offset del comienzo. Esto puede ser significante al reducir el runtime de la función con offsets más largos y tamaños más pequeños.
strtolower() ahora usa una implementación SIMD cuando se usa
"C" LC_CTYPE locale (que es la opción por defecto).