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

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

VersionFunctionDescription
PECL OCI8 1.4oci_set_prefetchДо этой версии rows должен был быть >= 1.
PECL OCI8 1.3.4oci_set_prefetchДо этой версии предварительная выборка была ограничена к меньшему из значений rows строк и 1024 * rows байт. Теперь ограничение по размеру байт снято.
PECL 3.0.0IntlDateFormatter::formatSupport for providing IntlCalendar objects to the value parameter was added.
8.0.0 / 1.18.1ZipArchive::addGlobДобавлены параметры "comp_method", "comp_flags", "enc_method" и "enc_password" в options.
8.0.0 / 1.18.0ZipArchive::addEmptyDirДобавлен параметр flags.
 ZipArchive::addFileДобавлен параметр flags.
 ZipArchive::addFromStringДобавлен параметр flags.
 ZipArchive::addGlobДобавлен параметр "flags" в options.
 ZipArchive::getStatusStringМетод можно вызвать в закрытом архиве.
8.0.0imagexbmЧетвертый параметр, который не использовался, был удален.
 mb_parse_strВторой параметр стал обязательным.
 mb_regex_set_optionsЕсли задан параметр options, возвращаются предыдущие параметры. Ранее возвращались текущие параметры.
 zip_closeФункция устарела в пользу Object API, смотрите ZipArchive::close.
 zip_entry_closeФункция устарела в пользу Object API.
 zip_entry_compressedsizeФункция устарела в пользу Object API, смотрите ZipArchive::statIndex.
 zip_entry_compressionmethodФункция устарела в пользу Object API, смотрите ZipArchive::statIndex.
 zip_entry_filesizeФункция устарела в пользу Object API, смотрите ZipArchive::statIndex.
 zip_entry_nameФункция устарела в пользу Object API, смотрите ZipArchive::statIndex.
 zip_entry_openФункция устарела в пользу Object API.
 zip_entry_readФункция устарела в пользу Object API, смотрите ZipArchive::getFromIndex.
 zip_openФункция устарела в пользу Object API, смотрите ZipArchive::open.
 zip_readФункция устарела в пользу Object API, смотрите ZipArchive::statIndex.
 ReflectionParameter::getDefaultValueМетод теперь позволяет получить значение по умолчанию для параметров встроенных функций и встроенных методов класса. Ранее выбрасывалось ReflectionException.
 ReflectionParameter::getDefaultValueConstantNameМетод позволяет получать имена значений по умолчанию для встроенных функций и встроенных методов класса. Ранее выбрасывалось ReflectionException.
7.4.4proc_openДобавлена опция create_new_console oв параметр other_options.
7.4.0array_mergeФункция теперь может быть вызвана без каких-либо параметров. Ранее требовался хотя бы один параметр.
 array_merge_recursiveФункция теперь может быть вызвана без каких-либо параметров. Ранее требовался хотя бы один параметр.
 base_convertПередача некорректных символов будет выдавать уведомление об устаревании. Результат будет вычислен так, как если бы некорректные символы не существовали.
 bindecПередача некорректных символов будет выдавать уведомление об устаревании. Результат будет вычислен так, как если бы некорректные символы не существовали.
 fgetcsvТеперь параметр escape может принимать пустую строку для отключения проприетарного механизма экранирования.
 fputcsvТеперь параметр escape может принимать пустую строку для отключения проприетарного механизма экранирования.
 get_declared_classesРанее get_declared_classes всегда возвращала родительские классы перед дочерними классами. Это больше не так. Для возвращаемого значения get_declared_classes конкретный порядок не гарантируется.
 get_magic_quotes_gpcФункция объявлена устаревшей.
 get_magic_quotes_runtimeФункция объявлена устаревшей.
 hash_algosДобавлена поддержка для crc32c.
 hexdecПередача некорректных символов будет выдавать уведомление об устаревании. Результат будет вычислен так, как если бы некорректные символы не существовали.
 idn_to_asciiТеперь значение по умолчанию variant изменено на INTL_IDNA_VARIANT_UTS46 вместо устаревшей константы INTL_IDNA_VARIANT_2003.
 idn_to_utf8Теперь значение по умолчанию variant изменено на INTL_IDNA_VARIANT_UTS46 вместо устаревшей константы INTL_IDNA_VARIANT_2003.
 imagecropautoПоведение imagecropauto() в комплекте libgd синхронизировано с системным libgd: IMG_CROP_DEFAULT больше не использует IMG_CROP_SIDES, и для обрезки порога теперь используется тот же алгоритм, что и системным libgd.
 imagecropautoЗначение по умолчанию mode было изменено на IMG_CROP_AUTO. Ранее значение по умолчанию было -1, что соответствует IMG_CROP_DEFAULT, но передача -1 теперь устарела.
 imagefilterДобавлена поддежка рассеивания (IMG_FILTER_SCATTER).
 implodeПередача glue после pieces (т.е. использование недокументированного порядка параметров) устарела.
 ldap_control_paged_resultФункция объявлена устаревшей.
 ldap_control_paged_result_responseФункция объявлена устаревшей.
 money_formatФункция устарела. Вместо нее используйте NumberFormatter::formatCurrency.
 octdecПередача некорректных символов будет выдавать уведомление об устаревании. Результат будет вычислен так, как если бы некорректные символы не существовали.
 password_hashПараметр algo сейчас ожидает строку (string), но все еще принимает число (integer) для обратной совместимости.
 password_needs_rehashПараметр algo сейчас ожидает строку (string), но все еще принимает число (integer) для обратной совместимости.
 preg_replace_callbackДобавлен параметр flags.
 preg_replace_callback_arrayДобавлен параметр flags.
 proc_openДобавлена опция create_process_group в параметр other_options.
 proc_openproc_open теперь также принимает массив (array) в cmd.
 statСтатистика символьных ссылок size, atime, mtime и ctime всегда соответствует статистике целевого объекта. Это было ранее не характерно для NTS сборки на Windows.
 statВ Windows номер устройства теперь является серийным номером тома, содержащего файл и номер inode - это идентификатор, связанный с файлом.
 str_getcsvТеперь пустой параметр escape будет интерпретироваться как требование отключения проприетарного механизма экранирования. Ранее пустая строка обозначала использование символа экранирования по умолчанию.
 strip_tagsallowable_tags теперь альтернативно принимает массив (array).
 SplFileObject::fgetcsvТеперь параметр escape может принимать пустую строку для отключения проприетарного механизма экранирования.
 SplFileObject::fputcsvТеперь параметр escape может принимать пустую строку для отключения проприетарного механизма экранирования.
 SplFileObject::fwriteФункция теперь возвращает FALSE вместо нуля в случае возникновения ошибки.
 SplFileObject::getCsvControlВ качестве символа экранирования можно использовать пустую строку.
 SplFileObject::setCsvControlТеперь параметр escape может принимать пустую строку для отключения проприетарного механизма экранирования.
 SQLite3Stmt::bindParamПараметр sql_param теперь поддерживает нотацию @param.
 SQLite3Stmt::bindValueПараметр sql_param теперь поддерживает нотацию @param.
7.3.24, 7.4.12jdtounixУвеличен верхний предел jday. Раньше он был 2465342 независимо от архитектуры.
 tidyNode::isHtmlИсправлено, теперь функция ведет себя разумно. Раньше почти любой узел считался узлом HTML.
7.3.15, 7.4.3curl_setoptДобавлено CURLOPT_HTTP09_ALLOWED.
7.3.14, 7.4.2dba_openДрайвер lmdb теперь поддерживает дополнительный параметр $mapsize.
7.3.0DateTime::createFromFormatДля format добавлен спецификатор v.
 apache_request_headersЭта функция стала доступна в SAPI FPM.
 array_pushТеперь эта функция может быть вызвана с одним параметром. Ранее требовалось минимум два параметра.
 array_unshiftТеперь эта функция может быть вызвана с одним параметром. Ранее требовалось минимум два параметра.
 bcmulТеперь bcmul возвращает числа с заданной точностью. Раньше завершающие нули в дробной части числа отбрасывались.
 bcpowТеперь bcpow возвращает числа с заданной точностью. Раньше завершающие нули в дробной части числа отбрасывались.
 bcscalebcscale теперь может быть использована для получения текущего масштаба; при установке нового значения, возвратит старое значение масштаба. Раньше scale был обязательным, и bcscale всегда возвращал TRUE.
 compactcompact теперь выдает ошибку уровня E_NOTICE, если заданная строка связана с удаленной переменной. Ранее такие строки пропускались без всякого уведомления.
 curl_getinfoДобавлены CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, CURLINFO_CONTENT_LENGTH_UPLOAD_T, CURLINFO_HTTP_VERSION, CURLINFO_PROTOCOL, CURLINFO_PROXY_SSL_VERIFYRESULT, CURLINFO_SCHEME, CURLINFO_SIZE_DOWNLOAD_T, CURLINFO_SIZE_UPLOAD_T, CURLINFO_SPEED_DOWNLOAD_T, CURLINFO_SPEED_UPLOAD_T, CURLINFO_APPCONNECT_TIME_T, CURLINFO_CONNECT_TIME_T, CURLINFO_FILETIME_T, CURLINFO_NAMELOOKUP_TIME_T, CURLINFO_PRETRANSFER_TIME_T, CURLINFO_REDIRECT_TIME_T, CURLINFO_STARTTRANSFER_TIME_T, CURLINFO_TOTAL_TIME_T.
 curl_setoptВведенны CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPT_PRE_PROXY, CURLOPT_PROXY_CAINFO, CURLOPT_PROXY_CAPATH, CURLOPT_PROXY_CRLFILE, CURLOPT_PROXY_KEYPASSWD, CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPT_PROXY_SSLCERT, CURLOPT_PROXY_SSLCERTTYPE, CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPT_PROXY_SSLKEY, CURLOPT_PROXY_SSLKEYTYPE, CURLOPT_PROXY_SSL_OPTIONS, CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPT_PROXY_SSLVERSION, CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPT_SOCKS5_AUTH, CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPT_HAPROXYPROTOCOL, CURLOPT_PROXY_TLS13_CIPHERS, CURLOPT_SSH_COMPRESSION, CURLOPT_TIMEVALUE_LARGE и CURLOPT_TLS13_CIPHERS.
 defineПараметр case_insensitive объявлен устаревшим и будет удален в версии 8.0.0.
 ftp_fgetТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_fputТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_getТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_nb_fgetТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_nb_fputТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_nb_getТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_nb_putТеперь параметр mode опционален. Раньше он был обязательным.
 ftp_putТеперь параметр mode опционален. Раньше он был обязательным.
 getallheadersЭта функция стала доступна в SAPI FPM.
 is_countableДобавлена функция is_countable.
 json_decodeДобавлена константа JSON_THROW_ON_ERROR для параметра options.
 json_encodeДобавлена константа JSON_THROW_ON_ERROR для параметра options.
 listДобавлена поддержка присвоения по ссылкам при деструктурировании массива.
 mb_convert_caseДобавлена поддержка MB_CASE_FOLD, MB_CASE_UPPER_SIMPLE, MB_CASE_LOWER_SIMPLE, MB_CASE_TITLE_SIMPLE и MB_CASE_FOLD_SIMPLE в параметре mode.
 password_hashДобавлена поддержка алгоритма хеширования паролей Argon2id с помощью PASSWORD_ARGON2ID.
 preg_quoteСимвол # теперь экранируется
 session_get_cookie_paramsДобавлен элемент "samesite" в возвращаемый массив.
 session_set_cookie_paramsДобавлена альтернативная подпись, поддерживающая массив опций options. Эта подпись поддерживает также настройку cookie-атрибута SameSite.
 setcookieДобавлена альтернативная подпись, поддерживающая массив опций options. Эта подпись поддерживает также настройку cookie-атрибута SameSite.
 setrawcookieДобавлена альтернативная подпись, поддерживающая массив опций options. Эта подпись поддерживает также настройку cookie-атрибута SameSite.
 striposПередача целого числа (integer) в needle объявлена устаревшей.
 stristrПередача целого числа (integer) в needle объявлена устаревшей.
 strposПередача целого числа (integer) в needle объявлена устаревшей.
 strrchrПередача целого числа (integer) в needle объявлена устаревшей.
 strriposПередача целого числа (integer) в needle объявлена устаревшей.
 strrposПередача целого числа (integer) в needle объявлена устаревшей.
 strstrПередача целого числа (integer) в needle объявлена устаревшей.
 unlinkВ Windows теперь можно удалить файлы функцией unlink с использованием дескрипторов, хотя раньше это не удавалось. Тем не менее, все еще невозможно повторно создать удаленный файл, пока все дескрипторы к нему не будут закрыты.
 var_exportТеперь объекты stdClass экспортируются в виде массива, приведенного к объекту (массив (object) array( ... )), вместо использования несуществующего метода stdClass::__setState. Практический эффект заключается в том, что теперь stdClass можно экспортировать, и полученный код будет работать даже в более ранних версиях PHP.
 xml_set_external_entity_ref_handlerВозвращаемое значение handler больше не игнорируется, если модуль был собран с библиотекой libxml. Раньше возвращаемое значение игнорировалось, а разбор никогда не останавливался.
7.3ldap_addДобавлена поддержка параметра serverctrls
 ldap_compareДобавлена поддержка параметра serverctrls
 ldap_deleteДобавлена поддержка параметра serverctrls
 ldap_exopДобавлена поддержка serverctrls
 ldap_exop_passwdДобавлена поддержка параметра serverctrls
 ldap_listДобавлена поддержка параметра serverctrls
 ldap_mod_addДобавлена поддержка параметра serverctrls
 ldap_mod_delДобавлена поддержка параметра serverctrls
 ldap_mod_replaceДобавлена поддержка параметра serverctrls
 ldap_modify_batchДобавлена поддержка параметра serverctrls
 ldap_parse_resultДобавлена поддержка параметра serverctrls
 ldap_readДобавлена поддержка параметра serverctrls
 ldap_renameДобавлена поддержка параметра serverctrls
 ldap_searchДобавлена поддержка параметра serverctrls
7.2.19, 7.3.6SplFileObject::__toStringИзменен псевдоним с SplFileObject::current на SplFileObject::fgets.
7.2.18, 7.3.5substr_compareoffset теперь может быть равным main_str.
7.2.0array_uniqueЕсли sort_flags равен SORT_STRING, ранее массив array копировался, а не уникальные элементы удалялись (сохраняя значения цифровых индексов), но теперь создается новый массив путем добавления уникальных элементов. Это может привести к различным числовым индексам.
 assertИспользование строк в параметре assertion объявлено устаревшим и будет приводить к ошибкам уровня E_DEPRECATED в случае, когда и assert.active и zend.assertions установлены в значение 1.
 bcmoddividend и divisor больше не обрезаются до целого, так что теперь поведение bcmod соответствует fmod, а не оператору %.
 bcmodДобавлен параметр scale.
 countcount теперь будет выдавать предупреждение о некорректных исчисляемых типов, переданных в параметр array_or_countable.
 date_parseЭлемент возращаемого массива с ключем zone теперь содержит секунды, а не минуты. Кроме того, знак инвертирован. Т.е. раньше был -120, а теперь 7200.
 date_parse_from_formatЭлемент zone возвращаемого массива отображает теперь секунды вместо минут, а его знак инвертируется. Например, -120 теперь будет 7200.
 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_classДо этой версии значением по умолчанию для object было NULL с тем же эффектом, что и отсутствие передачи значения. Теперь NULL был удален как значение по умолчанию для object и больше не является допустимым значением.
 gettypeДля закрытых ресурсов теперь возвращается 'resource (closed)'. Ранее для закрытых ресурсов возвращалось 'unknown type'.
 hash_copyПринимает и возвращает HashContext, а не ресурс.
 hash_finalПринимает HashContext, а не ресурс.
 hash_hmacЗапрещено использование некриптографических хеш-функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat).
 hash_hmac_fileЗапрещено использование некриптографических хеш-функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat).
 hash_initВозвращает HashContext, а не ресурс.
 hash_initЗапрещено использование некриптографических хеш-функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) с константой HASH_HMAC.
 hash_pbkdf2Запрещено использование некриптографических функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat).
 hash_updateПринимает HashContext, а не ресурс.
 hash_update_fileПринимает HashContext, а не ресурс.
 hash_update_streamПринимает HashContext, а не ресурс.
 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.
 json_decodeДобавлены константы JSON_INVALID_UTF8_IGNORE и JSON_INVALID_UTF8_SUBSTITUTE для параметра options.
 json_decodeassoc теперь nullable.
 json_encodeДобавлены константы JSON_INVALID_UTF8_IGNORE и JSON_INVALID_UTF8_SUBSTITUTE для параметра options.
 mailПараметр additional_headers может принимать значения типа массив.
 mb_check_encodingФункция теперь также принимает массив (array) в var. Ранее поддерживались только строки (string).
 mb_convert_encodingФункция теперь также принимает массив (array) в val. Ранее поддерживались только строки (string).
 mb_parse_strВызов функции mb_parse_str без второго параметра объявлено устаревшим.
 mb_send_mailТеперь в параметр additional_headers можно передавать массив.
 mt_randДля mt_rand произведено исправление бага смещения по модулю. Это означает, что последовательности сгенерированные с конкретным начальным значением могут отличаться от сгенерированных в PHP 7.1 для 64-битных машин.
 number_formatnumber_format была изменена, чтобы не возвращать -0, ранее -0 могло быть возвращено в случаях, когда number был -0.01.
 openssl_pkcs7_verifyДобавлен параметр p7bfilename.
 packТипы float и double поддерживают как обратный, так и прямой порядок передачи байтов.
 parse_strИспользование parse_str без второго параметра будет вызывать ошибку уровня E_DEPRECATED.
 password_hashДобавлена поддержка хеширующего алгоритма Argon2i с помощью PASSWORD_ARGON2I.
 preg_matchТеперь константа PREG_UNMATCHED_AS_NULL поддерживается для параметра $flags.
 preg_match_allТеперь константа PREG_UNMATCHED_AS_NULL поддерживается для параметра $flags.
 proc_niceЭта функция стала доступна в Windows.
 randДля rand произведено исправление бага смещения по модулю. Это означает, что последовательности сгенерированные с конкретным начальным значением могут отличаться от сгенерированных в PHP 7.1 для 64-битных машин.
 read_exif_dataЭтот псевдоним был объявлен устаревшим.
 session_abortТеперь возвращаемый тип этой функции bool. Раньше был тип void.
 session_module_nameВ данный момент запрещено устанавливать имя модуля на значение "user". Ранее это игнорировалось.
 session_namesession_name проверяет статус сессии, ранее она проверяла только статус cookie. Поэтому старая версия session_name позволяла вызывать session_name после session_start, что могло привести к сбою PHP и неправильному поведению.
 session_resetТеперь возвращаемый тип этой функции bool. Раньше был тип void.
 session_set_cookie_paramsВозвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. Ранее возвращала тип void.
 session_unsetТеперь возвращаемый тип этой функции bool. Раньше был тип void.
 session_write_closeТеперь возвращаемый тип этой функции bool. Раньше был тип void.
 set_error_handlerПараметр errcontext объявлен устаревшим. Теперь при его использовании будет вызываться ошибка уровня E_DEPRECATED.
 unpackТипы float и double поддерживают как обратный, так и прямой порядок передачи байтов.
 utf8_decodeЭта функция была перенесена в ядро PHP, таким образом отменив требование расширения XML для использования этой функции.
 utf8_encodeЭта функция была перенесена в ядро PHP, таким образом отменив требование расширения XML для использования этой функции.
 PDOStatement::debugDumpParamsPDOStatement::debugDumpParams теперь возвращает SQL, отправленный в базу данных, в том числе полный необработанный запрос (включая замененные параметры с их связанными значениями). Обратите внимание, что это будет работать только при включенной эмуляции подготавливаемых запросов.
 SQLite3::openBlobДобавлен параметр flags, позволяющий записать BLOB; ранее поддерживалось только чтение.
7.1.24, 7.2.12, 7.3.0xml_parser_get_optionТеперь параметр options поддерживает XML_OPTION_SKIP_TAGSTART и XML_OPTION_SKIP_WHITE.
7.1.5IntlDateFormatter::formatSupport for providing general DateTimeInterface objects to the value parameter was added. Formerly, only proper DateTime objects were supported.
7.1.4PDO::sqliteCreateFunctionДобавлен параметр flags.
 SQLite3::createFunctionДобавлен параметр flags.
7.1.0DateInterval::formatДобавлены форматирующие символы F и f.
 DateTime::__constructТеперь микросекунды будут заполняться корректным значением, а не '00000'.
 DateTime::setTimeДобавлен параметр microsecond.
 array_randВнутренний алгоритм получения случайных чисел изменен с функции rand библиотеки libc на генератор на базе Вихря Мерсена.
 curl_multi_setoptДобавлена константа CURLMOPT_PUSHFUNCTION.
 exif_imagetypeДобавлена поддержка WebP.
 file_get_contentsДобавлена поддержка отрицательных значений offset.
 get_headersДобавлен параметр context.
 getenvПараметр varname теперь может быть опущен для получения ассоциативного массива (array) всех переменных окружения.
 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.
 hash_algosДобавлена поддержка для sha512/224, sha512/256, sha3-224, sha3-256, sha3-384 и sha3-512.
 iconv_strposПоддержка отрицательных значений offset.
 json_decodeПустой ключ JSON ("") будет преобразован в пустое свойство объекта, а не в свойство со значением _empty_.
 json_encodeПри кодировании чисел с плавающей запятой используется serialize_precision вместо precision.
 json_encodeДобавлена константа JSON_UNESCAPED_LINE_TERMINATORS для параметра options.
 listТеперь возможно задавать ключи в list. Это позволяет разыменовывать ассоциативные массивы и массивы с индексами не по порядку.
 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_randrand теперь является псевдонимом для mt_rand.
 mt_randФункция mt_rand была обновлена и теперь использует корректную версию генератора случайных чисел на основе Вихря Мерсенна. Для использования старого поведения, используйте mt_srand со вторым параметром, установленным в MT_RAND_PHP.
 mt_srandsrand теперь является псевдонимом для mt_srand.
 mt_srandmt_rand была изменена для использования фиксированной, корректной версии алгоритма Вихря Мерсенна. Для отката к старому поведению, используйте mt_srand со вторым параметром MT_RAND_PHP.
 openssl_csr_newПараметр configargs теперь поддерживает curve_name.
 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 обработчику callback-функции передается второй аргумент, содержащий структуру siginfo определенного сигнала. Эти данные будут переданы только в том случае, если операционная система поддерживает структуры siginfo_t. Если в операционной системе не реализована поддержка структуры siginfo_t, то в качестве второго аргумента будет передан NULL.
 pcntl_signal_get_handlerБыла добавлена функция pcntl_signal_get_handler.
 pg_fetch_allДобавлен параметр result_type.
 pg_last_noticeДобавлен параметр option.
 pg_selectДобавлен параметр result_type.
 randrand стала синонимом функции mt_rand.
 session_startsession_start теперь возвращает FALSE и больше не инициализирует $_SESSION, когда она не смогла запустить сессию.
 shuffleВнутренний алгоритм получения случайных чисел изменен с функции rand библиотеки libc на генератор на базе Вихря Мерсена.
 srandsrand стала синонимом функции mt_srand.
 str_shuffleВнутренний алгоритм получения случайных чисел изменен с функции rand библиотеки libc на генератор на базе Вихря Мерсена.
 striposДобавлена поддержка отрицательных значений offset.
 strposДобавлена поддержка отрицательных значений offset.
 substr_countДобавлена поддержка отрицательных значений offset и length. length теперь также может быть 0.
 unpackДобавлен необязательный параметр offset.
 unserializeТеперь элемент allowed_classes параметра options строго типизирован, то есть если передано что-либо, кроме array и boolean, unserialize вернет FALSE и вызовет ошибку E_WARNING.
 ReflectionType::__toStringReflectionType::__toString объявлен устаревшим.
7.0.16, 7.1.2dns_get_recordДобавлена поддержка записей типа CAA.
 fopenДобавлена опция 'e'.
7.0.15, 7.1.1get_defined_functionsДобавлен параметр exclude_disabled.
7.0.15,7.1.1packДобавлены коды "e", "E", "g" и "G" для поддержки принудительного указания порядка байт для float и double.
7.0.11iconv_substrЕсли str имеет длину равную offset, будет возвращена пустая строка. Ранее в подобных случаех возвращалось FALSE.
7.0.10imagetypesДобавлена константа IMG_WEBP.
 SQLite3::__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 и далее.
 currentТеперь параметр array всегда передается по значению. Раньше он по возможности передавался по ссылке.
 defineДопустимы значения типа array.
 dirnameДобавлен необязательный параметр levels.
 getrusageДобавлен поддержка этой функции в Windows.
 is_numericСтроки, содержащие шестнадцатеричную (0xf4c3b00c) запись, больше не считаются числовыми строками, то есть is_numeric вернет FALSE.
 keyТеперь параметр array всегда передается по значению. Раньше он по возможности передавался по ссылке.
 listВыражение list больше не может быть полностью пустым.
 listБольше нельзя разбирать строки с помощью этой функции.
 listИзменен порядок операций присвоения.
 set_exception_handlerТип параметра передаваемого в exception_handler изменен с Exception на Throwable
 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.
 unserializeДобавлен параметр options.
 IntlDateFormatter::setTimeZoneIdThis function has been removed.
5.6.25, 7.0.10SplFileObject::getCsvControlДобавлен символ экранирования в результирующий массив.
5.6.16mysqli::real_connectДобавлен флаг MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT для MySQL Native Driver
5.6.3packДобавлены коды "q", "Q", "J" и "P" для поддержки 64-bit чисел.
5.6.1sem_acquireДобавлен параметр $nowait.
5.6.0array_fillnum теперь может быть равен нулю. До этого num должен был быть больше нуля.
 array_filterДобавлен необязательный параметр flag и константы ARRAY_FILTER_USE_KEY и ARRAY_FILTER_USE_BOTH
 mb_regex_encodingКодировка по умолчанию изменена на UTF-8. Ранее по умолчанию была EUC-JP.
 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_truncateДобавлена функция обрезания. Она поддерживает 64-битный большой объект PostgreSQL из версии 9.3. Как клиент, так и сервер должны поддерживать PostgreSQL версии 9.3, а PHP должен быть собран на 64-битной машине для использования большого 64-битного объекта.
 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Параметр crypto_type теперь необязателен.
 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.
 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.21, 5.6.5SplFileObject::fputcsvДобавлен параметр escape.
5.5.19, 5.6.3DateTimeZone::getOffsetТип параметра datetime был изменен на интерфейс DateTimeInterface. Ранее был класс DateTime.
5.5.10DateTimeZone::__constructПараметр timezone принимает значения смещения.
5.5.8DatePeriod::__constructТип параметра end изменен на DateTimeInterface. Ранее использовался DateTime.
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.1pg_unescape_byteaЕсли входная строка не валидна, то бросается предупреждение.
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::setCalendarIt became possible to pass an IntlCalendar object.
5.5.0DatePeriod::__constructТип параметра start изменен на DateTimeInterface. Ранее использовался DateTime.
 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.
 set_exception_handlerРаньше, если был передан NULL, то эта функция возвращала TRUE. Теперь она возвращает старый обработчик.
 unpackДля поддержания совместимости с Perl сделано следующее: Код "a" теперь сохраняет завершающие NULL-байты. Код "A" теперь удаляет все завершающие пробельные символы ASCII (пробелы, табуляцию, переносы строк, возврат каретки, и NULL-байты). Код "Z" добавлен для NULL-дополненными строками и удаляет завершающие NULL-байты.
 IntlDateFormatter::setTimeZoneIdThis function has been deprecated.
 mysqli::commitДобавлены параметры flags и name.
 mysqli::rollbackДобавлены параметры flags и name.
5.4.0define_syslog_variablesЭта функция была удалена из PHP.
 mysqli_get_cache_statsФункция mysqli_get_cache_stats удалена.
5.3.15, 5.4.5Collator::getSortKeySort keys do no longer contain any NUL bytes.
5.3.0define_syslog_variablesЭта функция теперь передаёт напоминание E_DEPRECATED.
 mysqli_get_cache_statsФункция mysqli_get_cache_stats добавлена в виде заглушки.
5.2.0simplexml_load_fileДобавлен необязательный параметр is_prefix.
 simplexml_load_stringДобавлен необязательный параметр is_prefix.
 SimpleXMLElement::attributesДобавлен необязательный параметр is_prefix.
 SimpleXMLElement::__constructДобавлены параметры ns и is_prefix.
5.1.2SimpleXMLElement::__constructДобавлены параметры options и data_is_url.
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top