Appendices
PHP Manual

Список изменений

Следующие изменения были произведены с функциями встроенных раширений.

VersionFunctionDescription
PHP 7.1.4PDO::sqliteCreateFunctionДобавлен параметр flags.
 SQLite3::createFunctionThe flags has been added.
PHP 7.0.15, PHP 7.1.1get_defined_functionsДобавлен параметр exclude_disabled.
PHP 5.3.0get_resource_typeЕсли handle не является ресурсом (тип resource), то эта функция вернет NULL. Ранее возвращался FALSE.
Enter the version of change herepcntl_signal_get_handlerDescribe the change
dbase 7.0.0dbase_add_recordПараметр dbase_identifier теперь имеет тип resource а не int.
 dbase_closeПараметр dbase_identifier теперь имеет тип resource а не int.
 dbase_createВозвращаемое значение теперь имеет тип resource а не int.
 dbase_delete_recordПараметр dbase_identifier теперь имеет тип resource а не int.
 dbase_get_header_infoПараметр dbase_identifier теперь имеет тип resource а не int.
 dbase_get_recordПараметр dbase_identifier теперь имеет тип resource а не int.
 dbase_get_record_with_namesПараметр dbase_identifier теперь имеет тип resource а не int.
 dbase_numfieldsПараметр dbase_identifier теперь имеет тип resource а не int.
 dbase_numrecordsПараметр dbase_identifier теперь имеет тип resource а не int.
 dbase_openПараметр dbase_identifier теперь имеет тип resource а не int.
 dbase_packПараметр dbase_identifier теперь имеет тип resource а не int.
 dbase_replace_recordПараметр dbase_identifier теперь имеет тип resource а не int.
7.3.0bcmulТеперь bcmul возвращает числа с заданной точностью. Раньше завершающие нули в дробной части числа отбрасывались.
 bcpowТеперь bcpow возвращает числа с заданной точностью. Раньше завершающие нули в дробной части числа отбрасывались.
7.2.0assertИспользование строк в параметре assertion объявлено устаревшим и будет приводить к ошибкам уровня E_DEPRECATED в случае, когда и assert.active и zend.assertions установлены в значение 1.
 bcmoddividend и modulus более не обрезаются до целого, так что теперь поведение bcmod соответствует fmod, а не оператору %.
 countcount не будет выдавать предупреждение о некорректных исчисляемых типов, переданных в параметр array_or_countable.
 exif_read_dataПараметр filename переименован в stream и может принимать как локальный путь к файлу, так и потоковый ресурс.
 exif_read_dataДобавлена поддержка следующих форматов EXIF: Samsung DJI Panasonic Sony Pentax Minolta Sigma/Foveon AGFA Kyocera Ricoh Epson
 exif_thumbnailПараметр filename переименован в stream и может принимать как локальный путь к файлу, так и потоковый ресурс.
 get_classNULL более не является значением по умолчанию для object и не является допустимым значением этого параметра.
 gettypeДля закрытых ресурсов теперь возвращается 'resource (closed)'. Ранее для закрытых ресурсов возвращалось 'unknown type'.
 hash_hmacЗапрещено использование некриптографических хеш-функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat).
 hash_hmac_fileЗапрещено использование некриптографических хеш-функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat).
 hash_initЗапрещено использование некриптографических хеш-функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) с константой HASH_HMAC.
 hash_pbkdf2Запрещено использование некриптографических функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat).
 idn_to_asciiINTL_IDNA_VARIANT_2003 объявлена устаревшей, вместо нее используйте INTL_IDNA_VARIANT_UTS46.
 idn_to_utf8INTL_IDNA_VARIANT_2003 объявлена устаревшей, вместо нее используйте INTL_IDNA_VARIANT_UTS46.
 imageantialiasФункция imageantialias доступна без ограничений. Ранее она была доступна, только если PHP был собран с использованием библиотеки GD идущей с ним в комплекте.
 imagegdТеперь imagegd позволяет сохранять изображения "truecolor". Раньше они неявно преобразовывались к палитре.
 imagelayereffectДобавлена IMG_EFFECT_MULTIPLY (требует системную библиотеку libgd >= 2.1.1 или libgd идущую в комплекте с PHP).
 imagetypesДобавлена константа IMG_BMP.
 is_objectТеперь is_object возвращает TRUE для десериализованных объектов, у которых отсутствует объявление класса (класс __PHP_Incomplete_Class). Раньше возвращалось FALSE.
 mt_randДля mt_rand произведено исправление бага смещения по модулю. Это означает, что последовательности сгенерированные с конкретным начальным значением могут отличаться от сгенерированных в PHP 7.1 для 64-битных машин.
 number_formatnumber_format была изменена, чтобы не возвращать -0, ранее -0 могло быть возвращено в случаях когда number был -0.01.
 packТипы float и double поддерживают как обратный, так и прямой порядок передачи байтов.
 parse_strИспользование parse_str без второго параметра будет вызывать ошибку уровня E_DEPRECATED.
 password_hashДобавлена поддержка хеширующего алгоритма Argon2 с помощью PASSWORD_ARGON2I.
 proc_niceЭта функция стала доступна в Windows.
 randДля rand произведено исправление бага смещения по модулю. Это означает, что последовательности сгенерированные с конкретным начальным значением могут отличаться от сгенерированных в PHP 7.1 для 64-битных машин.
 read_exif_dataЭтот псевдоним был объявлен устаревшим.
 set_error_handlerПараметр errcontext объявлен устаревшим. Теперь при его использовании будет вызываться ошибка уровня E_DEPRECATED.
 unpackТипы float и double поддерживают как обратный, так и прямой порядок передачи байтов.
 utf8_decodeЭта функция была перенесена в ядро PHP, таким образом отменив требование расширения XML для использования этой функции.
 utf8_encodeЭта функция была перенесена в ядро PHP, таким образом отменив требование расширения XML для использования этой функции.
 PDOStatement::debugDumpParamsPDOStatement::debugDumpParams теперь возвращает SQL, отправленный в базу данных, в том числе полный необработанный запрос (включая замененные параметры с их связанными значениями). Обратите внимание, что это будет работать только при включенной эмуляции подготавливаемых запросов.
 SQLite3::openBlobThe flags parameter has been added, allowing to write BLOBs; formerly only reading was supported.
7.1.5IntlDateFormatter::formatSupport for providing general DateTimeInterface objects to the value parameter was added. Formerly, only proper DateTime objects were supported.
7.1.0DateInterval::formatДобавлены форматирующие символы F и f.
 DateTime::setTimeДобавлен параметр microseconds.
 array_randВнутренний алгоритм получения случайных чисел изменен с функции rand библиотеки libc на генератор на базе Вихря Мерсена.
 curl_multi_setoptДобавлена константа CURLMOPT_PUSHFUNCTION.
 exif_imagetypeДобавлена поддержка WebP.
 file_get_contentsДобавлена поддержка отрицательных значений offset.
 getimagesizeДобавлена поддержка WebP.
 getoptДобавлен параметр optind.
 grapheme_extractSupport for negative starts has been added.
 grapheme_striposSupport for negative offsets has been added.
 grapheme_strposSupport for negative offsets has been added.
 iconv_strposПоддержка отрицательных значений offset.
 json_decodeПустой ключ JSON ("") будет преобразован в пустое свойство объекта, а не в свойство со значением _empty_.
 json_encodeПри кодировании чисел с плавающей запятой используется serialize_precision вместо precision.
 long2ipТип параметра proper_address изменен с string на integer.
 mb_eregТеперь mb_ereg устанавливает regs равным пустому массиву (array), если ничего не найдено. Ранее в этом случае regs оставался неизменным.
 mb_ereg_replaceМодификатор e объявлен устаревшим.
 mb_ereg_search_setposДобавлена поддержка отрицательных значений position.
 mb_eregiФункцию mb_eregi устанавливает значение regs равным пустому массиву, если ничего не найдено. Ранее, в подобном случае, regs оставался неизменным.
 mb_eregi_replaceМодификатор e объявлен устаревшим.
 mb_strimwidthДобавлена поддержка отрицательных start и width.
 mb_striposДобавлена поддержка отрицательных значений offset.
 mb_strposДобавлена поддержка отрицательных значений offset.
 mt_randФункция mt_rand была обновлена и теперь использует коректную версию генератора случайных чисел не основе Вихря Мерсена. Для использования старого поведения, используйте mt_srand со вторым параметром, установленным в MT_RAND_PHP.
 mt_randrand теперь является псевдонимом mt_rand.
 mt_srandrand теперь является псевдонимом mt_rand.
 mt_srandФункция mt_rand была обновлена и теперь использует коректную версию генератора случайных чисел не основе Вихря Мерсена. Для использования старого поведения, используйте mt_srand со вторым параметром, установленным в MT_RAND_PHP.
 openssl_decryptДобавлены параметры tag и aad.
 openssl_encryptДобавлены параметры tag, aad и tag_length.
 openssl_pkey_newДобавлен ключ curve_name в configarg для обеспечения возможности создания EC ключей.
 output_add_rewrite_varДо PHP 7.1.0, переменные перезаписи установленные функцией output_add_rewrite_var используют тот же буфер модуля сессии "trans sid". С PHP 7.1.0, используется отдельный буфер, url_rewriter.tags используется только для функций вывода, добавлен url_rewriter.hosts.
 output_reset_rewrite_varsДо PHP 7.1.0, переменные перезаписи установленные функцией output_add_rewrite_var используют тот же буфер модуля сессии "trans sid". С PHP 7.1.0, используется отдельный буфер и output_reset_rewrite_vars только удаляет переменные перезаписи определенные output_add_rewrite_var.
 pcntl_signalНачиная с PHP 7.1.0 обработчику обратного вызова передается второй аргумент содержащий структуру siginfo определенного сигнала. Эти данные будут переданы только в том случае, если операционная система поддерживает структуры siginfo_t. Если в операционной системе не реализована поддержка структуры siginfo_t, то в качестве второго аргумента будет передан NULL.
 randrand стала синонимом функции mt_rand.
 shuffleВнутренний алгоритм получения случайных чисел изменен с функции rand библиотеки libc на генератор на базе Вихря Мерсена.
 srandsrand стала синонимом функции mt_srand.
 str_shuffleВнутренний алгоритм получения случайных чисел изменен с функции rand библиотеки libc на генератор на базе Вихря Мерсена.
 striposДобавлена поддержка отрицательных значений offset.
 strposДобавлена поддержка отрицательных значений offset.
 substr_countДобавлена поддержка отрицательных значений offset и length.
 unserializeТеперь элемент allowed_classes параметра options строго типизирован, т.е. если передано что-либо, кроме array и boolean, unserialize вернет FALSE и вызовет ошибку E_WARNING.
7.1DateTime::__constructТеперь микросекунды будут заполняться корректным значением, а не '00000'.
7.0.16, 7.1.2fopenДобавлена опция 'e'.
7.0.16dns_get_recordДобавлена поддержка записей типа CAA.
7.0.15,7.1.1packДобавлены коды "e", "E", "g" и "G" для поддержки принудительного указания порядка байт для float и double.
7.0.11iconv_substrЕсли str имеет длину равную offset, будет возвращена пустая строка. Ранее в подобных случаех возвращалось FALSE.
7.0.10SQLite3::__constructПараметр filename можно задавать пустой строкой для создания на диске приватной, временной базы данных.
7.0.7curl_multi_setoptДобавлены константы CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH и CURLMOPT_MAX_TOTAL_CONNECTIONS.
 curl_setoptДобавлены 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 и CURLSSLOPT_NO_REVOKE.
7.0.0array_columnДобавлена возможность использовать массив объектов в input.
 assertassert теперь языковая конструкция, а не функция. assertion теперь может быть выражением. Второй параметр теперь интерпретируется как исключение exception (если передан объект Throwable), или как описание description, поддерживаемое с версии PHP 5.4.8 и далее.
 curl_setoptПоддержка запрещения опции CURLOPT_SAFE_UPLOAD была удалена. Все загрузки файлов с помощью curl должны использовать CURLFile.
 currentТеперь параметр array всегда передается по значению. Раньше он по возможности передавался по ссылке.
 defineДопустимы значения типа array.
 dirnameДобавлен необязательный параметр levels.
 dldl запрещено в PHP-FPM.
 getrusageДобавлен поддержка этой функции в Windows.
 gmmktimeПараметр is_dst был удален.
 imagepsbboxПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepsencodefontПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepsextendfontПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepsfreefontПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepsloadfontПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepsslantfontПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 imagepstextПоддержка T1Lib удалена из PHP и эта функция, соответственно, тоже.
 is_numericСтроки, содержащие шестнадцатеричную (0xf4c3b00c) запись, больше не считаются числовыми строками, то есть is_numeric вернет FALSE.
 json_decodeОтклонены несовместимые форматы чисел RFC 7159 - высший уровень (07, 0xff, .1, -.1) и на всех уровнях ([1.], [1.e1])
 json_decodeПустые строки PHP или значения, которые после преобразования в строки становятся пустыми строками (NULL, FALSE) приведут к ошибке синтаксиса JSON.
 keyТеперь параметр array всегда передается по значению. Раньше он по возможности передавался по ссылке.
 listБольше нельзя разбирать строки с помощью этой функции.
 listИзменен порядок операций присвоения.
 listВыражение list больше не может быть полностью пустым.
 mktimeПараметр is_dst был удален.
 ob_startВ случае, если ob_start используется внутри callback-функции буфера вывода, эта функция больше не будет приводить к ошибке E_ERROR, а вместо этого будет вызывать E_RECOVERABLE_ERROR, позволяя сторонним обработчикам ошибок поймать ее.
 openssl_openДобавлен параметр iv.
 openssl_sealДобавлен параметр iv.
 parse_ini_fileСимвол решетки (#) больше не используется для комментариев.
 preg_replaceУдалена поддержка модификатора /e. Вместо него используйте preg_replace_callback.
 session_regenerate_idsession_regenerate_id перед закрытием сохраняет данные старой сессии.
 session_startДобавлен параметр options.
 set_exception_handlerТип параметра передаваемого в exception_handler изменен с Exception на Throwable
 setlocaleУдалена поддержка для параметра category передаваемого как строка. С текущей версии можно пользоваться только константами LC_*.
 shmop_closeТип shmid был изменен с int на resource.
 shmop_deleteТип shmid был изменен с int на resource.
 shmop_openТип shmid был изменен с int на resource.
 shmop_readТип shmid был изменен с int на resource.
 shmop_sizeТип shmid был изменен с int на resource.
 shmop_writeТип shmid был изменен с int на resource.
 substrЕсли длина строки string равна количеству символов, указанному в start, то возвращается пустая строка. До этой версии в этом случае возвращалась FALSE.
 token_get_allДобавлен необязательный параметр flags, который может принимать значение TOKEN_PARSE.
 unserializeДобавлен параметр options.
 IntlDateFormatter::setTimeZoneIdThis function has been removed.
5.6.25, 7.0.10imagetypesДобавлена константа IMG_WEBP.
 SplFileObject::getCsvControlДобавлен символ экранирования в результирующий массив.
5.6.16mysqli::real_connectДобавлен флаг MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT для MySQL Native Driver
5.6.12gd_infoДобавлена поддержка WebP.
5.6.6json_encodeДобавлено значение JSON_PRESERVE_ZERO_FRACTION для параметра option.
5.6.5cryptТеперь, если в параметр salt передано неправильное значение "*0", то будет возвращаться "*1" согласно другим криптографическим реализациям. До этой версии PHP 5.6 возвращал DES хэш.
5.6.3packДобавлены коды "q", "Q", "J" и "P" для поддержки 64-bit чисел.
5.6.1parse_ini_fileДобавлен новый режим INI_SCANNER_TYPED.
 sem_acquireДобавлен параметр $nowait.
5.6.0array_fillnum теперь может быть равен нулю. До этого num должен был быть больше нуля.
 array_filterДобавлен необязательный параметр flag и константы ARRAY_FILTER_USE_KEY и ARRAY_FILTER_USE_BOTH
 cryptЕсли параметр salt пропущен, то бросается предупреждение E_NOTICE.
 curl_setoptОпция CURLOPT_SAFE_UPLOAD теперь имеет значение по умолчанию равное TRUE.
 curl_setoptУдалена опция CURLOPT_CLOSEPOLICY и связанные с ней значения.
 escapeshellargЗначение по умолчанию для параметра encoding было изменено на значение конфигурационной опции default_charset.
 escapeshellcmdЗначение по умолчанию для параметра encoding было изменено на значение конфигурационной опции default_charset.
 hash_algosДобавлена поддержка для gost-crypto. Реализуется функция GOST хэш, использующая CryptoPro S-box таблицы, согласно RFC 4357, секция 11.2.
 html_entity_decodeЗначение по умолчанию для параметра encoding было изменено на значение конфигурационной опции default_charset.
 htmlentitiesЗначение по умолчанию для параметра encoding было изменено на значение конфигурационной опции default_charset.
 htmlspecialcharsЗначение по умолчанию для параметра encoding было изменено на значение конфигурационной опции default_charset.
 json_decodeНедопустимые варианты true, false и null не в нижнем регистре больше не допускаются во входящих данных, и приводят к предупреждениям.
 mb_regex_encodingКодировка по умолчанию изменена на UTF-8. Ранее по умолчанию была EUC-JP.
 mcrypt_create_ivТеперь MCRYPT_DEV_URANDOM является значением по умолчанию для source.
 mcrypt_decryptПараметры key и iv некорректных размеров более не принимаются. Теперь функция mcrypt_decrypt будет выводить предупреждение и возвращать FALSE если входные данные некорректны. Ранее в подобной ситуации ключ и инициализирующий вектор дополнялись до нужной длины символами '\0'.
 mcrypt_encryptНекорректные размеры ключа key и инициализирующего вектора iv более не принимаются. Теперь в случае некорректных входных параметров Функция mcrypt_encrypt будет возвращать FALSE и вызывать предупреждение. Ранее в подобном случае ключ и инициализирующий вектор дополнялись до необходимого размера с помощью символов '\0'.
 pg_connectДобавлена поддержка константы PGSQL_CONNECT_ASYNC для параметра connect_type.
 pg_convertБольше не является экспериментальной. Добавлена поддержка булевых/NULL значений. Неизвестные и неподдерживаемые типы данных экранируются без валидации. pg_convert можно использовать с любыми типами данных.
 pg_deleteБольше не является экспериментальной. Добавлена константа PGSQL_DML_ESCAPE, TRUE/FALSE и NULL типы данных теперь поддерживаются.
 pg_insertБольше не является экспериментальной. Добавлена константа PGSQL_DML_ESCAPE, TRUE/FALSE и NULL типы данных теперь поддерживаются.
 pg_insertЕсли не передана константа PGSQL_DML_STRING, функция, в случае успешного завершения, возвращает ресурс соединения, а не TRUE.
 pg_lo_seekДобавлена поддержка больших 64-битных объектов PostgreSQL 9.3. И клиент и сервер должны поддерживать PostgreSQL 9.3, и PHP должен быть собран 64-битным и использовать 64-битные большие объекты.
 pg_lo_tellДобавлена поддержка больших 64-битных объектов PostgreSQL 9.3. И клиент и сервер должны поддерживать PostgreSQL 9.3, и PHP должен быть собран 64-битным и использовать 64-битные большие объекты.
 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.
 pg_meta_dataБольше не является экспериментальной. Добавлено "is enum" атрибутом по умолчанию. Добавлен флаг extended.
 pg_selectБольше не является экспериментальной. Добавлена константа PGSQL_DML_ESCAPE, TRUE/FALSE и NULL типы данных теперь поддерживаются.
 pg_updateБольше не является экспериментальной. Добавлена константа PGSQL_DML_ESCAPE, TRUE/FALSE и NULL типы данных теперь поддерживаются.
 stream_socket_enable_cryptoДобавлены константы 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_cryptoПараметр crypto_type теперь необязателен.
 unserializeИзменение сериализованных данных с заменой C: на O:, для принудительного создания объекта без вызова конструктора, теперь будет проходить успешно.
 ReflectionClass::newInstanceWithoutConstructorТеперь можно создавать экземпляры для всех встроенных классов, кроме тех, у которых проставлен final.
 XMLReader::getAttributeNoXMLReader::getAttributeNo теперь возвращает NULL, если атрибут не существует.
 XMLReader::getAttributeNsXMLReader::getAttributeNS теперь возвращает NULL, если атрибут не существует.
5.5.38, 5.6.24, 7.0.9getenvБыл добавлен параметр local_only.
5.5.22, 5.6.6flockДобавлена поддержка параметра wouldblock в Windows.
 SplFileObject::flockДобавлена поддержка параметра wouldblock в Windows.
5.5.21, 5.6.5SplFileObject::fputcsvДобавлен параметр escape.
5.5.21cryptТеперь, если в параметр salt передано неправильное значение "*0", то теперь возвращается "*1" согласно другим криптографическим реализациям. До этой версии PHP 5.5 (и другие ветки) возвращал DES хеш.
5.5.19/5.6.3imagescaleThe calculation of the height if new_height was negative or omitted was fixed; prior to these versions, the aspect ratio was not maintained correctly.
5.5.11substr_comparelength теперь может быть равной 0.
5.5.10DateTimeZone::__constructПараметр timezone принимает значения смещения.
5.5.8DatePeriod::__constructТип параметра end изменен на DateTimeInterface. Ранее использовался DateTime.
5.5.7apache_request_headersЭта функция стала доступна в CLI сервере.
 apache_response_headersЭта функция стала доступна в CLI сервере.
 getallheadersЭта функция стала доступна в CLI сервере.
5.5.4fputcsvДобавлен параметр escape_char
5.5.3/5.4.19pg_deleteИсправлены прямые SQL-инъекции в table_name и непрямые SQL-инъекции в идентификаторах.
 pg_insertИсправлены прямые SQL-инъекции в table_name и непрямые SQL-инъекции в идентификаторах.
 pg_selectИсправлены прямые SQL-инъекции в table_name и непрямые SQL-инъекции в идентификаторах.
 pg_updateИсправлены прямые SQL-инъекции в table_name и непрямые SQL-инъекции в идентификаторах.
5.5.2DOMDocument::schemaValidateДобавлен параметр flags
 DOMDocument::schemaValidateSourceДобавлен параметр flags
5.5.1hex2binЕсли входная строка не является правильной шестнадцатеричной строкой, то будет выброшено предупреждение.
 pg_unescape_byteaЕсли входная строка не валидна, то бросается предупреждение.
 session_set_save_handlerДобавлен необязательный параметр create_sid.
5.5.0/PECL 3.0.0IntlDateFormatter::createAn IntlCalendar object is allowed for calendar. Objects of type IntlTimeZone and DateTimeZone are allowed for timezone. Invalid timezone identifiers (including empty strings) are no longer allowed for timezone. If NULL is given for timezone, the timezone identifier given by date_default_timezone_get will be used instead of ICUʼs default.
 IntlDateFormatter::formatSupport for providing IntlCalendar objects to the value parameter was added.
 IntlDateFormatter::setCalendarIt became possible to pass an IntlCalendar object.
5.5.0DatePeriod::__constructТип параметра start изменен на DateTimeInterface. Ранее использовался DateTime.
 curl_getinfoДобавлены 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 и CURLINFO_RTSP_SESSION_ID.
 curl_setoptДобавлена опция CURLOPT_SHARE.
 curl_setoptРесурс cURL добавлен первым аргументом в callback-функцию CURLOPT_PROGRESSFUNCTION.
 emptyempty теперь поддерживает выражения, а не только переменные.
 imagerotateЭта функция теперь меняет свое поведение при изменении метода интерполяции функцией imagesetinterpolation.
 imagerotateПараметр ignore_transparent игнорируется без предупреждений.
 ip2longДо этой версии в Windows ip2long иногда могло быть возвращено корректное число, даже если был передан некорректный IPv4-адрес.
 iterator_to_arrayiterator_to_array стал поддерживать ключи с типами, отличными от integer и string, если включен параметр use_keys.
 json_encodeВозвращаемое значение в случае неудачи изменено со строки null на FALSE.
 json_encodeДобавлена опция JSON_PARTIAL_OUTPUT_ON_ERROR.
 json_encodeДобавлен параметр depth.
 mysql_connectФункция вызывает ошибку E_DEPRECATED.
 mysql_db_nameФункция mysql_list_dbs устарела, и вызывает ошибку уровня E_DEPRECATED.
 mysql_pconnectЭта функция теперь вызывает ошибку E_DEPRECATED.
 mysql_tablenameФункция mysql_tablename устарела, и вызывает ошибку уровня E_DEPRECATED.
 packДобавлен код "Z", работающий аналогично "a" для совместимости с Perl.
 php_logo_guidphp_logo_guid удалена из PHP.
 phpinfoGUID логотипов были заменены на URI данных, и отключение expose_php теперь не влияет на результат phpinfo(). Список авторов теперь также встроен в вывод.
 preg_replaceМодификатор /e теперь считается устаревшим. Используйте функцию preg_replace_callback. Смотрите документацию PREG_REPLACE_EVAL с дополнительной информацией и описанием проблем с безопасностью.
 set_error_handlererror_handler теперь может принимать NULL.
 set_exception_handlerРаньше, если был передан NULL, то эта функция возвращала TRUE. Теперь она возвращает старый обработчик.
 setcookieТеперь атрибут max-age включен в заголовок, отправляемый клиенту Set-Cookie.
 setrawcookieАтрибут Max-Age теперь добавляется в заголовок Set-Cookie, отправляемый клиенту.
 unpackДля поддержания совместимости с Perl сделано следующее: Код "a" теперь сохраняет завершающие NULL байты. Код "A" теперь удаляет все завершающие ASCII пробельные символы (пробелы, табуляцию, переносы строк, возврат каретки, и NULL байты). Код "Z" добавлен для NULL-дополненными строками, и удаляет завершающие NULL байты.
 zend_logo_guidzend_logo_guid удалена из PHP.
 IntlDateFormatter::setTimeZoneIdThis function has been deprecated.
 mysqli::commitДобавлены параметры flags и name.
 mysqli::optionsДобавлены опции MYSQLI_SERVER_PUBLIC_KEY и MYSQLI_SERVER_PUBLIC_KEY.
 mysqli::rollbackДобавлены параметры flags и name.
 SoapClient::SoapClientНовая опция ssl_method.
5.4.43, 5.5.27, 5.6.11escapeshellargВосклицательный знак заменяется пробелом.
 escapeshellcmdВосклицательные знаки заменяются пробелами.
5.4.32, 5.5.16ucwordsДобавлен параметр delimiters.
5.4.8assertДобавлен параметр description. Параметр description также доступен в callback-функции в режиме ASSERT_CALLBACK в качестве четвертого аргумента.
 mb_strcutПередача NULL в ккачестве length вернет все байты до конца строки. В более ранних версиях NULL интерпретировался как 0.
 mb_substrПередача NULL в качестве length вернет все символы до конца строки. В более ранних версиях NULL интерпретировался как 0.
5.4.7curl_getinfoДобавлены CURLINFO_PRIMARY_IP, CURLINFO_PRIMARY_PORT, CURLINFO_LOCAL_IP и CURLINFO_LOCAL_PORT.
 parse_urlИсправлено распознавание host, если в URL отсутствовал компонент scheme и использовался ведущий разделитель компонентов.
5.4.4hex2binЕсли строка имеет нечетную длину, выбрасывается предупреждение. В PHP 5.4.0 такая строка принималась, а последний байт просто обрезался.
5.4.0/PECL 2.0.0b1idn_to_asciiДобавлены параметры variant и idna_info; поддержка UTS #46.
 idn_to_utf8Добавлены параметры variant и idna_info; поддержка UTS #46.
5.4.0DOMDocument::loadHTMLДобавлен параметр options.
 DOMDocument::loadHTMLFileДобавлен параметр options.
 apache_child_terminateЭта функция стала доступной в режиме FastCGI. Ранее она поддерживалась только при запуске PHP в качестве модуля для Apache.
 apache_request_headersДанная функция стала доступной при использовании FastCGI. До этого поддерживалась только в случае использования PHP как модуля Apache или в серверном модуле NSAPI в веб-серверов Netscape/iPlanet/SunONE
 apache_response_headersДанная функция стала доступной при использовании FastCGI. Раньше она была доступна только если PHP был установлен, как модуль Apache или в серверном модуле NSAPI в веб-серверов Netscape/iPlanet/SunONE
 array_combineПредыдущие версии выдавали E_WARNING и возвращали FALSE для пустых массивов.
 array_multisortДобавлены SORT_NATURAL и SORT_FLAG_CASE в возможные флаги сортировки array1_sort_flags.
 date_default_timezone_getПеременная окружения TZ больше не используется при угадывании временной зоны.
 date_default_timezone_getВременная зона больше не угадывается с помощью информации, полученной из операционной системы, так как данный метод нестабилен и на него нельзя полагаться.
 debug_backtraceДобавлен необязательный аргумент limit.
 debug_print_backtraceДобавлен необязательный аргумент limit.
 define_syslog_variablesЭта функция была удалена из PHP.
 dns_get_recordДобавлен параметр raw.
 emptyПроверка нечислового индекса строки возвращает TRUE.
 error_reportingE_STRICT стал частью E_ALL.
 filter_input_arrayДобавлен параметр add_empty.
 filter_var_arrayДобавлен параметр add_empty.
 get_html_translation_tableБыли добавлены константы ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
 get_html_translation_tableЗначение по умолчанию для параметра encoding было изменено на UTF-8.
 get_magic_quotes_gpcВсегда возвращает FALSE, так как функционал магических кавычек удален из PHP.
 get_magic_quotes_runtimeВсегда возвращает FALSE, так как функционал магических кавычек удален из PHP.
 getallheadersЭта функция стала доступной при использовании FastCGI. Ранее она была доступна только если PHP был установлен, как модуль Apache или в серверном модуле NSAPI в веб-серверов Netscape/iPlanet/SunONE
 gzcompressДобавлен параметр encoding.
 gzdeflateДобавлен параметр encoding.
 gzencodeFORCE_DEFLATE теперь генерирует вывод, совместимый с RFC 1950.
 hashАлгоритм Tiger теперь использует порядок байтов от старшего к младшему (big-endian). Смотрите пример ниже.
 hash_algosДобавлена поддержка для joaat, fnv132 и fnv164. Убрана поддержка для Salsa10 и Salsa20
 html_entity_decodeБыли добавлены константы ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
 html_entity_decodeКодировка по умолчанию сменилась с ISO-8859-1 на UTF-8.
 htmlentitiesЗначение по умолчанию для параметра encoding было изменено на UTF-8.
 htmlentitiesThe constants ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
 htmlspecialcharsЗначение по умолчанию для параметра encoding было изменено на UTF-8.
 htmlspecialcharsДобавлены константы ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
 htmlspecialchars_decodeДобавлены константы ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5.
 http_build_queryДобавлен параметр enc_type.
 iconvНачиная с этой версии, функция возвращает FALSE на некорректных символах, только если в выходной кодировке не указан //IGNORE. До этого, функция возвращала часть строки.
 imagecolorsetДобавлен аргумент alpha.
 imagegdДобавлена возможность использовать потоки типа resource для to.
 imagegd2Добавлена возможность задавать поток типа resource для to.
 imagegifДобавлена возможность использовать поток типа resource для to.
 imagejpegДобавлена возможность использовать поток типа resource для to.
 imagejpegЗапрещено задавать to пустой строкой для его пропуска..
 imagepngДобавлена возможность использовать поток типа resource для to.
 imagewbmpДобавлена возможность использовать поток типа resource для to.
 imagewebpAdded support for passing a stream resource to to.
 issetПроверка нечислового индекса строки теперь возвращает FALSE.
 json_decodeБыл добавлен параметр options.
 json_encodeДля options были добавлены константы JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, и JSON_UNESCAPED_UNICODE.
 mb_encode_numericentityДобавлен параметр is_hex.
 mysqli_get_cache_statsФункция mysqli_get_cache_stats удалена.
 number_formatФункция поддерживает многобайтную строку в качестве параметров dec_point и thousands_sep. В предыдущих версиях в качестве разделителя использовался только первый байт из каждого параметра.
 ob_startПараметр chunk_size, установленный в 1, теперь приводит к выводу по 1 байту в выходной буфер.
 ob_startТретий параметр ob_start изменен с булева (boolean) параметра erase (который при установке в FALSE предотвращал удаление буфера до тех пор, пока не завершалась работа скрипта) на целочисленный (integer) параметр flags. К сожалению, это означает появление несовместимости API для кода, который использовал третий параметр до версии PHP 5.4.0. Смотрите пример с флагами, чтобы понять как работать с кодом, чтобы он поддерживал совместимость с обеими версиями.
 openssl_decryptПараметр raw_output изменен на options.
 openssl_encryptПараметр raw_output изменен на options.
 preg_match_allПараметр matches стал необязательным.
 scandirБыли добавлены sorting_order константы. Любое ненулевое значение задавало сортировку по убыванию в предыдущих версиях. Поэтому для всех версий PHP нужно использовать 0 для сортировки по возрастанию и 1 для сортировки по убыванию. Опции для режима SCANDIR_SORT_NONE не существовало до PHP 5.4.0.
 session_set_save_handlerДобавлен интерфейс SessionHandlerInterface для реализации обработчиков сессии и класс SessionHandler для дополнения внутренних обработчиков сессии PHP.
 snmp_set_valueretrievalConstants SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY may be combined with SNMP_VALUE_OBJECT resulting different way of representing contents of value array element in return value of GET-function. If no SNMP_VALUE_{PLAIN,LIBRARY} constant is accompanying SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used. Prior to 5.4.0 SNMP_VALUE_OBJECT effecively meant SNMP_VALUE_OBJECT|SNMP_VALUE_PLAIN.
 sortДобавлена поддержка SORT_NATURAL и SORT_FLAG_CASE в параметре sort_flags
 PDOStatement::getColumnMetaДобавлена поддержка драйвера PDO_DBLIB
 Phar::setStubДобавлен параметр len.
 PharData::setStubДобавлен параметр len.
 SimpleXMLElement::getDocNamespacesДобавлен параметр from_root.
 SoapClient::SoapClientНовая опция keep_alive.
5.4grapheme_substrIf length is given and positive and the argument string is shorter than the specified length, all the rest of the string according to start parameter is returned. Previously, FALSE was returned.
5.3.19imagecreatefromxpmimagecreatefromxpm доступна на Windows.
5.3.9DateTime::createFromFormatДля format добавлен спецификатор +.
 dldl разрешено в PHP-FPM, хоть и не рекомендовано.
 is_aДобавлен параметр allow_string
 is_subclass_ofДобавлен параметр allow_string
5.3.7cryptДобавлены $2x$ и $2y$ режимы Blowfish для предотвращения возможных "high-bit" атак.
 curl_getinfoДобавлена CURLINFO_REDIRECT_URL.
 is_subclass_ofДобавлена поддержка работы с интерфейсами для параметра class_name
5.3.6DateTime::modifyСтало возможным применять абсолютные значения объектов даты/времени. Раньше использовались только относительные значения полей даты/времени.
 DOMDocument::saveHTMLДобавлен аргумент node.
 array_productРезультатом произведения пустого массива теперь является 1, тогда как ранее данная функция возвращала 0.
 debug_backtraceАргумент provide_object заменен на options и добавлена дополнительная настройка DEBUG_BACKTRACE_IGNORE_ARGS.
 debug_print_backtraceДобавлен необязательный аргумент options.
 preg_matchВозвращает FALSE если offset больше, чем длина subject.
 preg_match_allВозвращает FALSE если offset больше чем длина subject.
 PDO_MYSQL DSNДо версии 5.3.6, параметр charset игнорировался.
5.3.4copyИзменён параметр context для достижения результата. Ранее любые параметры context игнорировались.
 get_html_translation_tableДобавлен параметр encoding.
 mt_randПриводит к ошибке E_WARNING и возвращает FALSE, если max < min.
 rawurlencodeСимволы "тильда" больше не кодируются, когда rawurlencode используется с EBCDIC-строками.
 sleepДо версии PHP 5.3.4 функция sleep в Windows всегда возвращала NULL после завершения ожидания, независимо от того было ли прервано выполнение функции или нет.
 strip_tagsstrip_tags игнорирует самозакрывающиеся теги XHTML в allowable_tags.
 IntlDateFormatter::formatSupport for providing DateTime objects to the value parameter was added.
 mysqli_driver::$report_modeИзменен режим протоколирования. Если ранее режим задавался для процесса, то теперь он задается для каждого запроса.
5.3.3DOMXPath::evaluateДобавлен аргумент registerNodeNS.
 DOMXPath::queryДобавлен аргумент registerNodeNS.
 imap_fetch_overviewДобавлено свойство udate.
 json_encodeДобавлено значение JSON_NUMERIC_CHECK для параметра option.
 ldap_sasl_bindДобавлена поддержка в Windows.
 openssl_decryptДобавлен параметр iv.
 openssl_encryptДобавлен параметр iv.
 parse_urlУдалено E_WARNING, которое сообщало о невозможности разбора URL.
5.3.2 (PECL OCI8 1.4)oci_set_prefetchДо этой версии rows должен был быть >= 1.
5.3.2cryptИсправлено поведение Blowfish при некорректных раундах: теперь возвращается "ошибочная" строка ("*0" или "*1") вместо отката к использованию DES.
 cryptДобавлено хеширование алгоритмами SHA-256 и SHA-512, основанное на реализации Ulrich Drepper.
 flockАвтоматическое снятие блокировки при закрытии было удалено. Снятие блокировки теперь всегда должно осуществляться вручную.
 gmp_initДиапазон возможных оснований системы счисления base расширен с значений от 2 до 36, до значений от 2 до 62 и от -2 до -36.
 gmp_strvalДиапазон возможных систем счисления base расширен со значений 2 - 36, до 2 - 62 и -2 - -36.
 imap_appendДобавлена поддержка INTERNALDATE для imap_append.
 imap_openДобавлен параметр params
 SplFileObject::flockУдалена автоматическая разблокировка при закрытии ресурса обработчика файла. Теперь разблокировку всегда придется делать самостоятельно.
5.3.1get_defined_constantsТолько для Windows: Константы ядра входят в категорию Core. Раньше категория называлась mhash.
 ibase_queryOn success the function now returns TRUE if there were no affected rows, where it previously returned 0 (a zero followed by an empty space).
 renamerename теперь может переименовывать файлы между дисками в Windows.
5.3.0 (PECL OCI8 1.3.4)oci_set_prefetchДо этой версии предварительная выборка была ограничена к меньшему из значений rows строк и 1024 * rows байт. Теперь ограничение по размеру байт снято.
5.3.0DateTime::__constructВ случае задания параметру time неверного формата даты/времени выбрасывается исключение. Раньше скрипт выдавал ошибку.
 DateTime::modifyИзменено значение успешной работы функции с NULL на DateTime.
 DateTime::setDateИзменено значение успешной работы функции с NULL на DateTime.
 DateTime::setISODateИзменено значение успешной работы функции с NULL на DateTime.
 DateTime::setTimeИзменено значение успешной работы функции с NULL на DateTime.
 DateTime::setTimezoneИзменено значение успешной работы функции с NULL на DateTime.
 DateTimeZone::getTransitionsБыли добавлены необязательные параметры timestamp_begin и timestamp_end.
 DateTimeZone::listIdentifiersДобавлены необязательные параметры what и country.
 DirectoryIterator::__constructВызывается исключение UnexpectedValueException, если путь path не может быть открыт.
 acoshФункция стала доступна для всех платформ
 array_multisortДобавлен SORT_LOCALE_STRING в возможные флаги сортировки array1_sort_flags.
 array_reduceПараметр initial теперь позволяет передать mixed, ранее передавался только integer.
 array_searchВместе со всеми внутренними функциями PHP начиная с 5.3.0, array_search возвращает NULL, если ей были переданы неверные параметры.
 asinhФункция стала доступна для всех платформ
 atanhФункция стала доступна для всех платформ
 call_user_funcИзменилась интерпретация объектно-ориентированных ключевых слов, таких как parent и self. Ранее, при их вызове с помощью синтаксиса двойного двоеточия вызывалась ошибка уровня E_STRICT, т.к. они интерпретировались как статические вызовы.
 call_user_func_arrayИзменилась интерпретация объектно-ориентированных ключевых слов, таких как parent и self. Ранее их вызов с помощью синтаксиса двойного двоеточия вызывал предупреждение уровня E_STRICT, так как они расценивались как статические вызовы.
 checkdnsrrФункция стала доступна на платформе Windows.
 clearstatcacheДобавлены необязательные параметры clear_realpath_cache и filename.
 copyДобавлена поддержка контекста.
 cryptPHP теперь использует собственную реализацию MD5, стандартного DES, расширенного DES и Blowfish алгоритмов, которые будут использованы в случае отсутствия их поддержки в системе.
 curl_getinfoДобавлена CURLINFO_CERTINFO.
 curl_setoptДобавлена опция CURLOPT_PROGRESSFUNCTION.
 date_default_timezone_setТеперь выбрасывает E_WARNING вместо E_STRICT.
 define_syslog_variablesЭта функция теперь передаёт напоминание E_DEPRECATED.
 dldl выключен в некоторых SAPI в связи с нестабильностью работы. Из SAPI, поддерживающих dl, остались только CLI и Embed. Используйте вместо dl Директивы загрузки расширений.
 dns_get_recordФункция стала доступна на Windows платформах.
 dns_get_recordДо этого выпуска, если был задан параметр authns, то и addtl также становился обязательным. Теперь нет.
 error_reportingДобавлены E_DEPRECATED и E_USER_DEPRECATED.
 exif_imagetypeДобавлена поддержка иконок.
 expm1Теперь функция доступна на всех платформах
 fgetcsvДобавлен параметр escape
 fnmatchДанная функция стала доступной на платформе Windows.
 func_get_argЭта функция теперь может быть использована в качестве параметра функции.
 func_get_argЕсли эта функция вызвана в глобальной области видимости файла, подключенного с помощью include или require из функции вызывающего файла, то теперь будет сгенерировано предупреждение и возвращено значение FALSE.
 func_get_argsЭта функция теперь может быть использована в качестве параметра функции.
 func_get_argsЕсли эта функция вызвана в глобальной области видимости файла, подключенного с помощью include или require из функции вызывающего файла, то теперь будет сгенерировано предупреждение и возвращено значение FALSE.
 func_num_argsЭта функция теперь может быть использована в качестве параметра функции.
 func_num_argsЕсли эта функция вызвана в глобальной области видимости файла, подключенного с помощью include или require из функции вызывающего файла, то теперь будет сгенерировано предупреждение и возвращено значение -1.
 gd_infoАтрибут JPG Support переименован в JPEG Support.
 get_cfg_varget_cfg_var изменена, чтобы иметь возможность возвращать ini настройки содержащие массивы.
 get_classNULL стал значением по умолчанию для параметра object, поэтому передача NULL в object теперь имеет тот же самый эффект, как и отсутствие какой-либо передачи вообще.
 get_defined_constantsКонстанты ядра входят в категорию Core. Раньше категория называлась internal, а в системах Windows - mhash.
 get_object_varsФункция теперь возвращает NULL, если object не является объектом. Ранее возвращался FALSE.
 getimagesizeДобавлена поддержка иконок.
 getmxrrФункция стала доступна на платформе Windows.
 getoptФункция больше не зависит от системы, теперь работает и в Windows.
 getoptАргумент longopts доступен на всех системах.
 getoptДобавлена поддержка необязательных значений параметров, (задаваемая "::").
 getoptДобавлена поддержка "=" в качестве разделителя параметр/значение.
 hash_algosДобавлена поддержка для md2, ripemd256, ripemd320, salsa10, salsa20, snefru256 и sha224
 htmlentitiesДобавлена константа ENT_IGNORE.
 htmlspecialcharsДобавлена константа ENT_IGNORE.
 imagecolorclosesthwbФункция теперь доступна в Windows
 imagefilterДобавлена поддержка пикселирования (IMGFILTER_PIXELATE).
 inet_ntopЭта функция стала доступна на платформах Windows.
 inet_ptonЭта функция стала доступна на Windows платформах.
 ini_getРаньше возвращалась пустая строка, если конфигурационная опция отсутствует. Теперь вместо этого возвращается FALSE.
 ini_get_allДобавлен аргумент details.
 is_aДанная функция больше не считается устаревшей, а значит больше не будет выводить предупреждения E_STRICT.
 json_decodeДобавлен опциональный параметр depth. Глубина рекурсии по умолчанию увеличено с 128 до 512
 json_encodeБыл добавлен параметр options.
 linkЭта функция стала доступна на Windows системах (Vista, Server 2008 и выше).
 linkinfoЭта функция теперь доступна и на Windows платформах (Vista, Server 2008 и выше).
 log1pТеперь функция доступна на всех платформах
 mb_get_infoСтал доступен элемент "http_output_conv_mimetypes".
 mcrypt_create_ivMCRYPT_DEV_RANDOM и MCRYPT_DEV_URANDOM теперь доступны для Windows.
 mcrypt_create_ivТеперь не нужно предварительно запускать srand, так как это происходит автоматически.
 mktimemktime теперь выбрасывает ошибку уровня E_DEPRECATED при использовании параметра is_dst.
 mysql_db_queryФункция теперь выдает предупреждение уровня E_DEPRECATED.
 mysql_escape_stringДанная функция теперь выдает предупреждение уровня E_DEPRECATED.
 mysqli_get_cache_statsФункция mysqli_get_cache_stats добавлена в виде заглушки.
 nl2brДобавлен необязательный параметр is_xhtml.
 openssl_openДобавлен параметр method.
 openssl_sealДобавлен параметр method.
 parse_ini_fileДобавлен необязательный параметр scanner_mode. Одинарные кавычки теперь также могут быть использованы в присвоениях переменных. Символ решетки (#) теперь больше не может быть использован в качестве комментария и будет выбрасывать предупреждение о том, что данная возможность считается устаревшей.
 pg_lo_createДобавлен необязательный параметр object_id.
 pg_lo_importДобавлен необязательный аргумент object_id.
 preg_quoteСимвол - теперь экранируется
 property_existsЭта функция проверяет существование свойства вне зависимости от его доступности.
 rawurlencodeТеперь соответствует RFC 3986.
 readlinkДанная функция теперь доступна на платформах Windows (Vista, Server 2008 и выше).
 realpathДо этого релиза realpath не терпела неудачу на системах *BSD в случае отсутствия лишь последнего компонента пути path. Теперь realpath не срабатывает также и в этом случае.
 register_tick_functionТики теперь поддерживаются и на потоковых модулях веб-серверов.
 roundБыл добавлен параметр mode.
 session_startЕсли сессия не смогла стартовать, то возвращается FALSE. Раньше возвращалось TRUE.
 setlocaleЭта функция в настоящее время бросает уведомления E_DEPRECATED, если строка передается в параметре category вместо одной из констант LC_*.
 shm_attachThis function now returns a resource instead of an integer.
 socket_create_pairЭта функция теперь вновь доступна на Windows-платформах.
 spl_autoload_registerДобавлен аргумент prepend.
 spl_autoload_registerДобавлена поддержка пространств имен.
 stream_context_createДобавлен необязательный аргумент params.
 stream_socket_pairТеперь эта функция доступна на Windows платформах.
 stristrДобавлен необязательный параметр before_needle.
 strlenРанние версии этой функции рассматривали массивы как строку Array, возвращая таким образом 5 в качестве длины этой строки, и вызывали ошибку уровня E_NOTICE.
 strstrДобавлен необязательный параметр before_needle.
 strtotimeДо PHP 5.3.0, относительные форматы времени, заданные в аргументе time функции strtotime, такие как this week, previous week, last week и next week, интерпретировались как 7-ми дневный период относительно текущего значения даты/времени, а не как период с Понедельника по Воскресенье.
 strtotimeДо версии PHP 5.3.0 24:00 не являлся корректным форматом, и при его использовании strtotime возвращала FALSE.
 sybase_connectThe new parameter was added.
 symlinkЭта функция теперь доступна на Windows платформах (Vista, Server 2008 и выше).
 time_nanosleepЭта функция теперь доступна на платформах Windows.
 time_sleep_untilЭта функция теперь доступна на Windows платформах.
 touchСтало возможным изменять время модификации директории в Windows.
 mysqli::__constructДобавлена возможность устанавливать постоянные соединения.
 mysqli::optionsДобавлены опции MYSQLI_OPT_INT_AND_FLOAT_NATIVE, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, MYSQLI_OPT_NET_READ_BUFFER_SIZE, и MYSQLI_OPT_SSL_VERIFY_SERVER_CERT.
 mysqli::queryДобавлена возможность выполнять асинхронные запросы.
 PDO::__constructКлассы, наследуемые от PDO и реализующие магический метод __call, теперь получают оригинальное название метода. Ранее имя метода всегда возвращалось в нижнем регистре.
 ReflectionFunction::__constructname теперь может быть замыканием.
 SplFileObject::setCsvControlДобавлен параметр escape.
 SplObjectStorage::attachДобавлен аргумент data.
 XMLReader::expandДобавлен параметр basenode.
5.2.15mysqli_driver::$report_modeИзменен режим протоколирования. Если ранее режим задавался для процесса, то теперь он задается для каждого запроса.
5.2.11get_defined_constantsЗначение аргумента categorize стало обрабатываться надлежащим образом. Раньше аргумент categorize воспринимался, как выражение !is_null($categorize), то есть любое значение отличное от NULL, предписывало разделять константы на категории.
5.2.10array_randВозвращаемый массив ключей больше не возвращается в случайном порядке.
 array_uniqueЗначение по умолчанию параметра sort_flags изменено обратно на SORT_STRING.
 curl_setoptДобавлены параметры CURLOPT_PROTOCOLS и CURLOPT_REDIR_PROTOCOLS.
 ip2longДо этой версии функция ip2long могла иногда возвращать верное число, даже если отправленное значение не было Интернет-адресом (IPv4) в точечном формате.
 natsortВ строках, отбитых нулями спереди (например, '00005') теперь данная отбивка игнорируется.
5.2.9array_uniqueДобавлен необязательный параметр sort_flags, по умолчанию равный SORT_REGULAR. До версии 5.2.9, это функция сортировала массив с помощью SORT_STRING.
5.2.8XSLTProcessor::importStylesheetПринимает SimpleXMLElement вновь, что было невозможно в версии PHP 5.2.6 и более поздних.
5.2.7error_logДобавлен 4-й тип значения в message_type.
 parse_ini_fileВ случае ошибки синтаксиса, данная функция вернет FALSE, а не пустой массив.
 roundРабота функции round была изменена в соответствии со стандартом C99.
 strtotimeВ версиях PHP 5 до 5.2.7 при запросе временной метки дня недели, являвшегося первым днем месяца, ошибочно прибавлялась одна неделя. Эта ошибка была исправлена в версии 5.2.7 и следующих за ней версиях.
5.2.6fopenДобавлены опции 'c' и 'c+'
5.2.5addcslashesДобавлены экранирующие последовательности \v и \f.
 debug_backtraceДобавлен необязательный аргумент provide_object.
 imagefilterДобавлена поддержка прозрачности IMG_FILTER_COLORIZE.
5.2.4array_sliceЗначение параметра length по умолчанию изменено на NULL. Значение NULL в качестве length теперь означает, что в качестве этого значения будет использована длина массива array. До этой версии NULL в параметре length означал 0, то есть ничего не возвращалось.
 checkdnsrrДобавлено значение TXT параметра type.
 curl_getinfoДобавлена CURLINFO_PRIVATE.
 curl_setoptДобавлено CURLOPT_PRIVATE.
 get_loaded_extensionsДобавлен необязательный аргумент zend_extensions
 ldap_first_attributeПараметр ber_identifier был удалён. В настоящее время обрабатывается PHP автоматически.
 ldap_next_attributeПараметр ber_identifier был удалён. Теперь это обрабатывается PHP автоматически.
 parse_ini_fileКлючи и имена секций, состоящие из цифр, будут обработаны в PHP как целые числа. Поэтому числа, начинающиеся с 0 будут считаться восьмеричными, а начинающиеся с 0x - шестнадцатеричными.
 stream_wrapper_registerДобавлен параметр flags.
5.2.3getimagesizeУровень ошибок чтения, вызываемых функцией, снижен до E_NOTICE с E_WARNING.
 htmlentitiesДобавлен параметр double_encode.
 htmlspecialcharsДобавлен параметр double_encode.
 json_decodeГлубина рекурсии увеличена с 20 до 128
 XMLWriter::writeElementПараметр content стал опциональным.
 XMLWriter::writeElementNSПараметр content стал опциональным.
 PDOStatement::getColumnMetaПоле table
5.2.2 - 5.2.6substrЕсли параметр start указывает на позицию с отрицательной обрезкой, возвращается FALSE. Другие версии возвращают строку с начала.
5.2.2DOMDocument::registerNodeClassВ версиях до 5.2.2 ранее зарегистрированный расширенный класс extendedclass должен быть исключен из регистрации, прежде чем регистрировать новый класс, расширяющий тот же базовый класс baseclass.
 ftp_ssl_connectЭта функция теперь возвращает FALSE, если не удалось установить SSL-соединение, вместо прежнего поведения, когда устанавливалось обычное, не-SSL соединение.
 phpinfoДобавлен вывод информации о загруженном конфигурационном файле. Ранее выводился только путь к конфигурационному файлу (php.ini).
 preg_matchИменованные подмаски теперь позволяют синтаксис (?<name>) и (?'name'), также как и (?P<name>). Предыдущие версии позволяли только (?P<name>).
 preg_match_allИменованные подмаски теперь принимают синтаксис (?<name>) и (?'name'), также как и (?P<name>). Предыдущие версии принимали только (?P<name>).
 proc_terminateПредыдущие версии использовали для уничтожения указанного процесса ресурс resource.
 token_get_allНомера строк возвращаются в элементе 2.
5.2.1iterator_to_arrayДобавлен параметр use_keys.
 json_decodeДобавлена поддержка декодирования основных типов JSON.
 memory_get_peak_usageДля работы функции больше не требуется, чтобы PHP компилировался с настройкой --enable-memory-limit.
 memory_get_usageДля работы функции больше не требуется, чтобы PHP компилировался с настройкой --enable-memory-limit.
 mt_srandРеализация Вихря Мерсена (Mersenne Twister) в PHP теперь использует новый алгоритм переинициализации, разработанный Ричардом Вагнером (Richard Wagner). При том же параметре последовательность значений будет отличатся от последовательности, сгенерированной в предыдущих версиях PHP. (Ранее при одинаковых параметрах последовательность была одинаковой). Это поведение более не планируется изменять, но тем не менее, полагаться на это небезопасно.
 proc_openНастройка bypass_shell добавлена в аргумент other_options.
 realpathДо этой версии realpath возвращает FALSE, если path является пустой строкой или NULL.
5.2.0base64_decodeДобавлен параметр strict
 curl_multi_info_readДобавлен параметр msgs_in_queue.
 error_reportingДобавлена E_RECOVERABLE_ERROR.
 imagettftextСтало возможным задавать код сущности в тексте text шестнадцатеричным числом.
 imap_openДобавлен параметр n_retries
 imap_reopenДобавлен параметр n_retries
 mb_strrposДобавлен необязательный аргумент offset.
 memory_get_peak_usageДобавлен аргумент real_usage.
 memory_get_usageДобавлен аргумент real_usage.
 openssl_verifyДобавлен параметр signature_alg.
 pathinfoДобавлена константа PATHINFO_FILENAME.
 pg_escape_byteaДобавлен аргумент connection
 pg_escape_stringДобавлен аргумент connection
 session_get_cookie_paramsДобавлен элемент "httponly" в возвращаемый массив.
 session_set_cookie_paramsДобавлен параметр httponly.
 set_error_handlerОбработчик должен вернуть FALSE, чтобы заполнилось значение переменной $php_errormsg.
 setcookieДобавлен параметр httponly.
 setrawcookieБыл добавлен параметр httponly.
 snmp_set_oid_numeric_printSince PHP 5.2.0.
 PDOStatement::executeКлючи массива input_parameters должны совпадать с именами параметров, заявленными в SQL-запросе. До PHP 5.2.0 на это не обращалось внимания.
 SimpleXMLElement::childrenДобавлен необязательный параметр is_prefix.
 SimpleXMLElement::__constructДобавлены параметры ns и is_prefix.
 SoapServer::SoapServerДобавлена опция typemap.
 XMLReader::openБыли добавлены параметры encoding и options.
 XMLReader::XMLБыли добавлены параметры encoding и options.
5.1.3DirectoryIterator::__constructВызывается исключение RuntimeException, если параметр path содержит пустую строку.
 curl_getinfoДобавлена CURLINFO_HEADER_OUT.
 get_headersЭта функция теперь использует stream context по умолчанию, который может быть установлен или изменен при помощи функции stream_context_set_default.
 http_build_queryКвадратные скобки экранируются.
 imagecolorallocateВозвращает FALSE в случае неудачи. В предыдущих версиях в этом случае возвращалось значение -1.
 imagecolorallocatealphaВозвращает FALSE, если создать цвет не удалось. Раньше в этом случае функция возвращала -1.
 imagepngДобавлен аргумент filters.
 mb_get_infoСтали доступны элементы "mail_charset", "mail_header_encoding", и "mail_body_encoding".
 SoapClient::__doRequestДобавлен параметр one_way.
 XMLReader::getAttributeВозвращает NULL, если атрибут не найден. Ранее возвращалась пустая строка.
5.1.2date_default_timezone_setФункция начала проверять timezone_identifier.
 headerСтало невозможно отправлять более одного заголовка за раз. Это сделано для защиты от атак, связанных с инъекцией заголовков.
 http_build_queryДобавлен параметр arg_separator.
 imagepngДобавлен аргумент quality.
 parse_urlДобавлен параметр component.
 SimpleXMLElement::__constructДобавлены параметры options и data_is_url.
5.1.1dateДля стандартных форматов даты/времени существуют специальные константы, которые могут быть указаны в качестве параметра format.
 debug_backtraceЭлементом возвращаемого массива теперь может быть текущий объект object.
 gmdateСуществуют также полезные константы стандартных форматов даты/времени, которые могут быть использованы в качестве параметра format.
5.1.0DirectoryIterator::__constructВызывается исключение RuntimeException при ошибке. Раньше вызывалось исключение Exception.
 DOMDocument::saveДобавлен аргумент options
 DOMDocument::saveXMLДобавлен аргумент options
 class_implementsДобавлена возможность передавать строку в качестве аргумента class. Добавлен аргумент autoload.
 class_parentsДобавлена возможность передавать строку в качестве аргумента class. Добавлен аргумент autoload.
 ctype_digitДо версии PHP 5.1.0 эта функция возвращала TRUE, если в качестве text передавалась пустая строка.
 curl_setoptДобавлены параметры CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH и CURLOPT_TIMECONDITION.
 dateДопустимым диапазоном дат для временных меток обычно являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Они соответствуют минимальному и максимальному значению 32-битного целого числа со знаком). Однако для PHP версии ниже 5.1.0 в некоторых операционных системах (например, Windows) этот диапазон был ограничен датами 01-01-1970 до 19-01-2038.
 dateТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 date_sunriseТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 date_sunsetТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 explodeДобавлена поддержка отрицательных значений limit
 fgetcsvПараметр length стал необязательным. По умолчанию равен 0, что означает отсутствие ограничения длины.
 file_get_contentsДобавлены аргументы offset и maxlen.
 file_put_contentsДобавлена поддержка LOCK_EX и возможность передачи потокового ресурса в параметр data
 get_parent_classЕсли функция была вызвана без параметров вне объекта, то функция возвращала NULL вместе с предупреждением, однако сейчас она возвращает FALSE.
 gettimeofdayДобавлен параметр return_float.
 globДобавлена константа GLOB_ERR
 gmdateКорректным диапазоном временных меток обычно является диапазон дат с 13 декабря 1901 20:45:54 GMT до 19 января 2038 03:14:07 GMT. (Эти даты соответствуют минимальному и максимальному значению 32-битному целому числу со знаком). Однако, до PHP 5.1.0 на некоторых системах (например, Windows) этот диапазон был ограничен датами от 01-01-1970 до 19-01-2038.
 gmmktimeНачиная с версии PHP 5.1.0, параметр is_dst считается устаревшим. В результате должны быть использованы новые возможности обработки временных зон.
 idateТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 imagerotateДобавлен параметр ignore_transparent.
 intvalГенерирует ошибку уровня E_NOTICE и возвращает 1, если в качестве var передан объект.
 localtimeТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 md5_fileФункция изменена для работы с потоковым API. Это означает, что ее можно использовать с обертками, например, так: md5_file('http://example.com/..')
 mktimeПараметр is_dst теперь считается устаревшим. Функция теперь возвращает FALSE при ошибке, тогда как раньше возвращалась -1. Теперь функция принимает дату с одновременно установленными в ноль годом, месяцем и днем.
 mktimeТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 mktimeЕсли mktime была вызвана без аргументов, то будет сгенерировано замечание уровня E_STRICT. Используйте вместо этого функцию time.
 mssql_connectДобавлен параметр new_link
 openssl_pkcs7_verifyДобавлен параметр content.
 preg_replaceДобавлен параметр count
 preg_replace_callbackДобавлен параметр count
 session_regenerate_idДобавлен параметр delete_old_session.
 sha1_fileФункция теперь работает с потоковым API. Это означает, что ее можно использовать с обертками, например, sha1_file('http://example.com/..')
 str_word_countДобавлен параметр charlist
 stream_copy_to_streamДобавлен параметр offset
 stream_filter_appendДо PHP 5.1.0 эта функция возвращает TRUE в случае успешного выполнения или FALSE в случае возникновения ошибки.
 stream_filter_prependДо PHP 5.1.0 эта функция возвращает TRUE в случае успешного выполнения или FALSE в случае возникновения ошибки.
 stream_get_contentsБыл добавлен параметр offset.
 strftimeТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 strtotimeТеперь в случае ошибки возвращается FALSE вместо -1.
 strtotimeТеперь ошибки, связанные с временными зонами, генерируют ошибки уровня E_STRICT и E_NOTICE.
 substr_compareДобавлена возможность использования отрицательных значений в offset.
 substr_countДобавлены параметры offset и length
 var_exportСтало возможным экспортировать классы и массивы, содержащие другие классы, используя магический метод __set_state().
 XSLTProcessor::registerPHPFunctionsБыл добавлен параметр restrict.
5.0.5php_check_syntaxЭта функция была удалена из PHP.
5.0.4msql_fetch_arrayA bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.
 msql_fetch_objectA bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.
 msql_fetch_rowA bug was fixed when retrieving data from columns containing NULL values. Such columns were not placed into the resulting array.
5.0.3get_class_varsВызов get_class_vars вернет только те свойства, доступ к которым может быть получен из текущей области видимости.
 is_subclass_ofВы также можете передать параметр object в виде строки (имени класса)
 php_check_syntaxВызов функции exit после php_check_syntax передает результат в Segfault.
5.0.2array_sliceДобавлен необязательный параметр preserve_keys.
 class_existsБольше не возвращает TRUE для объявленных интерфейсов. Используйте для этого interface_exists.
 get_class_varsВызов get_class_vars не вернет все свойства в качестве массива, в отличие от предыдущего поведения, где protected и private свойства имели префикс с нулевым байтом.
 sortДобавлена поддержка SORT_LOCALE_STRING
 strtotimeВ PHP 5 до версии 5.0.2 "now" и другие относительные времена вычислялись неверно относительно полуночи текущего дня. Это отличается от поведения текущих версий, где вычисление производится корректно относительно текущего времени.
5.0.1get_class_varsВызов get_class_vars вернет все свойства, как при конвертировании объекта в класс.
 php_check_syntaxerror_message передается по ссылке.
5.0.0apache_get_modulesФункция стала доступна при использовании Apache 1, или PHP Apache 2 filter API. Ранее это было возможно только c Apache 2 handler API.
 curl_setoptДобавлены параметры CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE и CURLOPT_HTTP200ALIASES.
 dirnamedirname теперь безопасна для обработки бинарных данных.
 error_reportingДобавлена E_STRICT (не входит в состав E_ALL).
 is_aЭта функция была помечена устаревшей в пользу оператора instanceof. Вызов данной функции вызовет предупреждение уровня E_STRICT.
 opendirpath теперь поддерживает обертку ftp://.
 parse_ini_fileЗначения, заключенные в двойные кавычки, могут содержать переводы строк.
 renamerename теперь также может быть использована с некоторыми обёртками URL. Обратитесь к для получения списка обёрток, которые поддерживают rename.
 rmdirНачиная с версии PHP 5.0.0, функция rmdir также может быть использована с некоторыми обёртками URL. Обратитесь к для получения списка обёрток, которые поддерживают rmdir.
 strip_tagsstrip_tags теперь безопасна для обработки бинарных данных.
 strrposПараметр needle может быть строкой из более чем одного символа.
 strtotimeСтало возможным указывать микросекунды, но они не принимаются во внимание и будут проигнорированы.
 unlinkНачиная с версии PHP 5.0.0, функция unlink также может быть использована с некоторыми обёртками URL. Обратитесь к для получения списка обёрток, которые поддерживают unlink.

Appendices
PHP Manual