2018年(nián)12月(yuè)6日
核心:
• 改進了PHP GC。
• 重新設計了用PHP編寫的舊(jiù)的ext_skel程序,運行:'php ext_skel.php'獲取所有選項。這意味著(zhe)沒有依賴關系,因此它可以在窗(chuāng)口之外工(gōng)作。
• 删除了對BeOS的支持。
• 将PHP_VERSION添加到(dào)phpinfo()<title />。
• 添加net_get_interfaces()。
• 根據RFC https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes實現靈活的heredoc和nowdoc語法。
• 根據RFC https://wiki.php.net/rfc/list_reference_assignment,添加了對list()和數組解構中的引用的支持。
• 提高(gāo)ZEND_SECURE_ZERO對NetBSD和沒有本地類似功能(néng)的系統的有效性。
• 添加了syslog.facility和syslog.ident INI條目,用于自(zì)定義syslog日志(zhì)記錄。
• 修複了錯(cuò)誤#75683(ZTS模式下(xià)zend_register_functions()中的内存洩漏)。
• 修複了錯(cuò)誤#75031(支持臨時/内存流中的附加模式)。
• 修正了錯(cuò)誤#74860(當error_log設置為(wèi)“syslog”時,未捕獲的異常未正确格式化)。
• 修複了錯(cuò)誤# 75220(在父級調用is_callable時的Segfault)。
• 修正了錯(cuò)誤#69954(分布式ini文件(jiàn)中已損壞的鏈接和未使用的配置項)。
• 修複了錯(cuò)誤#74922(組合類具有重複,相(xiàng)等的const屬性的緻命錯(cuò)誤)。
• 修複了錯(cuò)誤#63911(相(xiàng)同的特征方法在編寫過程中引發錯(cuò)誤)。
• 修複了錯(cuò)誤#75677(Clang忽略了對可變參數函數的fastcall調用約定)。
• 修複了錯(cuò)誤#54043(删除了内部異常和用戶定義異常的不一(yī)緻)。
• 修複了錯(cuò)誤#53033(數學運算(suàn)将對象轉換為(wèi)整數)。
• 修複了錯(cuò)誤#73108(内部類強制轉換處理程序使用整數而不是浮點數)。
• 修複了錯(cuò)誤#75765(未找到(dào)基類時出現緻命錯(cuò)誤而非錯(cuò)誤異常)。
• 修複了錯(cuò)誤#76198(措辭:“可叠代”不是标量類型)。
• 修複了錯(cuò)誤#76137(config.guess / config.sub無法識别RISC-V)。
• 修複了#76427的錯(cuò)誤(zend_objects_store_put中的Segfault)。
• 修複了錯(cuò)誤#76422(ftruncate文件(jiàn)> 2GB時失敗)。
• 修複了錯(cuò)誤#76509(繼承的靜(jìng)态屬性可以通(tōng)過ref從(cóng)其父級取消同步)。
• 修複了錯(cuò)誤#76439(在未關閉的HereDoc中更改了行為(wèi))。
• 修複了錯(cuò)誤#63217(當用作ArrayAccess偏移時,常量數字字符串變為(wèi)整數)。
• 修複了錯(cuò)誤#33502(某些空函數不檢查參數的數量)。
• 修複了錯(cuò)誤#76392(錯(cuò)誤重定位sapi / cli / php:不支持的重定位類型為(wèi)37)。
• 不推薦使用不區分大小(xiǎo)寫的常量的聲明和使用。
• 為(wèi)系統日志(zhì)過濾添加了syslog.filter INI條目。
• 修正了錯(cuò)誤#76667(分段故障伴随著(zhe)分配操作op 和 _get+_set)。
• 修複了錯(cuò)誤#76030(RE2C_FLAGS很少獲得榮譽)(CristianRodríguez)
• 修複了損壞的zend_read_static_property(Laruence)
• 修正了錯(cuò)誤#76773(父類使用的特征會(huì)被子類忽略)。
• 修正了錯(cuò)誤#76767('asm'操作數在zend_operators.h中有不可能(néng)的約束)。
• 修複了錯(cuò)誤#76752(ZEND_COALESCE_SPEC_TMP_HANDLER崩潰 - 在_get_zval_ptr_tmp中一(yī)定是失敗)。
• 修複了#76820(Z_COPYABLE無效定義)的問題。
• 修複了錯(cuò)誤#76510(file_exists()停止為(wèi)phar://工(gōng)作)。
• 修複了錯(cuò)誤#76869(不正确地繞過受保護的方法可訪問性檢查)。
• 修正了錯(cuò)誤#72635(constexpr中類常量使用的未定義類會(huì)産生(shēng)緻命錯(cuò)誤)。
• 修複了錯(cuò)誤#76947(file_put_contents()阻止了文件(jiàn)的目錄(__DIR__))。
• 修複了錯(cuò)誤#76979(define()錯(cuò)誤消息未将資源視為(wèi)有效值)。
• 修複了錯(cuò)誤#76825(未定義的符号___cpuid_count)。
• 修複了#77110(C ++版本中未定義的符号zend_string_equal_val)。
• 修正了#77231(使用convert.quoted-printable-encode過濾器(qì)時會(huì)出現故障)。
• bcmath時:
• 實施FR #67855(無法獲得當前使用的規模)。
• 修正了錯(cuò)誤#66364(BCMath bcmul忽略了scale參數)。
• 修複了錯(cuò)誤#75164(split_bc_num()是無意義的)。
• 修複了錯(cuò)誤#75169(BCMath錯(cuò)誤/警告繞過了PHP的錯(cuò)誤處理)。
• CLI:
• 修複了錯(cuò)誤#44217(stdout / stderr關閉後的輸出導緻立即退出狀态為(wèi)0)。
• 修複了錯(cuò)誤#77111(php-win.exe破壞了cli參數中的unicode符号)。
• cURL:
• 将卷曲常數從(cóng)卷曲7.50暴露到(dào)7.61。
• 修複了錯(cuò)誤#74125(修複了可以在支持多(duō)種方式的系統上(shàng)查找CURL)。
• Date:
• 實現FR #74668:添加DateTime :: createFromImmutable()方法。
• 修複了錯(cuò)誤#75222(DateInterval日期間隔的微秒(miǎo)屬性始終為(wèi)0)。
• 修複了錯(cuò)誤#68406(在DateTimeZone對象上(shàng)調用var_dump修改它)。
• 修複了錯(cuò)誤#76131(date_create的不匹配arginfo)。
• 将timelib更新為(wèi)2018.01RC1以解決幾個(gè)錯(cuò)誤:
• 修複了錯(cuò)誤#75577(DateTime :: createFromFormat不接受'v'格式說明符)。
• 修複了錯(cuò)誤#75642(微秒(miǎo)的環繞行為(wèi)無法正常工(gōng)作)。
• 修正了錯(cuò)誤#77097(當實際差異小(xiǎo)于1秒(miǎo)時,DateTime :: diff會(huì)給出錯(cuò)誤的差異)。
• DBA:
• 修複了錯(cuò)誤#75264(發出編譯器(qì)警告)。
• DOM:
• 修複了錯(cuò)誤#76285(DOMDocument :: formatOutput屬性有時會(huì)被忽略)。
• Fileinfo的:
• 修複了錯(cuò)誤#77095(7.2 / 7.3中的慢(màn)速回歸(與7.1相(xiàng)比))。
• Fileter:
• 添加了'add_slashes'清理模式(FILTER_SANITIZE_ADD_SLASHES)。
• FPM:
• 添加了fpm_get_status函數。
• 修複了錯(cuò)誤#62596(PHP-FPM缺少getallheaders())。
• 修複了錯(cuò)誤#69031(進入stdout / stderr的長(cháng)消息被錯(cuò)誤地截斷) - 添加了與日志(zhì)相(xiàng)關的新FPM配置選項:log_limit,log_buffering和decorate_workers_output。
• ftp:
• 修複了錯(cuò)誤#77151(ftp_close():關機(jī)時的SSL_read)。
• GD:
• 在imagecreatefromstring()中添加了對WebP的支持。
• GMP:
• 導出GMP對象的内部結構和訪問者助手。
• 添加了gmp_binomial(n,k)。
• 添加了gmp_lcm(a,b)。
• 添加了gmp_perfect_power(a)。
• 添加了gmp_kronecker(a,b)。
• iconv:
• 修複了錯(cuò)誤#53891(iconv_mime_encode()無法對UTF-8字符串進行Q編碼)。
• 修正了錯(cuò)誤#77147(修複60494忽略了ICONV_MIME_DECODE_CONTINUE_ON_ERROR)。
• IMAP:
• 修複了錯(cuò)誤#77153(imap_open允許通(tōng)過郵箱參數運行任意shell命令)。
• 修複了錯(cuò)誤#77020(imap_mail中的空指針取消引用)。
• Interbase:
• 修複了錯(cuò)誤#75453(ibase_ [p]連接的錯(cuò)誤的反射)。
• 修複了錯(cuò)誤#76443(php + php_interbase.dll在module_shutdown上(shàng)崩潰)。
• Intl:
• 修複了錯(cuò)誤#75317(UConverter :: setDestinationEncoding更改源而不是目标)。
• 修複了錯(cuò)誤#76829(對idn_to_utf8()函數的域驗證不正确)。
• JSON:
• 添加了JSON_THROW_ON_ERROR标志(zhì)。
• LDAP:
• 使用dds 覆蓋為(wèi)EXOP REFRESH操作添加了ldap_exop_refresh助手。
• 添加了對發送和解析ldap控件(jiàn)的完全支持。
• 修複了#49876(修複64位發行版上(shàng)的LDAP路(lù)徑查找)的問題。
• libxml2的:
• 修複了錯(cuò)誤#75871(在可用的地方使用pkg-config)。
• Litespeed:
• 修複了錯(cuò)誤#75248(僅構建litespeed SAPI時未創建二進制目錄)。
• 修複了錯(cuò)誤#75251(缺少程序前綴和後綴)。
• MBSTRING:
• 更新為(wèi)Oniguruma 6.9.0。
• 修正了錯(cuò)誤#65544(mb标題案例大小(xiǎo)寫轉換 - 引文中的第一(yī)個(gè)單詞未大寫)。
• 修正了錯(cuò)誤#71298(MB_CASE_TITLE行為(wèi)錯(cuò)誤,帶有卷曲的省略号/引号)。
• 修複了#73528的錯(cuò)誤(zif_mb_send_mail崩潰)。
• 修複了錯(cuò)誤#74929(與Windows上(shàng)的5.3相(xiàng)比,7.1.1版本的mbstring函數比較慢(màn))。
• 修複了錯(cuò)誤#76319(mb_strtolower與無效的UTF-8導緻分段錯(cuò)誤)。
• 修複了錯(cuò)誤#76574(使用未聲明的标識符INT_MAX和LONG_MAX)。
• 修複了#76594(由于zend_ini.c OnUpdateLong中的未對齊訪問導緻的總線錯(cuò)誤)。
• 修複了錯(cuò)誤#76706(mbstring.http_output_conv_mimetypes被忽略)。
• 修複了錯(cuò)誤#76958(UTF7-IMAP轉換損壞)。
• 修複了#77025錯(cuò)誤(mb_strpos抛出未知編碼或轉換錯(cuò)誤)。
• 修複了錯(cuò)誤#77165(當給出一(yī)個(gè)空數組的參數時,mb_check_encoding崩潰)。
• Mysqlnd:
• 修複了錯(cuò)誤#76386(Prepared Statement 格式化程序截斷日期/時間列的小(xiǎo)數秒(miǎo))。
• ODBC:
• 删除了對ODBCRouter的支持。
• 删除了對Birdstep的支持。
• 修複了#77079的錯(cuò)誤(odbc_fetch_object有不正确的類型簽名)。
• Opcache:
• 修複了錯(cuò)誤#76466(循環變量混亂)。
• 修複了錯(cuò)誤#76463(var具有數組鍵類型但不是值類型)。
• 修正了錯(cuò)誤#76446(zend_variables.c:73:zend_string_destroy:Assertion`!(zval_gc_flags((str) - > gc))。
• 修複了錯(cuò)誤#76711(啓用了OPcache觸發誤報(bào)“非法字符串偏移”)。
• 修正了錯(cuò)誤#77058(opcache中的類型推斷會(huì)導緻副作用)。
• 修複了錯(cuò)誤#77092(array_diff_key() - 分段錯(cuò)誤)。
• OpenSSL的:
• 添加了openssl_pkey_derive函數。
• 添加min_proto_version和max_proto_version ssl流選項以及可能(néng)的TLS協議值的相(xiàng)關常量。
• PCRE:
• 實施https://wiki.php.net/rfc/pcre2-migration。
• 将PCRE2升級到(dào)10.32。
• 修正了錯(cuò)誤#75355(preg_quote()沒有引用#control字符)。
• 修正了錯(cuò)誤#76512(\ w不再包含unicode字符)。
• 修複了錯(cuò)誤#76514(preg_match中的回歸使得它失敗并出現PREG_JIT_STACKLIMIT_ERROR)。
• 修複了錯(cuò)誤#76909(preg_match在7.3和<7.3之間的差異)。
• PDO_DBlib:
• 實現FR #69592(允許自(zì)動跳過0列行集)。
• 在\ PDO實例上(shàng)将TDS版本公開(kāi)為(wèi)\ PDO :: DBLIB_ATTR_TDS_VERSION屬性。
• 像DATETIME一(yī)樣處理DATETIME2列。
• 修複了錯(cuò)誤#74243(允許locales.conf驅動日期時間格式)。
• PDO_Firebird:
• 修複了錯(cuò)誤#74462(對于FIREBIRD> = 3.0,布爾值為(wèi)PDO_Firebird的結果隻返回NULL)。
• PDO_OCI:
• 修正了錯(cuò)誤#74631(PDO_PCO與PHP-FPM:在PHP-FPM設置之前初始化的OCI環境)。
• PDO SQLite:
• 添加對其他打開(kāi)标志(zhì)的支持
• pgSQL的:
• 為(wèi)pg_result_error()添加了新的錯(cuò)誤常量:PGSQL_DIAG_SCHEMA_NAME,PGSQL_DIAG_TABLE_NAME,PGSQL_DIAG_COLUMN_NAME,PGSQL_DIAG_DATATYPE_NAME,PGSQL_DIAG_CONSTRAINT_NAME和PGSQL_DIAG_SEVERITY_NONLOCALIZED。
• 修正了錯(cuò)誤#77047(pg_convert的'TIME WITHOUT TIMEZONE'數據類型的正則表達式已損壞)。
• phar:
• 修複了錯(cuò)誤#74991(include_path在某些情況下(xià)有4096個(gè)char限制)。
• 修正了錯(cuò)誤#65414(正确添加文件(jiàn)時處理前導斜杠)。
• 修複了錯(cuò)誤#77022(PharData始終使用模式0666創建新文件(jiàn))。
• 修複了phar_parse_pharfile中的錯(cuò)誤#77143(堆緩沖區溢出(READ:4))。
• readline:
• 如果鏈接到(dào)libreadline,則為(wèi)readline_info()添加completion_append_character和completion_suppress_append選項。
• Session:
• 修複了錯(cuò)誤#74941(發送标頭後會(huì)話無法啓動)。
• SimpleXML的:
• 修複了錯(cuò)誤#54973(SimpleXML錯(cuò)誤地轉換了整數)。
• 修複了錯(cuò)誤#76712(空字符串的賦值創建了無關的文本節點)。
• 插座:
• 修複了錯(cuò)誤#67619(在socket_write上(shàng)驗證長(cháng)度)。
• 肥皂:
• 修複了錯(cuò)誤#75464(對SoapClient :: __ setSoapHeaders的錯(cuò)誤反映)。
• 修正了錯(cuò)誤#70469(即使使用例外= 1,SoapClient也會(huì)生(shēng)成E_ERROR)。
• 修複了錯(cuò)誤#50675(SoapClient無法正确處理對象引用)。
• 修複了錯(cuò)誤#76348(WSDL_CACHE_MEMORY導緻分段錯(cuò)誤)。
• 修複了錯(cuò)誤#77141(當精度= -1時SOAP中的簽名問題)。
• SPL:
• 修正了錯(cuò)誤#74977(附加AppendIterator會(huì)導緻段錯(cuò)誤)。
• 修複了錯(cuò)誤#75173(foreach循環中AppendIterator::append的錯(cuò)誤行為(wèi))。
• 修複了錯(cuò)誤#74372(帶語法錯(cuò)誤的自(zì)動加載文件(jiàn)使用下(xià)一(yī)個(gè)自(zì)動加載器(qì),可能(néng)隐藏解析錯(cuò)誤)。
• 修複了錯(cuò)誤#75878(RecursiveTreeIterator :: setPostfix有錯(cuò)誤的簽名)。
• 修正了#74519(AppendIterator的奇怪行為(wèi))。
• 修正了錯(cuò)誤#76131(splarray構造函數的不匹配餘量arginfo)。
• SQLite3的:
• 将捆綁的libsqlite更新為(wèi)3.24.0。
• Standard:
• 添加了is_countable()函數。
• 添加了對SameSite cookie指令的支持,包括setcookie(),setrawcookie()和session_set_cookie_params()的替代簽名。
• 從(cóng)inet_ntop()/ inet_pton()中删除多(duō)餘的警告。
• 修複了錯(cuò)誤#75916(DNS_CAA記錄的結果包含垃圾)。
• 修複了unserialize(),通(tōng)過手工(gōng)制作的字符串來禁用不受支持的數據結構的創建。
• 修正了錯(cuò)誤#75409(除了ENOSYS之外還(hái)接受EFAULT作為(wèi)缺少getrandom()的指示)。
• 修正了錯(cuò)誤#74719(fopen()應該接受NULL作為(wèi)環境)。
• 修複了錯(cuò)誤#69948(路(lù)徑/域未在setcookie中清理)。
• 修複了錯(cuò)誤#75996(mt_rand标頭中的url不正确)。
• 添加了hrtime()函數,來獲得高(gāo)分辨率時間。
• 修複了錯(cuò)誤#48016(盡管var_export()使用了stdClass :: __ setState,但未定義它)。
• 修複了錯(cuò)誤#76136(stream_socket_get_name應将IPv6括在括号中)。
• 修複了錯(cuò)誤#76688(禁止在選項數組後過多(duō)的參數)。
• 修複了錯(cuò)誤#76713(屬性損壞導緻的分段錯(cuò)誤)。
• 修正了錯(cuò)誤#76755(setcookie對于過期時間不接受“雙重”類型)。
• 修複了錯(cuò)誤#76674(改進了array_ *失敗消息,揭示了傳遞的内容而不是數組)。
• 修複了錯(cuò)誤#76803(ftruncate更改文件(jiàn)指針)。
• 修複了#76818(内存損壞和段錯(cuò)誤)的問題。
• 修複了錯(cuò)誤#77081(ftruncate()更改在c模式下(xià)搜索指針)。
• Testing:
• 實現了FR #62055(make run-tests.php支持--CGI--部分)。
• Tidy:
• 支持使用tidyp而不是整潔。
• 修正了錯(cuò)誤#74707(Tidy對于整理的函數有不正确的ReflectionFunction參數計數)。
• 修複了tidy :: __ construct()的arginfo。
• Tokenizer:
• 修複了錯(cuò)誤#76437(帶有TOKEN_PARSE标志(zhì)的token_get_all無法識别關閉标記)。
• 修複了錯(cuò)誤#75218(将解析為(wèi)ParseError的剩餘不可捕獲的緻命錯(cuò)誤更改為(wèi)ParseError)。
• 修複了錯(cuò)誤#76538(帶有TOKEN_PARSE标志(zhì)的token_get_all無法識别帶換行符的關閉标記)。
• 修複了錯(cuò)誤#76991(多(duō)個(gè)無效的靈活heredoc字符串的标記錯(cuò)誤)。
• XML:
• 修複了錯(cuò)誤#71592(外部實體處理從(cóng)未失敗)。
• zlib:
• 為(wèi)compress.zlib包裝器(qì)添加了zlib / level context選項。
森之翼博客
技(jì)術(shù)、動态