Historique des modifications

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

VersionFunctionDescription
7.4.0array_mergeCette fonction peut désormais être appelée sans paramètres. Auparavant, au moins un paramètre était requis.
 array_merge_recursiveCette fonction peut désormais être appelée sans paramètres. Auparavant, au moins un paramètre était requis.
 fgetcsvLe paramètre escape accepte désormais une chaîne de charactère vide afin de désactiver le mécanisme d'échapement propriétaire.
 fputcsvLe paramètre escape accepte désormais une chaîne de charactère vide afin de désactivé le mécanisme d'échapement propriétaire.
 idn_to_asciiLa valeur par défaut du paramètre variant est maintenant INTL_IDNA_VARIANT_UTS46 à la place de la constante INTL_IDNA_VARIANT_2003 déprécié.
 idn_to_utf8La valeur par défaut du paramètre variant est maintenant INTL_IDNA_VARIANT_UTS46 à la place de la constante INTL_IDNA_VARIANT_2003 déprécié.
 imagecropautoLe comportement de imagecropauto de la bibliothèque libgd intégré a été syncrhonisé avec celle de libgd système : IMG_CROP_DEFAULT n'utilise plus IMG_CROP_SIDES comme solution de replis et la tolérance de rognage utilise désormais le même algorithme que libgd système.
 imagecropautoLa valeur par défault de mode a été modifié en IMG_CROP_AUTO. Auparavant, la valeur par défaut était -1 qui correspond à IMG_CROP_DEFAULT, mais passer -1 est désormais obsolète.
 imagefilterSupport de dispersion (IMG_FILTER_SCATTER) ajouté.
 str_getcsvLe paramètre escape interprète désormais une chaîne vide en tant que signal de désactiver le mécanisme d'échappement propriétaire. Auparavant, une chaîne vide était traité comme la valeur par défaut du paramètre.
 SplFileObject::fgetcsvLe paramètre escape accepte désormais une chaîne de charactère vide afin de désactivé le mécanisme d'échapement propriétaire.
 SplFileObject::fputcsvLe paramètre escape accepte désormais une chaîne de charactère vide afin de désactivé le mécanisme d'échapement propriétaire.
 SplFileObject::getCsvControlLe charactère d'espacement peut désormais être une chaîne vide.
 SplFileObject::setCsvControlLe paramètre escape accepte désormais une chaîne de charactère vide afin de désactivé le mécanisme d'échapement propriétaire.
 SQLite3Stmt::bindParamsql_param supporte désormais la notation @param.
 SQLite3Stmt::bindValuesql_param supporte désormais la notation @param.
7.3.0apache_request_headersCette fonction devient disponible pour l'API serveur (SAPI) FPM (FastCGI Process Manager).
 array_pushCette fonction peut désormais être appelée avec un seul paramètre. Auparavant, au moins deux paramètres étaient requis.
 array_unshiftCette fonction peut désormais être appelée avec un seul paramètre. Auparavant, au moins deux paramètres étaient requis.
 bcmulbcmul retourne désormais les nombres avec la précision demandé. Auparavant, les nombres retournés pouvait omettre les zéros décimaux trainant à la fin.
 bcpowbcpow retourne désormais les nombres avec la précision demandé. Auparavant, les nombres retournés pouvait omettre les zéros décimaux trainant à la fin.
 bcscalebcscale peut désormais être utilisé pour récupérer la précision actuelle ; quand elle est utilisé pour définir une nouvelle précision, elle retourne désormais l'ancienne précision. Auparavant, scale était obligatoire, et bcscale retourné toujours TRUE.
 compactcompact émet maintenant une erreur de niveau E_NOTICE si une chaîne donnée fait référence à une variable non définie. Autrefois, ces chaînes ont été silencieusement ignorées.
 definecase_insensitive est obsolète et sera supprimée dans la version 8.0.0.
 ftp_fgetLe paramètre mode est maintenant optionel. Précédemment il était obligatoire.
 ftp_fputLe paramètre mode est maintenant optionel. Précédemment il était obligatoire.
 ftp_getLe paramètre mode est maintenant optionel. Précédemment il était obligatoire.
 ftp_nb_fgetLe paramètre mode est maintenant optionel. Précédemment il était obligatoire.
 ftp_nb_fputLe paramètre mode est maintenant optionel. Précédemment il était obligatoire.
 ftp_nb_getLe paramètre mode est maintenant optionel. Précédemment il était obligatoire.
 ftp_nb_putLe paramètre mode est maintenant optionel. Précédemment il était obligatoire.
 ftp_putLe paramètre mode est maintenant optionel. Précédemment il était obligatoire.
 getallheadersCette fonction devient disponible pour l'API serveur (SAPI) FPM (FastCGI Process Manager).
 is_countableis_countable a été ajouté.
 json_decodeL'options JSON_THROW_ON_ERROR a été ajouté.
 json_encodeL'options JSON_THROW_ON_ERROR a été ajoutée.
 password_hashAjout de la prise en charge des mots de passe Argon2id à l'aide de PASSWORD_ARGON2ID.
 preg_quoteLe caractère # est maintenant protégé
 session_get_cookie_paramsL'entrée "samesite" a été ajouté dans le tableau retourné.
 session_set_cookie_paramsUne signature alternative supportant un tableau d'options a été ajouté. Cette signature supporte la définition de l'attribut SameSite du cookie.
 setcookieUne signature alternative supportant un tableau d'options a été ajouté. Cette signature supporte la définition de l'attribut SameSite du cookie.
 setrawcookieUne signature alternative supportant un tableau d'options a été ajouté. Cette signature supporte la définition de l'attribut SameSite du cookie.
 xml_set_external_entity_ref_handlerLa valeur de retour de handler est désormais pris en compte si l'extension a été compilé contre libxml. Auparavant, la valeur de retour était ignoré et l'analyse ne s'arrêtait jamais.
7.3ldap_addSupport pour serverctrls a été ajouté.
 ldap_compareSupport pour serverctrls a été ajouté.
 ldap_deleteSupport pour serverctrls a été ajouté.
 ldap_exopSupport for serverctrls added
 ldap_exop_passwdSupport for serverctrls added
 ldap_listSupport pour serverctrls a été ajouté.
 ldap_mod_addSupport pour serverctrls a été ajouté.
 ldap_mod_delSupport pour serverctrls a été ajouté.
 ldap_mod_replaceSupport pour serverctrls a été ajouté.
 ldap_modify_batchSupport pour serverctrls a été ajouté.
 ldap_parse_resultSupport pour serverctrls a été ajouté.
 ldap_readSupport pour serverctrls a été ajouté.
 ldap_renameSupport pour serverctrls a été ajouté.
 ldap_searchSupport pour serverctrls a été ajouté.
7.2.19, 7.3.6SplFileObject::__toStringModifié d'un alias de SplFileObject::current en un alias de SplFileObject::fgets.
7.2.18, 7.3.5substr_compareoffset peut désormais être égal à la taille de main_str.
7.2.0array_uniqueSi sort_flags est SORT_STRING, précedement array était copié et les éléments non-unique était supprimé (sans compréser le tableau après), mais maintenant un nouveau tableau est construit en ajoutant les éléments unique. Par conséquence le résultat final peut avoir des index numérique différent.
 assertL'utilisation d'une chaîne de caractères en tant qu'assertion est est devenue obsolète. Ceci émet désormais une notice E_DEPRECATED quand assert.active et zend.assertions sont tous les deux définit à 1.
 bcmodLe paramètre scale a été ajouté.
 bcmoddividend et divisor ne sont plus tronqués en entier. Le comportement de bcmod suit fmod plutôt que l'opérateur %.
 countcount va maintenant générer un avertissement sur des types dénombrables non valides sont passés au paramètre array_or_countable.
 date_parse_from_formatL'élément zone du tableau retourné représente des secondes au lieu de minutes maintenant, et son signe est inversé. Par exemple -120 est maintenant égal à 7200.
 exif_read_dataLe paramètre filename a été renommé stream et prend désormais en charge les fichier locaux ou les ressources de flux.
 exif_read_dataLa prise en charge des formats EXIF suivants a été ajoutée : Samsung DJI Panasonic Sony Pentax Minolta Sigma/Foveon AGFA Kyocera Ricoh Epson
 exif_thumbnailLe paramètre filename a été renommé en stream et supporte les fichiers locaux ou les ressources de flux.
 get_classNULL a n'est plus la valeur par défaut pour object, et n'est plus une entrée valide.
 gettypeLes ressources fermées sont maintenant rapportées en tant que 'resource (closed)'. Précédement la valeur retournée pour des ressources fermées était 'unknown type'.
 hash_copyAccepte et retourne une classe HashContext au lieu d'une ressource.
 hash_finalAccepte une HashContext au lieu d'une ressource.
 hash_hmacL'utilisation de fonctions de hachage non cryptographiques (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) a été désactivée.
 hash_hmac_fileL'utilisation de fonctions de hachage non cryptographiques (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) a été désactivée.
 hash_initL'usage de fonction de hachage non-cryptographique (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) avec HASH_HMAC a été désactivé.
 hash_initRetourne une HashContext au lieu d'une ressource.
 hash_pbkdf2L'utilisation de fonctions de hachage non cryptographiques (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) a été désactivée.
 hash_updateAccepte une HashContext au lieu d'une ressource.
 hash_update_fileAccepte une HashContext au lieu d'une ressource.
 hash_update_streamAccepte une HashContext au lieu d'une ressource.
 idn_to_asciiINTL_IDNA_VARIANT_2003 a été déprécié; utiliser INTL_IDNA_VARIANT_UTS46 à la place.
 idn_to_utf8INTL_IDNA_VARIANT_2003 a été déprécie; utiliser INTL_IDNA_VARIANT_UTS46 à la place.
 imageantialiasimageantialias est maintenant généralement disponible. Auparavant, elle était seulement disponible si PHP a été compilé avec la version groupée de la bibliothèque GD.
 imagegdimagegd permet maintenant de produire des images TrueColor. Auparavant, elles ont été implicitement converties en palette.
 imagelayereffectAjout de la constante IMG_EFFECT_MULTIPLY (nécessite la libgd système >= 2.1.1 ou la libgd embarquée).
 imagetypesAjout de la constante IMG_BMP.
 is_objectis_object retourne maintenant TRUE pour un objet délinéarisé sans une définition de classe (classe de __PHP_Incomplete_Class). Précédement FALSE était retourné.
 json_decodeLes options JSON_INVALID_UTF8_IGNORE, et JSON_INVALID_UTF8_SUBSTITUTE ont été ajouté.
 json_encodeLes options JSON_INVALID_UTF8_IGNORE, et JSON_INVALID_UTF8_SUBSTITUTE ont été ajoutées.
 mailLe paramètre additional_headers accepte maintenant les array.
 mb_send_mailLe paramètre additional_headers accepte désormais un tableau.
 mt_randmt_rand a reçu une correction de bogue pour un bug de polarisation modulo. Cela signifie que les séquences générées avec une valeur d'initialisation spécifique peuvent différer de php 7.1 sur les machines 64-bit.
 number_formatnumber_format a été modifié pour ne plus permettre de retourner -0, précedement -0 pouvait être retourné pour des cas où number valait -0.01.
 openssl_pkcs7_verifyLe paramètre p7bfilename a été ajouté.
 packLes types float et double prennent en charge Big Endian et Little Endian.
 parse_strL'utilisation de parse_str sans le second argument émet une note E_DEPRECATED.
 password_hashAjout de la prise en charge des mots de passe Argon2i à l'aide de PASSWORD_ARGON2I.
 preg_matchPREG_UNMATCHED_AS_NULL est maintenant supporté pour le paramètre $flags.
 preg_match_allPREG_UNMATCHED_AS_NULL est maintenant supporté pour le paramètre $flags.
 proc_niceCette fonction est maintenant disponible sur Windows.
 randrand a reçu une correction de bogue pour un bug de polarisation modulo. Cela signifie que les séquences générées dans certain cas spécifiques peuvent différer de php 7.1 sur les machines 64-bit.
 read_exif_dataCet alias de fonction a été déconseillé.
 session_abortLe type de retour de cette fonction est désormais booléen. Auparavant, c'était void.
 session_module_nameIl est désormais explicitement interdit de définir le nom du mode en tant que "user". Auparavent, ceci était silencieusement ignoré.
 session_namesession_name vérifie l'état de la session, auparavant elle vérifiait uniquement l'état du cookie. Par conséquent, les versions plus anciennes de session_name autorise l'appel de session_name après session_start ce qui peut causer le plantage de PHP et peut donner lieu à des comportements étranges.
 session_resetLe type de retour de cette fonction est désormais booléen. Auparavant, c'était void.
 session_set_cookie_paramsCette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Auparavant la fonction retourner void.
 session_unsetLe type de retour de cette fonction est désormais booléen. Auparavant, c'était void.
 session_write_closeLe type de retour de cette fonction est désormais booléen. Auparavant, c'était void.
 set_error_handlererrcontext est devenue obsolète. L'usage de ce paramètre émet une notice E_DEPRECATED.
 unpackLes types float et double supporte à la fois l'orientation Big Endian et Little Endian.
 utf8_decodeCette fonction a été déplacée dans le coeur de PHP ; auparavant, il était nécessaire d'installer l'extension XML pour l'utiliser.
 utf8_encodeCette fonction a été déplacée dans le coeur de PHP, auparavant, il était nécessaire d'installer l'extension XML pour l'utiliser.
 PDOStatement::debugDumpParamsPDOStatement::debugDumpParams retourne maintenant le SQL envoyé à la base de données, y compris la requête complète, RAW (y compris les espaces réservés remplacés avec leurs valeurs délimitées). Notez que cela ne sera disponible que si les instructions préparées émulées sont activées.
 SQLite3::openBlobLe paramètre flags a été ajouté, permettant d'écrire des BLOBs ; précédement seul la lecture était supporté.
7.1.24, 7.2.12, 7.3.0xml_parser_get_optionoptions supporte désormais XML_OPTION_SKIP_TAGSTART et XML_OPTION_SKIP_WHITE.
7.1.5IntlDateFormatter::formatAjout du support pour fournir un objet générique DateTimeInterface pour le paramètre value. Anciennement, seulement les objets valide DateTime étaient supprotés.
7.1.4PDO::sqliteCreateFunctionLe paramètre flags a été ajouté.
 SQLite3::createFunctionLe paramètre flags a été ajouté.
7.1.0DateInterval::formatLes caratères de format F et f ont été ajoutés.
 DateTime::setTimeLe paramètre microseconds a été ajouté.
 array_randL'algorithme interne de génération aléatoire a été modifié pour utiliser le générateur aleatoire de nombre Mersenne Twister au lieu de la fonction aléatoire libc
 curl_multi_setoptAjout de CURLMOPT_PUSHFUNCTION.
 exif_imagetypeAjout de la prise en charge de WebP.
 file_get_contentsAjout du support pour des positions offset négative.
 get_headersLe paramètre context a été ajouté.
 getenvvarname peut désormais être omit pour récupérer un tableau associatif de toutes les variables d'environnement.
 getimagesizeAjout du support de WebP.
 getoptAjout du paramètre optind.
 grapheme_extractLe support des valeurs nagatives pour starts a été ajouté.
 grapheme_striposAjout du support des offsets négatifs.
 grapheme_strposAjout du support des offsets négatifs.
 hash_algosSupport pour sha512/224, sha512/256, sha3-224, sha3-256, sha3-384 et sha3-512 ont été ajouté.
 iconv_strposSuppport pour les offsets négatifs a été ajouté.
 json_decodeUne clé JSON vide ("") peut être encodée dans la propriété d'objet vide au lieu d'utiliser une clé avec la valeur _empty_.
 json_encodeserialize_precision est utilisé à la place de precision lors de l'encodage de valeurs flottantes.
 json_encodeL'options JSON_UNESCAPED_LINE_TERMINATORS a été ajoutée.
 listIl est maintenant possible de spécifier les clés dans la list. Cela permet de déstructurer des tableaux avec des clés non-entières ou non séquentielles.
 long2ipLa type du paramètre proper_address a été modifié de string en integer.
 mb_eregmb_ereg va maintenant affecter regs à un tableau vide, si rien ne correspond. Auparavant, les regs n'étaient pas modifiées dans ce cas.
 mb_ereg_replaceLe modificateur e a été déconseillé.
 mb_ereg_search_setposLa prise en charge d'une position négative a été ajoutée.
 mb_eregimb_eregi définira désormais regs en un tableau vide, s'il n'y a aucune correspondance. Auparavant, regs n'était pas modifié dans ce cas.
 mb_eregi_replaceLe modificateur e est désormais obsolète.
 mb_strimwidthSupport pour starts et widths négatifs a été ajouté.
 mb_striposSupport pour offsets négatifs a été ajouté.
 mb_strposSupport pour offsets négatifs a été ajouté.
 mt_randmt_rand a été mis à jour pour utiliser la version corrigée, correcte, de l'algorithme Twister Mersenne. Pour revenir à l'ancien comportement, utilisez mt_srand avec MT_RAND_PHP comme deuxième paramètre.
 mt_randrand est devenu un alias de mt_rand.
 mt_srandmt_rand a été mis à jour pour utiliser la version corrigé, correcte de l'algorithme de Mersenne Twister. Pour retourner à l'ancien comportement, utilisez mt_srand avec MT_RAND_PHP comme deuxième paramètre.
 mt_srandsrand a été changé pour être un alias de mt_srand.
 openssl_csr_newconfigargs supporte désormais curve_name.
 openssl_decryptLes paramètres tag et aad ont été ajoutée.
 openssl_encryptLes paramètres tag, aad et tag_length ont été ajoutés.
 openssl_pkey_newL'argument de configuration curve_name a été ajouté pour permettre la création de clés EC.
 output_add_rewrite_varAvant php 7.1.0, la réécriture des variables définis par output_add_rewrite_var utilisez la même mémoire tampon de sortie du module de session trans sid. Depuis PHP 7.1.0, le tampon de sortie dédié est utilisé, url_rewriter.tags est utilisé uniquement pour les fonctions de sortie, ajout de url_rewriter.hosts.
 output_reset_rewrite_varsAvant php 7.1.0, les variables de réécriture définis par output_add_rewrite_var utilisaient la même mémoire tampon de sortie du module de session trans sid. Depuis PHP 7.1.0, la mémoire tampon de sortie dédiée est utilisée et output_reset_rewrite_vars supprime uniquement les vars de réécriture définis par output_add_rewrite_var.
 pcntl_signalÀ partir de PHP 7.1.0 le gestionnaire de la fonction de rappel est doté d'un second argument qui contient le signingo de ce signal spécifique. Ces données sont seulement fournies si le système d'exploitation a la structure signinfo_t. Si le système d'exploitation n'implémente pas siginfo_t NULL est fournit.
 pcntl_signal_get_handlerpcntl_signal_get_handler has been added.
 pg_fetch_allLe paramètre result_type a été ajouté.
 pg_last_noticeLe paramètre option a été ajouté.
 pg_selectLe paramètre result_type a été ajouté.
 randrand a été fait un alias de mt_rand.
 session_startsession_start retourne maintenant FALSE et n'initialise plus $_SESSION lorsqu'il n'a pas pu démarrer la session.
 shuffleL'algorithme interne de génération aléatoire a été modifié pour utiliser le générateur de nombre aléatoire Mersenne Twister au lieu de la fonction libc rand.
 srandsrand est devenu un alias de mt_srand.
 str_shuffleL'algorithme de randomisation a été modifié pour utiliser le Générateur de Nombre Aléatoire Mersenne Twister à la place de la fonction rand de libc.
 striposAjout du support des nombres négatifs pour le paramètre offset.
 strposAjout du support des nombres négatifs pour le paramètre offset.
 substr_countAjout du support des nombres négatifs pour offset et length. length peut aussi être 0 maintenant.
 unpackLa position offset optionnelle à été ajouté.
 unserializeL'élément allowed_classes de options) est maintenant strictement typé, c'est à dire si quelque chose autre qu'un tableau array ou un booléan boolean est donné unserialize retourne FALSE et émet une E_WARNING.
7.1DateTime::__constructA partir de mainteant, les microsecondes sont préremplie avec les valeurs actuelles et non plus avec '00000'.
7.0.16, 7.1.2dns_get_recordAjout du support pour les enregistrements de type CAA.
 fopenL'option 'e' a été ajoutée.
7.0.15, 7.1.1get_defined_functionsLe paramètre exclude_disabled a été ajouté.
7.0.15,7.1.1packLes codes "e", "E", "g" and "G" ont été ajouté pour activer la prise en charge de l'ordre des octets pour les nombres à virgule flottante simple et double précision.
7.0.11iconv_substrSi str est égal à offset charactères long, une chaine vide sera retourné. Antérieur à cette version, FALSE était retourné dans ce cas.
7.0.10SQLite3::__constructLe filename peut maintenant être vide pour utiliser une base de données privée, temporaire sur disque.
7.0.7curl_multi_setoptAjout de CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH et CURLMOPT_MAX_TOTAL_CONNECTIONS.
 curl_setoptIntroduit CURL_HTTP_VERSION_2, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CURL_HTTP_VERSION_2TLS, CURL_REDIR_POST_301, CURL_REDIR_POST_302, CURL_REDIR_POST_303, CURL_REDIR_POST_ALL, CURL_VERSION_KERBEROS5, CURL_VERSION_PSL, CURL_VERSION_UNIX_SOCKETS, CURLAUTH_NEGOTIATE, CURLAUTH_NTLM_WB, CURLFTP_CREATE_DIR, CURLFTP_CREATE_DIR_NONE, CURLFTP_CREATE_DIR_RETRY, CURLHEADER_SEPARATE, CURLHEADER_UNIFIED, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH, CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPT_CONNECT_TO, CURLOPT_DEFAULT_PROTOCOL, CURLOPT_DNS_INTERFACE, CURLOPT_DNS_LOCAL_IP4, CURLOPT_DNS_LOCAL_IP6, CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPT_HEADEROPT, CURLOPT_LOGIN_OPTIONS, CURLOPT_PATH_AS_IS, CURLOPT_PINNEDPUBLICKEY, CURLOPT_PIPEWAIT, CURLOPT_PROXY_SERVICE_NAME, CURLOPT_PROXYHEADER, CURLOPT_SASL_IR, CURLOPT_SERVICE_NAME, CURLOPT_SSL_ENABLE_ALPN, CURLOPT_SSL_ENABLE_NPN, CURLOPT_SSL_FALSESTART, CURLOPT_SSL_VERIFYSTATUS, CURLOPT_STREAM_WEIGHT, CURLOPT_TCP_FASTOPEN, CURLOPT_TFTP_NO_OPTIONS, CURLOPT_UNIX_SOCKET_PATH, CURLOPT_XOAUTH2_BEARER, CURLPROTO_SMB, CURLPROTO_SMBS, CURLPROXY_HTTP_1_0, CURLSSH_AUTH_AGENT et CURLSSLOPT_NO_REVOKE.
7.0.0array_columnAjout de la possibilité pour les input paramètres d'être un tableau ou un objet.
 assertassert est maintenant une construction de langage et non une fonction. assertion peut maintenant être une expression. Le second paramètre est maintenant interprété soit comme une exception (si un objet Throwable est fourni), soit comme une description supportée depuis PHP 5.4.8 et ultérieur.
 curl_setoptLe support pour désactiver l'option CURLOPT_SAFE_UPLOAD a été supprimée. Tous les téléversements de fichiers doivent utiliser CURLFile.
 currentarray est maintenant toujours passé par valeur. Précédemment à cette version,il était passé par référence si possible et par valeur dans les autres cas.
 defineLes valeurs array sont autorisées.
 dirnameAjout du paramètre optionnel levels.
 dldl est désactivé dans PHP-FPM.
 getrusageCette fonction est maintenant supportée sous Windows.
 gmmktimeLe paramètre is_dst a été supprimé.
 imagepsbboxL aprise en charge de T1Lib a été supprimé de PHP, ainsi cette fonction a été supprimée.
 imagepsencodefontL aprise en charge de T1Lib a été supprimé de PHP, ainsi cette fonction a été supprimée.
 imagepsextendfontL aprise en charge de T1Lib a été supprimé de PHP, ainsi cette fonction a été supprimée.
 imagepsfreefontL aprise en charge de T1Lib a été supprimé de PHP, ainsi cette fonction a été supprimée.
 imagepsloadfontL aprise en charge de T1Lib a été supprimé de PHP, ainsi cette fonction a été supprimée.
 imagepsslantfontL aprise en charge de T1Lib a été supprimé de PHP, ainsi cette fonction a été supprimée.
 imagepstextL aprise en charge de T1Lib a été supprimé de PHP, ainsi cette fonction a été supprimée.
 is_numericLes chaînes en notation héxadécimale (i.e. 0xf4c3b00c) ne sont plus vues comme des chaînes numériques, i.e. is_numeric retourne maintenant FALSE.
 json_decodeUne chaîne ou une valeur PHP vide qui après casting en string est une chaîne vide (null, false) entraîne une erreur de syntaxe JSON.
 json_decodeRejet des formats de nombre incompatibles avec RFC 7159 - niveau supérieur (07, 0xff, .1, -.1) et tous les niveaux ([1.], [1.e1])
 keyarray est maintenant toujours passé par valeur. Précédemment à cette version,il était passé par référence si possible et par valeur dans les autres cas.
 listLes expressions de list ne peuvent plus être complètement vide.
 listL'ordre dans lequel l'opération d'assignation est exécutée a changé.
 listLes chaînes de caractères ne peuvent plus être défaites.
 mktimeLe paramètre is_dst a été supprimé.
 ob_startLors de l'utilisation d'ob_start a l'intérieur d'une fonction de rappel d'un tampon de sortie, cette fonction ne lèvera plus une E_ERROR mais une E_RECOVERABLE_ERROR, autorisant les gestionnaires d'erreur personnalisés d’attraper ces erreurs.
 openssl_openLe paramètre iv a été ajouté.
 openssl_sealiv a été ajouté.
 parse_ini_fileLe dièse (#) n'est plus reconnu comme un commentaire.
 preg_replaceLe support de l'option /e n'a aucun effet. Utilisez la fonction preg_replace_callback à la place.
 session_regenerate_idsession_regenerate_id enregistre les anciennes données de session avant la fermeture.
 session_set_save_handlerAjout des paramètres optionnels validate_sid et update_timestamp.
 session_startLe paramètre options a été ajouté.
 set_exception_handlerLe type du paramètre passé dans exception_handler a changé, passant de Exception à Throwable
 setlocaleLe support du paramètre category sous forme de chaîne de caractères a été supprimé. Seules les constantes LC_* peuvent être utilisées avec cette version.
 shmop_closeLe type de shmid a été modifié de int en resource.
 shmop_deleteLe type de shmid a été modifié de int en resource.
 shmop_openLe type de shmid a été modifié de int en resource.
 shmop_readLe type de shmid a été modifié de int en resource.
 shmop_sizeLe type de shmid a été modifié de int en resource.
 shmop_writeLe type de shmid a été modifié de int en resource.
 substrSi string a une longueur égale à start caractères, une chaîne vide sera retournée. Avant cette version, FALSE était retourné dans ce cas.
 token_get_allAjout du paramère optionnel flags avec le drapeau TOKEN_PARSE.
 unserializeLe paramètre options a été ajouté.
 IntlDateFormatter::setTimeZoneIdCette fonction a été supprimée.
5.6.25, 7.0.10imagetypesAjout de la constante IMG_WEBP.
 SplFileObject::getCsvControlAjout du caractère d'échappement dans le tableau retourné.
5.6.16mysqli::real_connectAjout de la constante MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT pour le driver MySQL natif
5.6.12gd_infoAjout du support WebP.
5.6.6json_encodeL'options JSON_PRESERVE_ZERO_FRACTION a été ajoutée.
5.6.5cryptQuand la chaine d'erreur "*0" est donnée comme salt, "*1" sera maintenant retournée par consistence avec les autres implémentations crypt. Antérieurement à cette version, PHP 5.6 va incorrectement retourner un hash DES.
5.6.3packLes codes "q", "Q", "J" et "P" codes ont été ajoutés pour travailler avec les nombres 64 bits.
5.6.1parse_ini_fileAjout d'un nouveau mode INI_SCANNER_TYPED.
 sem_acquireLe paramètre $nowait a été ajouté.
5.6.0array_fillnum peut maintenant être 0. Précédemment, num devait être supérieur à 0.
 array_filterAjout du paramètre optionnel flag et des constantes ARRAY_FILTER_USE_KEY et ARRAY_FILTER_USE_BOTH
 cryptLance une alerte de niveau E_NOTICE si le paramètre salt est omis.
 curl_setoptSuppression de CURLOPT_CLOSEPOLICY et des valeurs associées.
 curl_setoptCURLOPT_SAFE_UPLOAD vaut maintenant TRUE par défaut.
 hash_algosLe support de gost-crypto a été ajouté. Il implémente la fonction de hashage GOST utilisant les tables CryptoPro S-box, tel que spécifié par la RFC 4357, section 11.2.
 html_entity_decodeLa valeur par défaut pour le paramètre encoding a été modifiée pour être la valeur de l'option de configuration default_charset.
 htmlentitiesLa valeur par défaut pour le paramètre encoding a été modifiée pour être la valeur de l'option de configuration default_charset.
 htmlspecialcharsLa valeur par défaut pour le paramètre encoding a été modifiée pour être la valeur de l'option de configuration default_charset.
 json_decodeLes variantes invalides qui ne sont pas en minuscule de true, false et null ne sont plus acceptées comme entrées valides, et vont générer des alertes.
 mb_regex_encodingL'encodage par défaut a changé en UTF-8. Auparavant, il était de EUC-JP.
 mcrypt_create_ivMCRYPT_DEV_URANDOM est maintenant la valeur par défaut du paramètre source.
 mcrypt_decryptDes tailles de clés et IV invalides ne sont plus acceptées. mcrypt_decrypt va maintenant émettre un warning et retourner FALSE. Précédemment les clés et IVs étaient complétées avec des '\0' jusqu'a la prochaine taille valide.
 mcrypt_encryptDes tailles de clés et IV invalides ne sont plus acceptées. mcrypt_encrypt va maintenant émettre un warning et retourner FALSE. Précédemment les clés et IVs étaient complétées avec des '\0' jusqu'a la prochaine taille valide.
 pg_connectLe support de la constante PGSQL_CONNECT_ASYNC pour le paramètre connect_type a été ajouté.
 pg_convertLa fonction n'est plus expérimentale. Les types de données booléen/NULL sont supportés. Les types de données inconnus/non supportés sont échappés dans validation. La fonction pg_convert peut être utilisée pour tous les types de données.
 pg_deleteLa fonction n'est plus expérimentale. Ajout de la constante PGSQL_DML_ESCAPE ainsi que du support des types de données TRUE/FALSE et NULL.
 pg_insertLa fonction n'est plus expérimentale. Ajout de la constante PGSQL_DML_ESCAPE ainsi que du support des données de type TRUE/FALSE et NULL.
 pg_insertÀ moins que PGSQL_DML_STRING est passé, la fonctione retourne désormais la ressource de connexion au lieux de TRUE en cas de succès.
 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_truncateAjout de la fonction de troncage. Elle supporte les objets larges 64 bits PostgreSQL 9.3. Le client et le serveur doivent avoir le support de PostgreSQL 9.3 et PHP doit avoir été compilé en 64 bits.
 pg_meta_dataLa fonction n'est plus expérimentale. Ajout de l'attribut par défaut "is enum". Le drapeau extended a été ajouté.
 pg_selectLa fonction n'est plus expérimentale. Ajout de la constante PGSQL_DML_ESCAPE ainsi que du support des données de type TRUE/FALSE et NULL.
 pg_updateLa fonction n'est plus expérimentale. Ajout de la constante PGSQL_DML_ESCAPE ainsi que du support des données de type TRUE/FALSE et NULL.
 stream_socket_enable_cryptoAjout des constantes STREAM_CRYPTO_METHOD_ANY_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT, STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, STREAM_CRYPTO_METHOD_ANY_SERVER, STREAM_CRYPTO_METHOD_TLSv1_0_SERVER, STREAM_CRYPTO_METHOD_TLSv1_1_SERVER, STREAM_CRYPTO_METHOD_TLSv1_2_SERVER.
 stream_socket_enable_cryptoLe paramètre crypto_type est maintenant optionnel.
 unserializeLa manipulation des données linéarisées en remplaçant C: avec O: pour forcer l'instanciation d'objet sans appeler le constructeur échoue dorénavant.
 ReflectionClass::newInstanceWithoutConstructorToutes les classes internes peuvent désormais être instanciées sauf celles déclarées comme final.
 XMLReader::getAttributeNoXMLReader::getAttributeNo retourne maintenant NULL si l'attribut n'existe pas.
 XMLReader::getAttributeNsXMLReader::getAttributeNS retourne maintenant NULL si l'attribut n'existe pas.
5.5.38, 5.6.24, 7.0.9getenvLe paramètre local_only a été ajouté.
5.5.22, 5.6.6flockAjout du support du paramètre wouldblock sous Windows.
 SplFileObject::flockAjout du support du paramètre wouldblock sur Windows.
5.5.21, 5.6.5SplFileObject::fputcsvAjout du paramètre escape.
5.5.21cryptQuand la chaine d'erreur "*0" est donnée comme salt, "*1" sera maintenant retournée par consistence avec les autres implémentations crypt. Antérieurement à cette version, PHP 5.5 (et branches plus anciennes), crypt va incorrectement retourner un hash DES.
5.5.19/5.6.3imagescaleLe calcul de la hauteur si new_height était omis ou négatif a été corrigé. Précédemment à ces versions, le ratio de l'image n'était pas conservé correctement.
5.5.19, 5.6.3DateTimeZone::getOffsetType de datetime modifié à DateTimeInterface. Précédement, DateTime.
5.5.11substr_compareLe paramètre length peut maintenant valoir 0.
5.5.10DateTimeZone::__constructLe paramètre fuseau horaire des valeurs de décalage.
5.5.8DatePeriod::__constructLe type du paramètre end change pour DateTimeInterface. Précédemment, DateTime.
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.4fputcsvAjout du paramètre escape_char
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.
 session_set_save_handlerAjout du paramètre optionnel create_sid.
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.0DatePeriod::__constructLe type du paramètre start change pour DateTimeInterface. Précédemment, DateTime.
 curl_getinfoAjout de CURLINFO_RESPONSE_CODE, CURLINFO_HTTP_CONNECTCODE, CURLINFO_HTTPAUTH_AVAIL, CURLINFO_PROXYAUTH_AVAIL, CURLINFO_OS_ERRNO, CURLINFO_NUM_CONNECTS, CURLINFO_SSL_ENGINES, CURLINFO_COOKIELIST, CURLINFO_FTP_ENTRY_PATH, CURLINFO_APPCONNECT_TIME, CURLINFO_CONDITION_UNMET, CURLINFO_RTSP_CLIENT_CSEQ, CURLINFO_RTSP_CSEQ_RECV, CURLINFO_RTSP_SERVER_CSEQ et CURLINFO_RTSP_SESSION_ID.
 curl_setoptIntroduit 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.
 imagerotateCette fonction est maintenant affectée par la méthode d'interpolation définie par la fonction imagesetinterpolation.
 imagerotateLe paramètre ignore_transparent est maintenant ignoré en silence.
 ip2longAntérieur à cette version, sur Windows ip2long retournait parfois un nombre valide même si la valeur passée n'était pas une adresse IPv4 en notation décimale à point.
 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_encodeLa valeur de retour en cas d'échec a changé de la chaîne de caractères null à FALSE.
 json_encodeL'options JSON_PARTIAL_OUTPUT_ON_ERROR a été ajoutée.
 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.
 IntlDateFormatter::setTimeZoneIdCette fonction a été dépréciée.
 mysqli::commitAjout des paramètres flags et name.
 mysqli::optionsLes options MYSQLI_SERVER_PUBLIC_KEY et MYSQLI_SERVER_PUBLIC_KEY ont été ajoutées.
 mysqli::rollbackAjout des paramètres flags et name.
 SoapClient::SoapClientNouvelle option ssl_method.
5.4.43, 5.5.27, 5.6.11escapeshellargLes points d'exclamation sont remplacés par des espaces.
 escapeshellcmdLes points d'exclamation sont remplacés par des espaces.
5.4.42, 5.5.27mailLa protection par injection d'en-tête a été ajoutée pour le paramètre additional_headers. Cela signifie que plusieurs sauts consécutifs ne sont plus autorisés.
5.4.32, 5.5.16ucwordsAjout du paramètre delimiters.
5.4.8assertLe paramètre description a été ajouté. La description est également maintenant fournie à la fonction de rappel en mode ASSERT_CALLBACK comme quatrième argument.
 mb_strcutPasser NULL en tant que length extrait tous les charactères jusqu'à la fin de la chaîne. Antérieur à cette version NULL était traité de la même manière que 0.
 mb_substrPasser NULL en tant que length extrait tous les charactères jusqu'à la fin de la chaîne. Antérieur à cette version NULL était traité de la même manière que 0.
5.4.7curl_getinfoAjout de CURLINFO_PRIMARY_IP, CURLINFO_PRIMARY_PORT, CURLINFO_LOCAL_IP et CURLINFO_LOCAL_PORT.
 parse_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.4hex2binUn 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 (nécessite ICU ≥ 4.6).
 idn_to_utf8Ajout des paramètres variant et idna_info ; Support de l'UTS #46 (nécessite ICU ≥ 4.6).
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 était disponible que lorsque PHP était installé comme module Apache ou par le module serveur NSAPI des serveurs Web Netscape/iPlanet/SunONE.
 apache_response_headersCette fonction devient disponible pour FastCGI. Précédemment, elle était disponible lorsque PHP était installé comme module Apache ou par le module serveur NSAPI des serveurs Web Netscape/iPlanet/SunONE.
 array_combineLes précédentes versions lançaient une alerte de niveau E_WARNING et retournaient 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_getLa variable d'environnement TZ n'est plus utilisée pour deviner le décalage horaire.
 date_default_timezone_getLe décalage horaire n'est plus deviné depuis les informations disponibles via le système d'exploitation.
 debug_backtraceLe paramètre optionnel limit a été ajouté.
 debug_print_backtraceAjout du paramètre optionnel limit.
 define_syslog_variablesCette fonction a été supprimée de PHP.
 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 fait partie de E_ALL.
 filter_input_arrayAjout du paramètre add_empty.
 filter_var_arrayAjout du paramètre add_empty.
 get_html_translation_tableLes constantes ENT_HTML401, ENT_XML1, ENT_XHTML et ENT_HTML5 ont été ajoutées.
 get_html_translation_tableLa valeur par défaut du paramètre encoding a changé en UTF-8.
 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 était disponible lorsque PHP était installé comme module Apache ou par le module serveur NSAPI des serveurs Web Netscape/iPlanet/SunONE.
 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. Voir l'exemple ci-dessous.
 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.
 htmlentitiesLes constantes ENT_SUBSTITUTE, ENT_DISALLOWED, 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.
 htmlspecialcharsLa valeur par défaut du paramètre encoding a été modifié en UTF-8.
 htmlspecialcharsLes constantes ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML et ENT_HTML5 ont été ajoutées.
 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é.
 iconvDepuis cette version, la fonction retourne FALSE sur des caractères illégaux à moins que //IGNORE ne soit spécifié dans le jeu de caractères de sortie. Avant cette version, la fonction retournait une chaîne partielle.
 imagecolorsetLe paramètre alpha a été ajouté.
 imagegdAjout de la prise en charge pour le passage d'un flux ressource à to.
 imagegd2Ajout du support pour passer un flux resource au paramètre to.
 imagegifAjout de la prise en charge des flux resource pour le paramètre to.
 imagejpegAjout du support pour l'utilisation d'un flux resource comme valeur du paramètre to.
 imagejpegInterdit le fait de passer une chaîne vide dans le paramètre to pour éviter cet argument.
 imagepngAjout de la prise en charge des flux resource pour le paramètre to.
 imagewbmpAjotu de la prise en charge des flux resource pour le paramètre to.
 issetLa vérification de positions non-numériques d'une chaîne retourne maintenant FALSE.
 json_decodeLe paramètre options a été ajouté.
 json_decodeLes options JSON_BIGINT_AS_STRING, et JSON_OBJECT_AS_ARRAY ont été ajouté.
 json_encodeLes options JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES et JSON_UNESCAPED_UNICODE ont été ajoutées.
 mb_decode_numericentityAjout du paramètre is_hex.
 mb_encode_numericentityAjout du paramètre is_hex.
 mysqli_get_cache_statsmysqli_get_cache_stats a été supprimée.
 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
 PDOStatement::getColumnMetaAjout de la méthode pour le driver PDO_DBLIB
 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.19imagecreatefromxpmimagecreatefromxpm est disponible sur Windows.
5.3.9DateTime::createFromFormatLe spécifieur + du paramètre format a été ajouté.
 dldl est activé dans PHP-FPM, mais déconseillé.
 is_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.
 curl_getinfoAjout de CURLINFO_REDIRECT_URL.
 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.4copyModifie le paramètre context pour avoir un effet. Précédemment, le paramètre context était ignoré.
 get_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.
 strip_tagsstrip_tags ignore les balises autofermantes dans allowable_tags.
 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.
 imap_fetch_overviewAjout de la propriété udate.
 json_encodeL'options 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.2cryptAjout de SHA-256 et de SHA-512 basés sur l'implementation de Ulrich Drepper.
 cryptCorrection 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.
 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é.
 SplFileObject::flockLe déverrouillage automatique lorsque le handle de ressource du fichier est fermé a été supprimé. Déverrouiller maintenant doit toujours être fait manuellement.
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_funcSi la fonction appellé attend un paramètre passé par référence, une E_WARNING est mainteant émise.
 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_getinfoAjout de CURLINFO_CERTINFO.
 curl_setoptIntroduit 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_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_argCette fonction peut maintenant être utilisée dans des listes de paramètres.
 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é.
 get_resource_typeSi handle n'est pas une resource cette fonction retourne NULL. Précédement, FALSE était retourné.
 getimagesizeAjout du support des icônes.
 getmxrrCette fonction est maintenant disponible sous Windows.
 getoptLe paramètre longopts est disponible sur tous les systèmes.
 getoptCette fonction n'est plus dépendante du système et fonctionne maintenant également sous Windows.
 getoptAjout du support de "=" comme séparateur argument/valeur.
 getoptAjout du support des valeurs optionnelles (spécifié par "::").
 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é ajouté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_encodeLes options JSON_FORCE_OBJECT, JSON_HEX_AMP, JSON_HEX_APOS, JSON_HEX_QUOT, et JSON_HEX_TAG ont été ajoutées.
 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_ivIl n'est plus nécessaire d'appeler srand dans un premier temps. Cet appel est maintenant fait automatiquement.
 mcrypt_create_ivMCRYPT_DEV_RANDOM et MCRYPT_DEV_URANDOM deviennent disponibles sous Windows.
 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.
 mysqli_get_cache_statsmysqli_get_cache_stats a été ajouté en tant que stub.
 nl2brAjout du paramètre optionnel is_xhtml. Avant cette version, La balise '<br />' était toujours insérée.
 openssl_openLe paramètre method a été ajoutée.
 openssl_sealmethod a été ajouté.
 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 doit 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 est désormais disponible 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, 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.
 strtotimeAvant PHP 5.3.0, 24:00 n'était pas un format valide et la fonction strtotime retournait FALSE.
 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 l'heure de modification d'un dossier sous Windows.
 mysqli::__constructAjout des connexions persistantes.
 mysqli::optionsLes options MYSQLI_OPT_INT_AND_FLOAT_NATIVE, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, MYSQLI_OPT_NET_READ_BUFFER_SIZE, et MYSQLI_OPT_SSL_VERIFY_SERVER_CERT ont été ajoutées.
 mysqli::queryAjout des requêtes asynchrones.
 PDO::__constructLes classes qui étendent PDO et implémentent la méthode magique __call recevront désormais le nom de la méthode dans la casse déclaré. Auparavant, c'était toujours en minuscule.
 ReflectionFunction::__constructname peut désormais être une fonctions anonymes.
 SplFileObject::setCsvControlAjout du paramètre escape.
 SplObjectStorage::attachAjout du paramètre data.
 XMLReader::expandLe paramètre basenode a été ajouté.
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_setoptIntroduit CURLOPT_PROTOCOLS et CURLOPT_REDIR_PROTOCOLS.
 ip2longAntérieur à cette version, ip2long retournait parfois un nombre valide même si la valeur passée n'était pas une adresse IPv4 en notation décimale à point.
 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 été modifié à NULL. Une longeur length NULL démande désormais à la fonction d'utiliser la longeur du tableau array. Antérieur à cette version, une longeur length NULL signifiait une longueur égale à zéro (rien n'était retourné).
 checkdnsrrLe type TXT a été ajouté.
 curl_getinfoAjout de CURLINFO_PRIVATE.
 curl_setoptIntroduit CURLOPT_PRIVATE.
 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.
 htmlspecialcharsLe paramètre double_encode a été ajouté.
 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.
 date_sun_infoL'ordre de latitude et longitude ont été échangés.
 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.
 realpathAvant cette version, realpath retournait FALSE si le paramètre path est une chaîne vide, ou si vaut NULL.
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.
 headerCette fonction prévient l'envoi de plus d'un en-tête en même temps pour lutter contre les attaques par injection d'en-tête.
 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_setoptIntroduit CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH et CURLOPT_TIMECONDITION.
 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Émet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
 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/..')
 mktimeÉmet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires.
 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.
 mktimeLorsqu'appelée sans argument, la fonction mktime émet une alerte de type E_STRICT. Utilisez la fonction time à la place.
 mssql_connectLe paramètre new_link a été ajouté.
 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.4msql_fetch_arrayUn bogue a été résolu lors de la récupération des données depuis des colonnes contenant les valeurs NULL. De telles colonnes n'étaient pas placées dans le tableau résultant.
 msql_fetch_objectUn bogue a été résolu lors de la récupération des données depuis des colonnes contenant les valeurs NULL. De telles colonnes n'étaient pas placées dans le tableau résultant.
 msql_fetch_rowUn bogue a été résolu lors de la récupération des données depuis des colonnes contenant les valeurs NULL. De telles colonnes n'étaient pas placées dans le tableau résultant.
5.0.3get_class_varsget_class_vars ne retourne que les propriétés qui sont accessibles depuis le contexte courant.
 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.0curl_setoptIntroduit CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE, et CURLOPT_HTTP200ALIASES.
 is_aCette fonction devient obsolète en faveur de l'opérateur instanceof. L'appel à cette fonction émettra une alerte de niveau E_STRICT.
 strtotimeLes microsecondes sont acceptées mais ignorées.