Rechercher une fonction PHP

Modifications entrainant une incompatibilité ascendante

Bien que la plupart du code PHP 5 existant devrait fonctionner sans aucune modification, vous devez prendre en considération quelques incompatibilités ascendantes :

Les clés des tableaux ne sont pas écrasées lors de la définition d'un tableau comme une propriété d'une classe via un tableau littéral

Précédemment, les tableaux déclarés comme des propriétés de classe qui mixaient des clés explicites et implicites pouvaient voir leurs éléments écrasés sans avertissement si une clé explicite était identique à une clé séquentielle implicite. Par exemple :

<?php
class {
    const 
ONE 1;
    public 
$array = [
        
self::ONE => 'foo',
        
'bar',
        
'quux',
    ];
}

var_dump((new C)->array);
?>

Résultat de l'exemple ci-dessus en PHP 5.5 :

array(2) {
  [0]=>
  string(3) "bar"
  [1]=>
  string(4) "quux"
}

Résultat de l'exemple ci-dessus en PHP 5.6 :

array(3) {
  [1]=>
  string(3) "foo"
  [2]=>
  string(3) "bar"
  [3]=>
  string(4) "quux"
}

Rigueur de json_decode()

json_decode() rejette maintenant les variantes non écrites en minuscule des littéraux JSON true, false et null, en accord avec la spécification JSON, et json_last_error() est renseignée en conséquence. Précédemment, les valeurs passées à json_decode() contenant l'une de ces valeurs en majuscules ou dans une casse mixte étaient acceptées.

Ce changement va affecter uniquement les cas ou du JSON invalide serait passé à json_decode() : du JSON valide ne sera pas affecté et sera analysé normalement.

Retour à la première page de Manuel PHP  Table des matières Haut

Les gestionnaires de flux vérifient maintenant par défaut les certificats de pair et les noms d'hôtes lors de l'utilisation de SSL/TLS

Tous les flux clients cryptés activent désormais la vérification par paire par défaut. Par défaut, ceci va utiliser le CA OpenSSL par défaut pour vérifier la paire de certificat. Dans la plupart des cas, aucune modification n'a besoin d'être faite pour communiquer avec des serveurs et des certificats SSL valides, sachant que les distributeurs configurent généralement OpenSSL pour utiliser les CA connus.

Le CA par défaut peut être écrasé sur une base globale en utilisant les options de configuration openssl.cafile ou openssl.capath, ou via une requête basique en utilisant les options de contexte cafile ou capath.

Bien que ce ne soit pas conseillé en général, il est possible de désactiver la vérification de certificats par paire pour une requête en définissant l'option de contexte verify_peer à FALSE, et pour désactiver la validation du nom des paires, en configurant l'option de contexte verify_peer_name à FALSE.

Les ressources GMP sont maintenant des objets

Les ressources GMP sont maintenant des objets. L'API de l'extension GMP n'a pas changé et le code existant devrait continuer à fonctionner sans modification à moins qu'une vérification explicite ne soit faite en utilisant is_resource() ou équivalent.

Les fonctions Mcrypt requièrent maintenant des clés ou IV valides

mcrypt_encrypt(), mcrypt_decrypt(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ecb(), mcrypt_generic() et mcrypt_ofb() n'acceptent plus de clés ou de vecteurs d'initialisation (IVs) de tailles incorrectes, et les modes de ciphers par blocs qui requièrent des IVs échoueront désormais si un IV n'est pas fourni.

Téléchargement de fichiers avec cURL

Le téléchargement de fichier en utilisant la syntaxe @file nécessite maintenant que la directive CURLOPT_SAFE_UPLOAD soit définie à FALSE. CURLFile doit plutôt être utilisé à la place.

Rechercher une fonction PHP

Version en cache

21/11/2024 23:49:56 Cette version de la page est en cache (à la date du 21/11/2024 23:49:56) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-migration56.incompatible.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut