PHP 8.4.14 發佈 - 新聞 詳情

PHP 8.4.14 現已發佈,這是一個錯誤修復版本。具體更新內容包括:

  • Core:
    • 修復了錯誤GH-19765(object_properties_load() 繞過了只讀屬性檢查)。
    • 修復了 hard_timeout with --enable-zend-max-execution-timers。
    • 修復了錯誤GH-19792(如果同時觸發警告和異常,SCCP 會導致返回值的 UAF)。
    • 修復了錯誤GH-19653(臨時閉包之間的閉包命名參數解包可能會導致崩潰)。
    • 修復了錯誤GH-19839(用户空間數組上的 HASH_FLAG_HAS_EMPTY_IND 標誌不正確)。
    • 修復了錯誤GH-19480(配置 open_basedir 時無法取消設置 error_log php.ini)。
    • 修復了錯誤GH-20002(Broken build on *BSD with MSAN)。
  • CLI:
    • 使用 PHP_CLI_SERVER_WORKERS 修復由於 CLI 服務器中的 EAGAIN 導致的無用的“輪詢事件失敗”錯誤日誌。
  • Curl:
    • 當使用克隆運算符而不是 curl_copy_handle() 函數克隆 CurlHandle 時,修復 CURLOPT_POSTFIELDS 的克隆問題。
    • 修復版本 8.16 的 curl 構建和測試失敗問題。
  • Date:
    • 修復 GH-17159:::createFromFormat 的“P”格式吞噬了字符串文字。
  • DOM:
    • 修復 macOS 上的宏名稱衝突。
    • 修復錯誤GH-20022(docker-php-ext-install DOM 失敗)。
  • GD:
    • 修復了GH-19955(imagefttext() 內存泄漏)。
  • MySQLnd:
    • 修復了錯誤#67563(使用 mysqlnd 編譯的 mysqli 不接受 ipv6 地址作為參數)。
  • Opcache:
    • 修復了錯誤GH-19669(zend_jit_trace_type_to_info_ex 中的斷言失敗)。
    • 修復了錯誤GH-19831(函數 JIT 可能不會取消引用屬性值)。
    • 修復了錯誤GH-19889(zend_runtime_jit()、zend_jit_hot_func() 中的競爭條件)。
  • Phar:
    • 修復 tar header 寫入失敗後內存泄漏和無效延續問題。
    • 修復應用 zip 簽名時創建臨時文件失敗導致的內存泄漏。
  • SimpleXML:
    • 修復了錯誤GH-19988(zend_string_init with NULL pointer in simplexml (UB))。
  • Soap:
    • 修復了錯誤GH-19784(SoapServer 內存泄漏)。
    • 修復了錯誤GH-20011(未知類型的 SoapVar 數組導致崩潰)。
  • Standard:
    • 修復了錯誤GH-12265(克隆對象會破壞序列化遞歸)。
    • 修復了錯誤GH-19701(序列化/反序列化丟失一些數據)。
    • 修復了錯誤GH-19801(var_dump() 和 debug_zval_dump() 中的泄漏)。
    • 修復了錯誤GH-20043(RC1 數組的 array_unique 斷言失敗導致排序異常)。
    • 修復了錯誤GH-19926(在 COW violation flag 仍設置的情況下,拼接數組時提前重置內部指針)。
    • 修復了錯誤GH-19570(無法在 /dev/zero 和 /dev/null 中進行 fseek)。
  • Streams:
    • 修復了錯誤GH-19248(在 main 中使用 strerror_r 而不是 strerror)。
    • 修復了錯誤GH-17345(錯誤 #35916 尚未完全修復)。
    • 修復了錯誤GH-19705(嘗試在 non seekable stream 上刷新時的 segmentation)。
  • XML閲讀器:
    • 修復了錯誤GH-20009(RelaxNG 模式失敗時 XMLReader 泄漏)。
  • Zip:
    • 修復了錯誤GH-19688(刪除 zip addGlob() 中的模式溢出)。
    • 修復了錯誤GH-19932(zip setEncryptionName()/setEncryptionIndex() 中的內存泄漏)。

更新説明:https://www.php.net/ChangeLog-8.php#8.4.14