Usando -a sem a extensão readline agora resultará em um erro.
Anteriormente, -a sem readline havia o mesmo comportamento que
chamar php sem nenhum argumento, além de imprimir uma mensagem adicional
"Interactive mode enabled"
.
Esse modo não era interativo.
Funcionalidade remota do phpdbg foi removida.
A ordem das propriedades usadas em foreach
, var_dump(),
serialize(), comparação de objetos, etc. foi alterada.
Propriedades agora são ordenadas naturalmente de acordo com a declaração
e herança deles. Propriedades declaradas em uma classe base estarão
antes das propriedades das filhas.
A ordem é consistente com o layout interno das propriedades na estrutura
zend_object
e repete a ordem em
default_properties_table[]
e properties_info_table[]
.
A velha ordem não foi documentada e era causada por detalhes de implementação de herança de classes.
A flag FILTER_FLAG_ALLOW_OCTAL
do
filtro FILTER_VALIDATE_INT
agora aceita strings octais com o prefixo octal
("0o"
/"0O"
).
Todas as funções GMP agora aceitam string octal com o prefixo octal
("0o"
/"0O"
).
PDO::getAttribute() com
PDO::ATTR_SERVER_INFO
e
PDO::ATTR_SERVER_VERSION
agora retorna valores ao invés de lançar PDOException.
ReflectionProperty::setAccessible() e ReflectionMethod::setAccessible() não têm mais efeito. Propriedades e métodos agora são sempre considerados acessíveis via Reflexão.
syslog() agora é segura para binários.
imagewebp() agora pode fazer codificação WebP lossless
passando IMG_WEBP_LOSSLESS
como a qualidade.
Essa constante é definida apenas se a libgd utilizada suporta codificação WebP lossless.
mysqli_stmt::next_result() e mysqli::fetch_all() agora estão disponíveis quando linkando contra libmysqlclient.
A extensão OpenSSLagora requer pelo menos OpenSSL versão 1.0.2.
OpenSSL 3.0 agora é suportado. Esteja ciente que muitos cifradores não estão mais habilitados por padrão (parte do provedor legado), e que validação de parâmetros (p. ex.: tamanho mínimo de chaves) é mais estrita agora.
SHA256 agora é usado por padrão para assinaturas.
Adicionado suporte para assinaturas OpenSSL_SHA256 e OpenSSL_SHA512.
Adicionado suporte para SHA256 e SHA512 para o protocolo de segurança.
--with-password-argon2
agora usa pkg-config para detectar libargon2.
Como tal, o local para uma libgargon2 alternativa deve ser especificado usando
PKG_CONFIG_PATH.
A diretiva INI log_errors_max_len foi removida. Ela não possui mais efeito desde o PHP 8.0.0.
Um dólar no início de uma string entre aspas agora pode ser escapado: "\${"
agora será
interpretado como uma string de conteúdo ${
.
Barras inversas em strings entre aspas duplas agora são mais consistentemente tratadas como
caracteres de escape. Anteriormente, "foo\\"
seguida de
algo diferente de uma nova linha não era considerada uma string finalizada.
Agora ela é interpretada como uma string de conteúdo foo\
.
No entanto, como uma exceção, a string "foo\"
seguida de uma nova linha continuará sendo tratada como uma string válida de
conteúdo foo\
em vez de uma string não terminada.
Essa exceção existe para suportar usos ingênuos de caminhos do Windows tais como
"C:\foo\"
.