setcookie() 和 setrawcookie() 現在也支援以下簽章
其中$options 是一個關聯式陣列,可以包含以下鍵值:"expires"、"path"、"domain"、"secure"、"httponly" 和 "samesite"。
如果 error_log 設定為 syslog,則已新增以下 ini 指令來自訂記錄:
all、no-ctrl 和 ascii。從 PHP 7.3.8 開始,也提供 raw,恢復先前 PHP 版本中 syslog 的行為。此篩選器也會影響 syslog() 的呼叫。
循環式垃圾回收 已增強,可能會顯著提升效能。
var_export() 現在將 stdClass 物件匯出為轉換成物件的陣列 ((object) array( ... )),而不是使用不存在的方法 stdClass::__setState()。
debug_zval_dump() 已變更為以與 var_dump() 相同的方式顯示遞迴陣列和物件。現在,它不會顯示兩次。
array_push() 和 array_unshift() 現在也可以使用單一參數呼叫,這對於展開運算子來說特別方便。
已移除未使用的常數 PHPDBG_FILE、PHPDBG_METHOD、PHPDBG_LINENO 和 PHPDBG_FUNC。
getallheaders() 函式現在也可用。
現在需要 libcurl ≥ 7.15.5。
FILTER_VALIDATE_FLOAT 現在也支援 thousand 選項,該選項定義允許的千位分隔符號字元集。預設值 ("',.") 與舊版 PHP 完全向後相容。
已新增 FILTER_SANITIZE_ADD_SLASHES 作為 magic_quotes 篩選器 (FILTER_SANITIZE_MAGIC_QUOTES) 的別名。magic_quotes 篩選器將在未來版本的 PHP 中移除。
預設傳輸模式已變更為 binary(二進位)。
當 PHP 與 ICU ≥ 56 連結時,Normalizer::NONE 已被棄用。
引進 Normalizer::FORM_KC_CF 作為 Normalizer::normalize() 的參數,用於 NFKC_Casefold 正規化;當與 ICU ≥ 56 連結時可用。
新增了一個旗標 JSON_THROW_ON_ERROR,可以與 json_decode() 或 json_encode() 搭配使用。當發生錯誤時,這些函式會拋出新的 JsonException 異常,而不是設定透過 json_last_error() 和 json_last_error_msg() 取得的全局錯誤狀態。JSON_PARTIAL_OUTPUT_ON_ERROR 的優先順序高於 JSON_THROW_ON_ERROR。
組態選項 --with-libmbfl 已移除。
已移除對 ODBCRouter 和 Birdstep 的支援,包括 birdstep.max_links ini 指令。
已移除 opcache.inherited_hack ini 指令。自 PHP 5.3.0 起,該值已被忽略。
新增了 min_proto_version 和 max_proto_version ssl 資料流選項,以及相關的 TLS 協定值常數。
PCRE 擴充套件 已升級至 PCRE2,這可能會導致一些細微的行為變化(例如,類別中的字元範圍現在會被更嚴格地解釋),並擴充了現有的正規表示式語法。
preg_quote() 現在也會跳脫 '#' 字元。
新增了屬性 PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS,可啟用自動跳過空結果集的功能。
新增了屬性 PDO::DBLIB_ATTR_TDS_VERSION,用於顯示 TDS 版本。
DATETIME2 資料行現在會被視為 DATETIME 資料行處理。
現在可以透過將新的 PDO::SQLITE_ATTR_OPEN_FLAGS 屬性設定為 PDO::SQLITE_OPEN_READONLY,以唯讀模式開啟 SQLite3 資料庫。
session_set_cookie_params() 現在也支援以下簽章
其中$options 是一個關聯式陣列,可以包含以下任一鍵值:"lifetime"、"path"、"domain"、"secure"、"httponly" 和 "samesite"。相應地,session_get_cookie_params() 的回傳值現在也包含一個鍵值為 "samesite" 的元素。此外,還新增了 session.cookie_samesite ini 選項,用於設定 Cookie 的 SameSite 指令預設值。預設值為 ""(空字串),表示未設定 SameSite 指令。可以設定為 "Lax" 或 "Strict",以設定對應的 SameSite 指令。
現在也透明地支援基於 » tidyp 進行構建。由於 tidyp 沒有提供獲取發布日期的 API,tidy_get_release() 和 tidy::getRelease() 在這種情況下會返回 'unknown'。
如果擴充套件是基於 libxml 構建的,則 xml_set_external_entity_ref_handler() 回呼的返回值將不再被忽略。以前,返回值會被忽略,並且解析永遠不會停止。
不建議基於捆綁的 libzip 進行構建,但仍然可以通過在配置中添加 --without-libzip 來實現。
已新增 compress.zlib 包裝器 的 zlib/level 上下文選項,以便設定所需的壓縮級別。