PHP 8.1.23 發佈!
2023年8月31日
PHP 開發團隊宣布 PHP 8.1.23 即刻上線。這是一個錯誤修復版本。
鼓勵所有 PHP 8.1 用戶升級到此版本。
欲下載 PHP 8.1.23 的來源檔案,請參訪我們的下載頁面,Windows 的來源和二進制檔案可以在 windows.php.net/download/ 找到。變更的清單已記錄在變更日誌中。
ChangeLog
命令列介面(CLI):
修復錯誤 GH-11716(當使用 ZEND_RC_DEBUG=1 編譯時,cli 伺服器在 SIGINT 上崩潰)。
修復錯誤 GH-10964(改善內建伺服器的手冊頁)。
核心:
在組態時修復 strerror_r 的偵測。
日期:
修復錯誤 GH-11416:當未初始化的物件被傳遞時,DatePeriod 會崩潰。
DOM(文件物件模型):
修復 DOMEntity 字段獲取器的錯誤。
修正 DOMElement::setAttributeNodeNS 中的屬性存在檢查錯誤。
修復 DOMCharacterData::replaceWith() 與自身的情況。
修復 DOMParentNode 方法的空引數案例。
修復錯誤 GH-11791(DOMDocument::xmlStandalone 的預設值不正確)。
修正 DOMDocument 上的 json_encode 結果。
修正在 DOM 類別上手動呼叫 __construct() 的錯誤。
修復錯誤 GH-11830(ParentNode 方法應提前執行其檢查)。
在子項目消失時調用 DOMParentNode::prepend() 會導致分段錯誤。
FFI(外部函式介面):
在使用 FFI::cdef()->new(...) 時修復洩漏的定義。
MySQLnd(MySQL 執行時連接庫):
修復錯誤 GH-11440(在使用 SSL 時對 sha256_password 帳戶的身份驗證失敗)。
修復錯誤 GH-11438(mysqlnd 無法對使用超過 19 個字符的密碼的 sha256_password 帳戶進行身份驗證失敗)。
修復錯誤 GH-11550(當響應字段已更改時,MySQL Statement 的查詢結果為空,也會導致分段錯誤)。
在連接斷開時修正無效的錯誤訊息 "Malformed packet"。
Opcache(PHP 快取):
修復錯誤 GH-11715(opcache.interned_strings_buffer 要麼無效,要麼 opcache_get_status() / phpinfo() 輸出不正確)。
如果正在進行重新啟動,則在從 shm 載入腳本時避免添加不必要的讀取鎖。
PCNTL(進程控制):
將接收 SIGCHLD 信號的行為恢復到 8.1.22 之前的行為。
SPL(標準 PHP 函式庫):
修復錯誤 #81992(SplFixedArray::setSize() 導致 use-after-free)。
標準函式庫:
在 number_format 中防止 $decimals 溢位。
修復錯誤 GH-11870(在截斷 tempnam 前綴時修復的 off-by-one 錯誤)(athos-ribeiro)。
資料來源:https://www.php.net/ChangeLog-8.php#8.1.23