Annexes
PHP Manual

Historique des modifications

Les modifications suivantes ont été apportées aux fonctions des extensions embarquées.

VersionFunctionDescription
5.6.0cryptLance une alerte de niveau E_NOTICE si le paramètre salt est omis.
 curl_setoptSuppression de CURLOPT_CLOSEPOLICY et des valeurs associées.
 pg_lo_seekAjoute le support des objetslarges 64 bit en PostgreSQL 9.3. À la fois le client et le serveur doivent supporter PostgreSQL 9.3 et PHP doit avoir été compilé en 64 bit pour utiliser les objets larges 64 bit.
 pg_lo_tellAjoute le support des objetslarges 64 bit en PostgreSQL 9.3. À la fois le client et le serveur doivent supporter PostgreSQL 9.3 et PHP doit avoir été compilé en 64 bit pour utiliser les objets larges 64 bit.
 pg_lo_truncateAdded truncate function. It supports PostgreSQL 9.3's 64bit large object. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.
5.5.7apache_request_headersCette fonction devient disponible pour le serveur CLI.
 apache_response_headersCette fonction devient disponible pour le serveur CLI.
 getallheadersCette fonction devient disponible pour le serveur CLI.
5.5.3/5.4.19pg_deleteLes injections SQL directes dans table_name et les injections SQL indirectes via les identifiants ont été résolues.
 pg_insertLes injections SQL directes dans table_name et les injections SQL indirectes via les identifiants ont été résolues.
 pg_selectLes injections SQL directes dans table_name et les injections SQL indirectes via les identifiants ont été résolues.
 pg_updateLes injections SQL directes dans table_name et les injections SQL indirectes via les identifiants ont été résolues.
5.5.2DOMDocument::schemaValidateAjout du paramètre flags
 DOMDocument::schemaValidateSourceAjout du paramètre flags
5.5.1hex2binUne alerte est émise si la chaîne en entrée est une chaîne héxadécimale invalide.
 pg_unescape_byteaUne alerte est émise si la chaîne d'entrée n'est pas valide.
5.5.0/PECL 3.0.0IntlDateFormatter::createUn objet IntlCalendar est autorisé comme paramètre calendar. Des objects de type IntlTimeZone et de type DateTimeZone sont autorisés comme paramètre timezone. Les identifiants de fuseaux horaires invalides (incluant les chaînes vides) ne sont plus autorisés comme paramètre timezone. Si NULL est fourni dans le paramètre timezone, l'identifiant du fuseau horaire fourni par le paramètre date_default_timezone_get sera utilisé au lieu du fuseau horaire par défaut d'ICU.
 IntlDateFormatter::formatIl est maintenant possible de passer un objet IntlCalendar comme valeur du paramètre value.
 IntlDateFormatter::setCalendarIl devient possible de passer un objet IntlCalendar.
5.5.0curl_setoptIntroduction de la constante CURLOPT_SHARE.
 curl_setoptAjoute la ressource cURL comme premier argument à la fonction de rappel CURLOPT_PROGRESSFUNCTION.
 emptyempty supporte maintenant les expressions, et plus seulement les variables.
 gd_infoAjout du support WebP.
 imagerotateCette fonction est maintenant affectée par la méthode d'interpolation définie par la fonction imagesetinterpolation.
 iterator_to_arrayiterator_to_array supporte désormais les clés de types autres que integer et string lorsque le paramètre use_keys est activé.
 json_encodeAjout du paramètre depth.
 mysql_connectCette fonction va générer une alerte de niveau E_DEPRECATED.
 mysql_db_nameLa fonction mysql_list_dbs est obsolète et émet une alerte de niveau E_DEPRECATED.
 mysql_pconnectCette fonction génère une alerte de niveau E_DEPRECATED.
 mysql_tablenameLa fonction mysql_tablename est obsolète, et émet une alerte de niveau E_DEPRECATED.
 packLe code "Z" a été ajouté et dont le comportement est identique à "a" en Perl.
 php_logo_guidphp_logo_guid a été supprimé de PHP.
 phpinfoLe logo GUIDs a été remplacé par son URI ; aussi, la désactivation de expose_php n'a pas d'effet sur le résultat de la fonction phpinfo(). Les crédits sont également maintenant inclus dans l'affichage au lieu d'être simplement liés.
 preg_replaceLe modificateur /e est obsolète. Utilisez la fonction preg_replace_callback à la place. Voir la documentation sur PREG_REPLACE_EVAL pour plus d'informations quant aux risques de sécurité.
 set_error_handlererror_handler accepte désormais NULL.
 set_exception_handlerPrécédemment, si NULL était passé, alors la fonction retournait TRUE. Désormais, elle retourne le gestionnaire précédant, et ce, depuis PHP 5.5.0.
 setcookieUn attribut Max-Age est maintenant inclus dans l'en-tête Set-Cookie envoyé au client.
 setrawcookieUn attribut Max-Age est maintenant inclus dans l'en-tête Set-Cookie envoyé au client.
 unpackDes modifications ont été effectuées pour aligner le comportement de cette fonction avec Perl : Le code "a" ne supprime plus les octets NULL finaux. Le code "A" supprime maintenant tous les espaces blancs ASCII finaux (espace, tabulation, nouvelles lignes, retour à la ligne, et octets NULL). Le code "Z" a été ajouté pour les chaînes complétées par des caractères NULL, et supprime les octets NULL finaux.
 zend_logo_guidzend_logo_guid a été supprimé de PHP.
 mysqli::commitAjout des paramètres flags et name.
 mysqli::optionsL'option MYSQLI_SERVER_PUBLIC_KEY a été ajoutée.
 mysqli::rollbackAjout des paramètres flags et name.
 SoapClient::SoapClientNouvelle option ssl_method.
5.4.8assertLa paramètre description a été ajoutée. La description est également maintenant fournie à la fonction de rappel en mode ASSERT_CALLBACK comme quatrième argument.
5.4.7parse_urlCorrection de la reconnaissance de l'hôte lorsque le schéma est omis et que un séparateur est présent en début de chaîne.
5.4.1hex2binUn avertissement est émis si la chaîne en entrée est de longueur impaire. Avec PHP 5.4.0, la chaîne était acceptée silencieusement, mais le dernier octet était tronqué.
5.4.0/PECL 2.0.0b1idn_to_asciiAjout du paramètre variant et du paramètre idna_info ; Support de l'UTS #46.
 idn_to_utf8Ajout des paramètres variant et idna_info ; Support de l'UTS #46.
5.4.0DOMDocument::loadHTMLAjout du paramètre options.
 DOMDocument::loadHTMLFileAjout du paramètre options.
 apache_child_terminateCette fonction devient disponible pour FastCGI. Précédemment, elle n'était disponible que lorsque PHP était installé comme module Apache.
 apache_request_headersCette fonction devient disponible pour FastCGI. Précédemment, elle n'était disponible que lorsque PHP était installé comme module Apache.
 apache_response_headersCette fonction devient disponible pour FastCGI. Précédemment, elle n'était disponible que lorsque PHP était installé comme module Apache.
 array_combineLes précédentes versions lancées une alerte de niveau E_WARNING et retournées FALSE pour des tableaux vides.
 array_multisortLes options SORT_NATURAL et SORT_FLAG_CASE ont été ajoutées comme options possibles pour l'argument array1_sort_flags.
 date_default_timezone_getLe décalage horaire n'est plus deviné depuis les informations disponibles via le système d'exploitation.
 date_default_timezone_getLa variable d'environnement TZ n'est plus utilisée pour deviner le décalage horaire.
 debug_backtraceLe paramètre optionnel limit a été ajouté.
 debug_print_backtraceAjout du paramètre optionnel limit.
 dns_get_recordAjout du paramètre raw.
 emptyLa vérification des positions non-numériques d'une chaîne retourne maintenant TRUE.
 error_reportingE_STRICT devient une partie de E_ALL.
 filter_input_arrayAjout du paramètre add_empty.
 filter_var_arrayAjout du paramètre add_empty.
 get_html_translation_tableLa valeur par défaut du paramètre encoding a changé en UTF-8.
 get_html_translation_tableLes constantes ENT_HTML401, ENT_XML1, ENT_XHTML et ENT_HTML5 ont été ajoutées.
 get_magic_quotes_gpcRetourne toujours FALSE car la fonctionalité des guillemets magiques a été supprimée de PHP.
 get_magic_quotes_runtimeRetourne toujours FALSE car la fonctionalité des guillemets magiques a été supprimée de PHP.
 getallheadersCette fonction devient disponible pour FastCGI. Précédemment, elle n'était disponible que lorsque PHP était installé comme module Apache.
 gzcompressAjout du paramètre encoding.
 gzdeflateAjout du paramètre encoding.
 gzencodeFORCE_DEFLATE génère maintenant un affichage conforme à la RFC 1950.
 hashL'algorithme tiger utilise désormais l'ordre des octets big-endian.
 hash_algosAjout du support pour joaat, fnv132 et fnv164. Suppression du support pour Salsa10 et Salsa20.
 html_entity_decodeL'encodage par défaut a changé de ISO-8859-1 à UTF-8.
 html_entity_decodeLes constantes ENT_HTML401, ENT_XML1, ENT_XHTML et ENT_HTML5 ont été ajoutées.
 htmlentitiesLa valeur par défaut du paramètre encoding est maintenant UTF-8.
 htmlentitiesLes constantes ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML et ENT_HTML5 ont été ajoutées.
 htmlspecialcharsLes constantes ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML et ENT_HTML5 ont été ajoutées.
 htmlspecialcharsLa valeur par défaut du paramètre encoding est passée à UTF-8.
 htmlspecialchars_decodeLes constantes ENT_HTML401, ENT_XML1, ENT_XHTML et ENT_HTML5 ont été ajoutées.
 http_build_queryLe paramètre enc_type a été ajouté.
 imagecolorsetLe paramètre alpha a été ajouté.
 issetLa vérification de positions non-numériques d'une chaîne retourne maintenant FALSE.
 json_decodeLe paramètre options a été ajouté.
 json_encodeLes options JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES et JSON_UNESCAPED_UNICODE ont été ajoutées.
 mb_encode_numericentityAjout du paramètre is_hex.
 number_formatCette fonction supporte maintenant des paramètres dec_point et thousands_sep comportant plusieurs caractères. Seul le premier caractère était utilisé avant.
 ob_startLe troisième paramètre de la fonction ob_start est passé d'un booléen appelé erase (qui, s'il était défini à FALSE va empécher le tampon de sortie d'être effacé tant que le script n'a pas terminé son exécution) en un entier appelé flags. Malheureusement, cela conduit un cassure de la compatibilité de l'API pour les lignes de code écrites avant PHP 5.4.0 qui utilisent ce troisième paramètre. Voir les exemples avec les drapeaux pour un exemple qui gère ce problème en permettant une compatibilité avec les deux comportements.
 ob_startUne taille de morceau de 1 résulte maintenant en 1 octet envoyé au buffer de sortie.
 openssl_decryptLe paramètre raw_output a été changé en options.
 openssl_encryptLe paramètre raw_output a été changé en options.
 preg_match_allLe paramètre matches devient optionnel.
 scandirLa constante sorting_order a été ajoutée. Toute valeur différente de zéro provoquera un ordre décroissant dans les anciennes versions. Aussi, pour toutes les versions de PHP, utilisez 0 pour un ordre croissant, et 1 pour un ordre décroissant. L'option pour le comportement de SCANDIR_SORT_NONE n'existe pas avant la version 5.4.0 de PHP.
 session_set_save_handlerAjout de l'interface SessionHandlerInterface pour implémenter les gestionnaires de sessions et de la classe SessionHandler pour exposer les gestionnaires de sessions internes de PHP.
 snmp_set_valueretrievalLa constante SNMP_VALUE_PLAIN ou la constante SNMP_VALUE_LIBRARY peut être combinée à la constante SNMP_VALUE_OBJECT permettant ainsi une représentation différente du contenu des éléments du tableau value dans la valeur retournée de la fonction. Si aucune des constantes SNMP_VALUE_{PLAIN,LIBRARY} n'accompagne SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY sera utilisé. Avant la version 5.4.0, SNMP_VALUE_OBJECT signifiait effectivement SNMP_VALUE_OBJECT|SNMP_VALUE_PLAIN.
 sortAjout du support des constantes SORT_NATURAL et SORT_FLAG_CASE pour le paramètre sort_flags
 Phar::setStubAjout du paramètre len.
 PharData::setStubAjout du paramètre len.
 SimpleXMLElement::getDocNamespacesAjout du paramètre from_root.
 SoapClient::SoapClientAjout de l'option keep_alive.
5.4grapheme_substrSi length est fourni et est positif, et la chaîne fournie est plus petite que la longueur spécifiée, tout le reste de la chaîne, suivant le paramètre start sera retourné. Précédemment, FALSE était retourné.
5.3.9is_aAjout du paramètre allow_string.
 is_subclass_ofAjout du paramètre allow_string.
5.3.7cryptAjout de deux nouveaux modes Blowfish $2x$ et $2y$ pour éviter de potentielles attaques.
 is_subclass_ofAjout du support pour class_name pour fonctionner avec les interfaces
5.3.6DateTime::modifyLes requêtes date/heure absolues prennent maintenant effets. Auparavant, seules les parties relatives étaient utilisées.
 DOMDocument::saveHTMLLe paramètre node a été ajouté.
 array_productLe produit d'un tableau vide est maintenant 1, alors qu'auparavant, cette fonction retournait 0 pour un tableau vide.
 debug_backtraceLe paramètre provide_object a été modifié en options et d'autres options DEBUG_BACKTRACE_IGNORE_ARGS ont été ajoutées.
 debug_print_backtraceAjout du paramètre optionnel options.
 preg_matchRetourne FALSE si offset est plus grand que la taille de subject.
 preg_match_allRetourne FALSE si offset est plus grand que la taille de subject.
 PDO_MYSQL DSNAvant la version 5.3.6, charset était ignoré.
5.3.4get_html_translation_tableLe paramètre encoding a été ajouté.
 mt_randEmet une alerte de niveau E_WARNING et retourne FALSE si le paramètre max < au paramètre min.
 rawurlencodeLes caractères tildes (~) ne sont plus encodés lorsque la fonction rawurlencode est utilisée avec les chaînes EBCDIC.
 sleepAvant PHP 5.3.4, sous Windows, sleep retournait toujours NULL, indépendamment du fait que la fonction ait été interrompue ou non.
 IntlDateFormatter::formatLe support des objets DateTime dans le paramètre value a été ajouté.
 mysqli_driver::$report_modeModification du mode de reporting : il est maintenant pour chaque requête, plutôt que pour chaque processus.
5.3.3DOMXPath::evaluateAjout du paramètre registerNodeNS.
 DOMXPath::queryAjout du paramètre registerNodeNS.
 json_encodeL'option JSON_NUMERIC_CHECK a été ajoutée.
 ldap_sasl_bindLe support Windows a été ajouté.
 openssl_decryptLe paramètre iv a été ajouté.
 openssl_encryptLe paramètre iv a été ajouté.
 parse_urlSuppression du E_WARNING émis lorsque l'URL était invalide.
5.3.2 (PECL OCI8 1.4)oci_set_prefetchAvant cette version, rows doit être >= 1.
5.3.2cryptCorrection du comportement de Blowfish lors d'étape invalide où une chaîne d'échec ("*0" ou "*1") était retournée au lieu de retourner le DES dans ce cas.
 cryptAjout de SHA-256 et de SHA-512 basés sur l'implementation de Ulrich Drepper.
 flockLe déverrouillage automatique lorsque la ressource de fichiers est fermée a été supprimée. Le déverrouillage doit maintenant être effectuée manuellement.
 gmp_initLe paramètre base a été étendu de "2 à 36", à "2 à 62" et "-2 à -36".
 gmp_strvalLe paramètre base a été étendu de "2 à 36", à "2 à 62" et "-2 à -36".
 imap_appendAjout du support INTERNALDATE à imap_append.
 imap_openLe paramètre params a été ajouté.
5.3.1get_defined_constantsWindows uniquement : Les constantes internes sont catégorisées sous Core, précédemment, elles l'étaient sous mhash.
 ibase_queryEn cas de succès, cette fonction retourne maintenant TRUE s'il n'y a aucune ligne d'affectée, alors qu'elle retournait auparavant 0 (un zéro suivi d'un espace vide).
 renamerename peut maintenant renommer des fichiers entre différents lecteurs Windows.
5.3.0DateTime::__constructSi le paramètre time contient un format date/heure invalide, alors une exception sera lancée. Précédemment, une erreur était émise.
 DateTime::modifyChangement de valeur de retour de NULL à DateTime en cas de succès.
 DateTime::setDateChangement de valeur de retour de NULL à DateTime en cas de succès.
 DateTime::setISODateChangement de valeur de retour de NULL à DateTime en cas de succès.
 DateTime::setTimeChangement de valeur de retour de NULL à DateTime en cas de succès.
 DateTime::setTimezoneChangement de valeur de retour de NULL à DateTime en cas de succès.
 DateTimeZone::getTransitionsLes paramètres optionnels timestamp_begin et timestamp_end ont été ajouté.
 DateTimeZone::listIdentifiersAjout des paramètres optionnels what et country.
 DirectoryIterator::__constructÉmet une exception UnexpectedValueException si le paramètre path ne peut être ouvert.
 acoshCette fonction est maintenant disponible sur toutes les plate-formes
 array_multisortL'option SORT_LOCALE_STRING a été ajoutée comme option possible pour l'argument array1_sort_flags.
 array_reduceModification du paramètre initial afin d'autoriser des variables de types mixtes (mixed) ; auparavant, uniquement des entiers.
 array_searchComme toutes les fonctions internes de PHP depuis 5.3.0, la fonction array_search retournera NULL si des paramètres invalides sont passés à la fonction.
 asinhCette fonction est maintenant disponible sur toutes les plate-formes
 atanhCette fonction est maintenant disponible sur toutes les plate-formes
 call_user_funcL'interprétation des mots-clés du modèle objet comme parent et self a changé. Avant, les appeler avec la syntaxe à double deux-points envoyait une erreur E_STRICT à cause de l'interprétation statique.
 call_user_func_arrayL'interprétation des mots-clés du modèle objet comme parent et self a changé. Avant, les appeler avec la syntaxe à double deux-points envoyait une erreur E_STRICT à cause de l'interprétation statique.
 checkdnsrrCette fonction est maintenant disponible sous Windows.
 clearstatcacheAjout des paramètres optionnels clear_realpath_cache et filename.
 copyAjout du support du contexte.
 cryptPHP dispose maintenant de sa propre implémentation de crypt MD5, Standard DES, Extended DES et l'algorithme Blowfish. Il l'utilisera si le système ne fournit pas l'un ou l'autre des algorithmes.
 curl_setoptIntroduction de la constante CURLOPT_PROGRESSFUNCTION.
 date_default_timezone_setÉmet maintenant une alerte de niveau E_WARNING plutôt qu'une alerte de niveau E_STRICT.
 define_syslog_variablesCette fonction lance maintenant des alertes de type E_DEPRECATED.
 dldl est maintenant désactivé dans quelques SAPIs en raison de son instabilité. Le seul SAPI qui active dl sont CLI et Embed. Utilisez les directives de chargement d'extension à la place.
 dns_get_recordCette fonction est maintenant disponible sous Windows.
 dns_get_recordAvant cette version, si le paramètre authns est passé, le paramètre addtl était également nécessaire.
 error_reportingE_DEPRECATED et E_USER_DEPRECATED ont été introduits.
 exif_imagetypeAjout du support icon.
 expm1Cette fonction est maintenant disponible sur toutes les plate-formes
 fgetcsvLe paramètre escape a été ajouté.
 fnmatchCette fonction est maintenant disponible sous Windows.
 func_get_argCette fonction peut maintenant être utilisée dans des listes de paramètres.
 func_get_argSi cette fonction est appelée depuis le scope le plus éloigné d'un fichier qui a été inclus via include ou require depuis l'intérieur d'une fonction du fichier appelant, elle génère une alerte et retourne FALSE.
 func_get_argsCette fonction peut maintenant être utilisée dans des listes de paramètres.
 func_get_argsSi cette fonction est appelée dans un fichier inclus avec include ou require logé dans une fonction, elle génèrera une alerte et retournera FALSE.
 func_num_argsCette fonction peut maintenant être utilisée dans des listes de paramètres.
 func_num_argsSi cette fonction est appelée dans un fichier inclus avec include ou require logé dans une fonction, elle génèrera une alerte et retournera -1.
 gd_infoL'attribut JPG Support est renommé en JPEG Support.
 get_cfg_varget_cfg_var a été modifié afin de permettre de retourner un tableau de directives.
 get_classNULL est devenue la valeur par défaut pour object, donc passer NULL pour object a le même effet que de laisser le paramètre vide.
 get_defined_constantsLes constantes internes sont maintenant catégorisées sous Core alors qu'elles l'étaient sous internal auparavant. Sous WIndows, les constantes internes étaient catégorisées sous mhash.
 get_object_varsCette fonction retourne maintenant NULL si le paramètre object n'est pas un objet. Précédemment, FALSE était retourné.
 getimagesizeAjout du support des icônes.
 getmxrrCette fonction est maintenant disponible sous Windows.
 getoptCette fonction n'est plus dépendante du système et fonctionne maintenant également sous Windows.
 getoptLe paramètre longopts est disponible sur tous les systèmes.
 getoptAjout du support des valeurs optionnelles (spécifié par "::").
 getoptAjout du support de "=" comme séparateur argument/valeur.
 hash_algosAjout du support pour md2, ripemd256, ripemd320, salsa10, salsa20, snefru256 et sha224
 htmlentitiesLa constante ENT_IGNORE a été ajoutée.
 htmlspecialcharsLa constante ENT_IGNORE a été joutée.
 imagecolorclosesthwbCette fonction est désormais disponible sous Windows
 imagefilterSupport de la pixelisation (IMG_FILTER_PIXELATE) ajouté.
 inet_ntopCette fonction est maintenant disponible sur les plate-formes Windows.
 inet_ptonCette fonction est maintenant disponible sur les plate-formes Windows.
 ini_getPrécédemment, une chaîne vide était retournée si l'option de configuration n'existait pas. Maintenant, FALSE sera retourné dans ce cas.
 ini_get_allAjout du paramètre details.
 is_aCette fonction n'est plus obsolète, et ne lancera donc plus d'alerte de type E_STRICT.
 json_decodeAjout du paramètre optionnel depth. La profondeur de récursion par défaut a augmenté de 128 à 512
 json_encodeLe paramètre options a été ajouté.
 linkCette fonction est maintenant disponible sous Windows (Vista, Server 2008 ou plus récent).
 linkinfoCette fonction est maintenant disponible sous Windows (Vista, Server 2008 ou plus récent).
 log1pCette fonction est maintenant disponible sur toutes les plate-formes
 mb_get_infoL'élément "http_output_conv_mimetypes" a été ajouté.
 mcrypt_create_ivMCRYPT_DEV_RANDOM et MCRYPT_DEV_URANDOM deviennent disponibles sous Windows.
 mcrypt_create_ivIl n'est plus nécessaire d'appeler srand dans un premier temps. Cet appel est maintenant fait automatiquement.
 mktimemktime lance maintenant une alerte de type E_DEPRECATED si le paramètre is_dst est utilisé.
 mysql_db_queryCette fonction lance maintenant une alerte de type E_DEPRECATED.
 mysql_escape_stringCette fonction lance maintenant une alerte de type E_DEPRECATED.
 nl2brAjout du paramètre optionnel is_xhtml.
 parse_ini_fileAjout du paramètre optionnel scanner_mode. Les guillemets simples doivent maintenant être utilisés autour des assignements de variables. Le caractère dièse (#) ne peut plus être utilisé comme commentaire, et émettra une alerte si vous l'utilisez.
 pg_lo_createLe paramètre optionnel object_id a été ajouté.
 pg_lo_importLe paramètre optionnel object_id a été ajouté.
 preg_quoteLe caractère - est maintenant protégé.
 property_existsCette fonction vérifie l'existence d'une propriété indépendamment de l'accessibilité.
 rawurlencodeConformité avec la RFC 3986.
 readlinkCette fonction est maintenant disponible sous Windows (Vista, Server 2008 ou plus récent).
 realpathAvant cette version, si le dernier composant path n'existe pas, realpath n'échouera pas sous les systèmes *BSD dans ce cas.
 register_tick_functionLes ticks sont maintenant supportés sur les serveurs Web threadés.
 roundLe paramètre mode a été ajouté.
 session_startSi une session n'arrive pas à démarrer, alors FALSE est retourné. Précédemment TRUE était retourné.
 setlocaleCette fonction émet désormais une alerte E_DEPRECATED si une chaîne est passée comme paramètre category au lieu d'une des constantes LC_*.
 shm_attachLa fonction retourne une ressource à la place d'un entier.
 socket_create_pairCette fonction a été ré-activée sous Windows.
 spl_autoload_registerLe paramètre prepend a été ajouté.
 spl_autoload_registerAjout du support des espaces de noms.
 stream_context_createAjout de l'argument optionnel params.
 stream_socket_pairCette fonction est maintenant disponible sous Windows.
 stristrAjout du paramètre optionnel before_needle.
 strlenLes anciennes versions traitaient un tableau comme la chaîne de caractères Array, et ainsi, retournaient la longueur de la chaîne 5 et émettaient une erreur de niveau E_NOTICE.
 strstrAjout du paramètre optionnel before_needle.
 strtotimeAvant PHP 5.3.0, 24:00 n'était pas un format valide et la fonction strtotime retournait FALSE.
 strtotimeAvant PHP 5.3.0, les formats de temps relatifs fournis à l'argument time de la fonction strtotime comme this week, previous week, last week, et next week étaient interprétés comme étant une période relative de 7 jours sur la date/heure courante, plutôt qu'une période d'une semaine allant du Monday au Sunday.
 sybase_connectLe paramètre new a été ajouté.
 symlinkCette fonction est maintenant disponible sous Windows (Vista, Server 2008 ou plus récent).
 time_nanosleepCette fonction est maintenant disponible sous Windows.
 time_sleep_untilCette fonction est maintenant disponible sous Windows.
 touchIl devient possible de changer la date et heure de modification d'un dossier sous Windows.
 mysqli::__constructAjout des connexions persistantes.
 mysqli::queryAjout des requêtes asynchrones.
 ReflectionFunction::__constructname autorise maintenant les fermetures.
 SplObjectStorage::attachAjout du paramètre data.
5.3 (PECL OCI8 1.3.4)oci_set_prefetchAvant cette version, le préchargement était limité et devait être inférieur aux nombres de lignes définies par le paramètre rows ainsi qu'à 1024 * rows octets. La restriction sur la taille en octets a maintenant disparu.
5.2.15mysqli_driver::$report_modeModification du mode de reporting : il est maintenant pour chaque requête, plutôt que pour chaque processus.
5.2.11get_defined_constantsLe paramètre categorize agit maintenant comme entendu. Avant, le paramètre categorize était interprété comme !is_null($categorize), faisant que n'importe quelle valeur autre que NULL forçait la constante a être catégorisée.
5.2.10array_randLes clés du tableau résultant ne sont plus mélangées.
 array_uniqueChangement de la valeur par défaut de sort_flags à nouveau vers SORT_STRING.
 curl_setoptAjout de CURLOPT_PROTOCOLS et CURLOPT_REDIR_PROTOCOLS.
 ip2longAvant cette version, ip2long retourne parfois un nombre valide même si la valeur passée n'est pas une adresse pointée (IPv4).
 natsortLes chaines numériques alignées par des zéros (e.g., '00005') ignorent les zéros d'alignement.
5.2.9array_uniqueAjout du paramètre optionnel sort_flags, qui vaut par défaut SORT_REGULAR. Avant 5.2.9, cette fonction utilisait par défaut SORT_STRING, en interne.
5.2.8XSLTProcessor::importStylesheetAccepte de nouveau SimpleXMLElement depuis PHP 5.2.6 alors qu'il était cassé auparavant.
5.2.7error_logLe paramètre message_type peut désormais prendre 4 comme valeur.
 parse_ini_fileEn cas d'erreur de syntaxe, la fonction retourne maintenant FALSE au lieu d'un tableau vide.
 roundLe fonctionnement interne de round a été modifié afin d'être conforme au standard C99.
 strtotimeEn PHP 5, avant la version 5.2.7, demander le jour de la semaine correspondant au premier jour du mois ajoute de manière incorrecte une semaine au timestamp retourné. Ceci a été corrigé dans PHP 5.2.7 et supérieur.
5.2.6fopenLes options 'c' et 'c+' ont été ajoutées.
5.2.5addcslashesLes séquences \v et \f ont été ajoutées.
 debug_backtraceAjout du paramètre optionnel provide_object.
 imagefilterLe support du canal Alpha pour la constante IMG_FILTER_COLORIZE a été ajouté.
5.2.4array_sliceLa valeur par défaut du paramètre length a changé en la valeur NULL. Une longeur de valeur NULL démande désormais à la fonction d'utiliser la longeur du tableau array. Avant cette version, une longeur de valeur NULL signifiait une longueur égale à zéro (rien n'était retourné).
 checkdnsrrLe type TXT a été ajouté.
 get_loaded_extensionsLe paramètre optionnel zend_extensions a été ajouté
 ldap_first_attributeLe paramètre ber_identifier a été supprimé. Il est maintenant géré automatiquement par PHP.
 ldap_next_attributeLe paramètre ber_identifier a été supprimé. Il est maintenant géré automatiquement par PHP.
 parse_ini_fileLes noms de section et les clés, composés de numéros, sont maintenant évalués comme des entiers, ceux commençant par un 0 seront évalués comme des octales, et ceux commençant par 0x, comme des hexadécimaux.
 stream_wrapper_registerAjout du paramètre flags.
5.2.3getimagesizeLes erreurs de lecture générées par cette fonction passent de niveau E_WARNING à E_NOTICE.
 htmlentitiesAjout du paramètre double_encode.
 htmlspecialcharsAjout du paramètre double_encode.
 json_decodeLa limite a été élevée de 20 à 128
 XMLWriter::writeElementLe paramètre content est devenu optionnel.
 XMLWriter::writeElementNSLe paramètre content est devenu optionnel.
 PDOStatement::getColumnMetachamps table
5.2.2 - 5.2.6substrSi start est hors de la chaine, false est retourné. Les autres versions récupèrent la chaîne depuis le début.
5.2.2DOMDocument::registerNodeClassAvant la version 5.2.2, une classe extendedclass précédemment enregistrée devait être supprimées avant de pouvoir en enregistrer une nouvelle étendant la même classe baseclass.
 ftp_ssl_connectCette fonction retourne FALSE lorsqu'elle ne peut pas utiliser une connexion SSL, au lieu d'utiliser à la place une connexion non-SSL.
 phpinfoL'information "Loaded Configuration File" a été ajoutée, alors qu'avant, seule l'information "Configuration File (php.ini) Path" existait.
 preg_matchLes sous-masques nommés acceptent maintenant la syntaxe (?<name>) et (?'name') mais aussi (?P<name>). Les anciennes versions n'acceptaient que la syntaxe (?P<name>).
 preg_match_allLes sous-masques nommés acceptent maintenant les syntaxes (?<name>), (?'name') ainsi que (?P<name>). Les précédentes versions n'acceptaient que la syntaxe (?P<name>).
 proc_terminateLes versions précédentes détruisent la ressource resource fournie.
 token_get_allLes numéros de lignes sont retournés dans l'élément 2
5.2.1iterator_to_arrayAjout du paramètre use_keys.
 json_decodeAjout du support du décodage JSON des types basiques.
 memory_get_peak_usageLa compilation avec l'option de configuration --enable-memory-limit n'est plus nécessaire pour que cette fonction existe.
 memory_get_usageLa compilation avec l'option de configuration --enable-memory-limit n'est plus nécessaire pour que cette fonction existe.
 mt_srandL'implémentation Mersenne Twister en PHP utilise maintenant un nouvel algorithme d'initialisation, réalisé par Richard Wagner. Des initialisations identiques ne produisent plus la même séquence de valeurs, comme cela pouvait être le cas dans les versions antérieures. Ce comportement ne devrait plus changer.
 proc_openAjout de l'option bypass_shell au paramètre other_options.
5.2.0base64_decodeLe paramètre strict a été ajouté
 curl_multi_info_readLe paramètre msgs_in_queue a été ajouté.
 error_reportingE_RECOVERABLE_ERROR est introduit.
 imagettftextIl est maintenant possible de spécifier une entitée hexadécimal dans text.
 imap_openLe paramètre n_retries a été ajouté.
 imap_reopenLe paramètre n_retries a été ajouté
 mb_strrposAjout du paramètre optionnel offset.
 memory_get_peak_usageLe paramètre real_usage a été ajouté.
 memory_get_usageLe paramètre real_usage a été ajouté.
 openssl_verifyAjout du paramètre signature_alg.
 pathinfoLa constante PATHINFO_FILENAME a été ajoutée.
 pg_escape_byteaLe paramètre connection a été ajouté.
 pg_escape_stringLe paramètre connection a été ajouté.
 session_get_cookie_paramsL'entrée "httponly" a été ajouté dans le tableau retourné.
 session_set_cookie_paramsAjout du paramètre httponly.
 set_error_handlerLe gestionnaire d'erreurs doit retourner FALSE pour peupler la variable $php_errormsg.
 setcookieLe paramètre httponly a été ajouté.
 setrawcookieAjout du paramètre httponly.
 snmp_set_oid_numeric_printDepuis PHP 5.2.0.
 PDOStatement::executeLes clés déclarées dans input_parameters doivent correspondre à celles déclarées dans le SQL. Avant PHP 5.2.0, ceci était ignoré sans erreur.
 SimpleXMLElement::childrenLe paramètre optionnel is_prefix a été ajouté.
 SimpleXMLElement::__constructAjout des paramètres ns et is_prefix.
 SoapServer::SoapServerAjout de l'option typemap.
 XMLReader::openLes paramètres encoding et options ont été ajoutés.
 XMLReader::XMLLes paramètres encoding et options ont été ajoutés.
5.1.3DirectoryIterator::__constructÉmet une exception RuntimeException si le paramètre path est une chaîne vide.
 curl_getinfoAjout de CURLINFO_HEADER_OUT.
 get_headersCette fonction utilise le contexte de flux de défaut, qui peut être fixé/changé avec la fonction stream_context_set_default.
 http_build_queryLes crochets sont échappés.
 imagecolorallocateRetourne FALSE si l'allocation échoue. Précédemment, -1 était retourné.
 imagecolorallocatealphaRetourne FALSE si l'allocation échoue. Précédemment, -1 était retourné.
 imagepngAjout du paramètre filters.
 mb_get_infoLes types d'élément "mail_charset", "mail_header_encoding", et "mail_body_encoding" sont maintenant disponibles.
 SoapClient::__doRequestLe paramètre one_way a été ajouté.
 XMLReader::getAttributeRetourne NULL si aucun attribut n'est trouvé. Précédemment, la fonction retournait une chaîne vide dans ce cas.
5.1.2date_default_timezone_setLa fonction commence à valider le paramètre timezone_identifier.
 http_build_queryLe paramètre arg_separator a été ajouté.
 imagepngAjout du paramètre quality.
 parse_urlAjout du paramètre component
 SimpleXMLElement::__constructAjout des paramètres options et data_is_url.
5.1.1dateIl y a plusieurs constantes utiles de formats date/heure standards qui peuvent être utilisées pour spécifier le paramètre format.
 debug_backtraceAjout de l'objet courant comme élément de retour possible.
 gmdateIl y a quelques constants utiles pour les formats standards date/heure qui peuvent être utilisées dans le paramètre format.
5.1.0DirectoryIterator::__constructÉmet une exception RuntimeException en cas d'erreur. Précédemment, une exception Exception était lancée.
 DOMDocument::saveAjout du paramètre options
 DOMDocument::saveXMLAjout du paramètre options
 class_implementsAjout de l'option pour passer le paramètre class en tant que chaîne de caractères. Ajout du paramètre autoload.
 class_parentsAjout de l'option pour passer le paramètre en tant que chaîne de caractères
 ctype_digitAvant PHP 5.1.0, cette fonction retournait TRUE lorsque le paramètre text était une chaîne vide.
 curl_setoptAjout de CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH et CURLOPT_TIMECONDITION.
 dateÉmet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
 dateL'intervalle de validité d'un timestamp va généralement du Vendredi 13 Décembre 1901 20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT. (Ces dates correspondent aux valeurs minimales et maximales des entiers 32 bits non-signés). Cependant, avant PHP 5.1.0, cette intervalle va du 01-01-1970 au 19-01-2038 sur quelques systèmes (e.g. Windows).
 date_sunriseÉmet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
 date_sunsetÉmet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
 explodeLe paramètre limit peut désormais être négatif
 fgetcsvLe paramètre length est maintenant optionnel. Par défaut, vaut 0, ce qui signifie qu'il n'y a aucune limite de longueur.
 file_get_contentsAjout des paramètres offset et maxlen.
 file_put_contentsAjout du support de LOCK_EX et la possibilité de passer une ressource de flux dans le paramètre data.
 get_parent_classSi appelée sans paramètre en dehors de l'objet, cette fonction aurait retourné NULL avec une alerte, mais retourne maintenant FALSE.
 gettimeofdayLe paramètre return_float a été ajouté.
 globGLOB_ERR a été ajouté
 gmdateL'intervalle de validité d'un timestamp est typiquement depuis le Vendredi 13 Décembre 1901 20:45:54 GMT au 19 Janvier 2038 03:14:07 GMT. (ce qui correspond aux valeurs minimales et maximales d'un entier 32 bits signé). Cependant, avant PHP 5.1.0, cet intervalle était limité de 01-01-1970 à 19-01-2038 sous quelques systèmes (e.g. Windows).
 gmmktimeDepuis PHP 5.1.0, le paramètre is_dst est devenu obsolète. Le nouveau gestionnaire de fuseau horaire doit être utilisé à la place.
 idateÉmet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
 imagerotateLe paramètre ignore_transparent a été ajouté.
 intvalLance une alerte de type E_NOTICE et retourne 1 lorsqu'un objet est passé au paramètre var.
 localtimeÉmet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
 md5_fileLa fonction a changé pour utiliser les flux API. Cela signifie que vous pouvez l'utiliser avec des enveloppes, comme md5_file('http://example.com/..')
 mktimeLorsqu'appelée sans argument, la fonction mktime émet une alerte de type E_STRICT. Utilisez la fonction time à la place.
 mktimeLe paramètre is_dst est obsolète. Fait que la fonction retourne FALSE en cas d'erreur, au lieu de -1. La fonction a été modifiée pour accepter la valeur zéro comme année, mois ou bien jour.
 mktimeÉmet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
 openssl_pkcs7_verifyAjout du paramètre content.
 preg_replaceAjout du paramètre count
 preg_replace_callbackLe paramètre count a été ajouté.
 session_regenerate_idAjout du paramètre delete_old_session.
 sha1_fileLa fonction a changé pour utiliser les flux API. Cela signifie que vous pouvez l'utiliser avec des enveloppes, comme sha1_file('http://example.com/..')
 str_word_countAjout du paramètre charlist
 stream_copy_to_streamAjout du paramètre offset
 stream_filter_appendAvant PHP 5.1.0, cette fonction retournait TRUE en cas de succès ou FALSE si une erreur survient.
 stream_filter_prependAvant PHP 5.1.0, cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.
 stream_get_contentsLe paramètre offset a été ajouté.
 strftimeÉmet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
 strtotimeLa fonction retourne maintenant FALSE en cas d'échec, au lieu de -1.
 strtotimeÉmet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
 substr_compareAjout de la possibilité d'utiliser une valeur négative pour le paramètre offset.
 substr_countAjout des paramètres offset et length
 var_exportPossibilité d'exporter des classes et des tableaux contenant des classes en utilisant la méthode magique __set_state.
 XSLTProcessor::registerPHPFunctionsLe paramètre restrict a été ajouté.
5.0.5php_check_syntaxCette fonction a été supprimée de PHP.
5.0.3get_class_varsEn fonction du contexte, get_class_vars ne retourne que les propriétés qui sont accessibles depuis ce contexte.
 is_subclass_ofvous pouvez également spécifier le paramètre object en tant que chaîne de caractères (le nom de la classe).
 php_check_syntaxAppel à exit après php_check_syntax cause une erreur de segmentation.
5.0.2array_sliceLe paramètre optionnel preserve_keys a été ajouté.
 class_existsNe retourne plus TRUE pour les interfaces définies. Utilisez la fonction interface_exists.
 get_class_varsAppeler get_class_vars produit toutes les propriétés sous la forme d'un tableau, contrairement au comportement précédent où les propriétés privées et protégées étaient préfixées par des caractères null.
 sortAjout de la constante SORT_LOCALE_STRING
 strtotimeEn PHP 5 jusqu'à la version 5.0.2, "now" et les autres temps relatifs sont mal calculés depuis minuit d'aujourd'hui. Dans les autres versions, le calcul est correct.
5.0.1get_class_varsAppeler get_class_vars retourne toutes les propriétés, exactement comme lors de la conversion d'un objet en tableau.
 php_check_syntaxerror_message est passé par référence.
5.0.0.proc_openAjout des paramètres cwd, env et other_options.
5.0.0apache_get_modulesCette fonction est devenue disponible lors de l'utilisation d'Apache 1 ou de l'API "filter" de PHP Apache 2. Avant cette version, elle n'était disponible qu'en utilisant l'API "handler" d'Apache 2.
 apache_get_versionDevenue disponible avec l'API "filter" d'Apache 2.
 array_keysAjout du paramètre strict.
 array_mergeLe comportement de array_merge a été modifié en PHP 5. Contrairement à PHP 4, array_merge n'accepte que des paramètres de type array. Cependant, vous pouvez utiliser le transtypage pour fusionner les autres types de valeurs. Voyez l'exemple ci-dessous. Exemples PHP 5 avec array_merge <?php $beginning = 'foo'; $end = array(1 => 'bar'); $result = array_merge((array)$beginning, (array)$end); print_r($result); ?> L'exemple ci-dessus va afficher : Array ( [0] => foo [1] => bar )
 checkdnsrrLe type AAAA a été ajouté.
 class_existsLa paramètre autoload a été ajouté.
 com_releaseCette fonction a été effacée.
 curl_setoptAjout de CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE et CURLOPT_HTTP200ALIASES.
 dirnamedirname gère maintenant les données binaires.
 emptyLes objets n'ayant pas de propriété ne sont plus considérés comme vide.
 error_reportingE_STRICT est introduit (ne fait plus partie de E_ALL).
 extension_loadedextension_loaded utilise le nom interne de l'extension pour vérifier si une extension est disponible ou pas. La plupart des extensions ont des noms internes écrits en minuscules, mais il peut arriver que certaines aient des noms en majuscules. Avant PHP 5, cette fonction comparait les noms en ne tenant pas compte de la casse.
 fgetssLe paramètre length devient optionnel.
 fileAvant PHP 5.0.0, le paramètreflags ne couvre que l'include_path et est activé s'il vaut 1.
 fileLe paramètre context a été ajouté.
 file_get_contentsAjout du support du contexte.
 file_put_contentsAjout du support du contexte.
 get_classLe paramètre object est optionnel si la fonction est appelée depuis une méthode de l'objet.
 get_classLe nom de la classe est retourné dans sa notation originale.
 get_class_methodsDepuis PHP 5, cette fonction retourne le nom des méthodes telles quelles sont déclarées (sensible à la casse). En PHP 4, elles étaient en minuscules.
 get_defined_constantsLe paramètre categorize a été ajouté.
 get_defined_varsLa variable $GLOBALS est incluse dans le tableau retourné.
 get_parent_classLe paramètre object est optionnel si cette fonction est appelée depuis une méthode d'un objet.
 html_entity_decodeLe support des encodages multi-octets a été ajouté.
 ip2longAvant cette version, ip2long retournait -1 en cas d'échec.
 is_aCette fonction devient obsolète en faveur de l'opérateur instanceof. L'appel à cette fonction émettra une alerte de niveau E_STRICT.
 is_executableis_executable devient disponible sous Windows
 jdtojewishLes paramètres hebrew et fl ont été ajoutés. Le paramètre fl a été ajouté.
 mb_encode_mimeheaderLe paramètre indent a été ajouté.
 mb_send_mailLes en-têtes Content-Type et Content-Transfer-Encoding peuvent être redéfinis depuis PHP 5.0.0. Avant, les valeurs définies par la fonction mb_language sont toujours utilisées.
 md5Ajout du paramètre raw_output.
 md5_fileAjout du paramètre raw_output
 microtimeLe paramètre get_as_float a été ajouté.
 mkdirLe paramètre recursive a été ajouté
 mkdirDepuis PHP 5.0.0, la fonction mkdir peut aussi être utilisée avec certains gestionnaires d'URL. Reportez-vous à , pour une liste des gestionnaires qui supportent mkdir.
 mysql_fetch_objectAjout de la possibilité de retourner un objet différent.
 opendirpath supporte l'enveloppe URL ftp://
 openssl_pkcs7_encryptAjout du paramètre cipherid.
 openssl_signAjout du paramètre signature_alg.
 parse_ini_fileLes valeurs entourées par des guillemets, peuvent contenir des nouvelles lignes.
 pg_fetch_objectclass_name et params ont été ajoutés. L'ancien format du paramètre result_type existe toujours pour des raisons de compatibilité avec les versions antérieures.
 rangeLe paramètre optionnel step a été ajouté.
 realpathAvant cette version, une valeur vide ou NULL pour le paramètre path faisait que la fonction realpath retournait le nom du dossier du script.
 renamerename peut aussi être utilisée avec certains gestionnaires d'URL. Reportez vous à pour une liste des gestionnaires qui supportent rename.
 rmdirDepuis PHP 5.0.0, rmdir peut aussi être utilisée avec certains gestionnaires d'URL. Reportez vous à pour une liste des gestionnaires qui supportent rmdir.
 session_idLes virgules , et tirets - sont autorisés dans le gestionnaire de session par fichiers.
 set_error_handlerLe paramètre error_types a été introduit.
 sha1Ajout du paramètre raw_output.
 sha1_fileAjout du paramètre raw_output
 socket_createLa constante AF_INET6 a été introduite.
 str_ireplaceAjout du paramètre count.
 str_replaceAjout du paramètre count.
 stream_get_meta_dataLes élément suivants ont été ajoutés dans le tableau retourné : mode, seekable, et uri.
 strip_tagsstrip_tags fonctionne désormais avec les données binaires.
 strrposLe paramètre offset a été introduit.
 strrposLe paramètre needle peut maintenant être une chaîne de caractères composée de plus d'un caractère.
 strtotimeLes microsecondes sont acceptées mais ignorées.
 uniqidLe paramètre prefix est devenu optionnel.
 unlinkDepuis PHP 5.0.0, unlink peut aussi être utilisée avec quelques protocoles d'URL. Voyez pour une liste des protocoles supportant unlink.
 usleepCette fonction fonctionne désormais sur les systèmes Windows.
 mysqli_result::fetch_objectAjoute la possibilité de retourner le résultat dans un objet différent.

Annexes
PHP Manual