PHP 5.5.0 released.
程序员文章站
2022-04-23 11:21:54
...
The PHP development team is proud to announce the immediate availability of PHP 5.5.0. This release includes a large number of new features and bug fixes.
The key features of PHP 5.5.0 include:
20-Jun-2013
Drop support for bison Improved Zend Engine:
Added ARMv7/v8 versions of various Zend arithmetic functions that are implemented using inline assembler
Added systemtap support by enabling systemtap compatible dtrace probes on linux
Optimized access to temporary and compiled VM variables. 8% less memory reads
The VM stacks for passing function arguments and syntaticaly nested calls were merged into a single stack. The stack size needed for op_array execution is calculated at compile time and preallocated at once. As result all the stack push operations don't require checks for stack overflow any more
General improvement:
Added generators and coroutines.
Added "finally" keyword.
Added simplified password hashing API.
Added support for constant array/string dereferencing.
Added Class Name Resolution As Scalar Via "class" Keyword
Added support for using empty() on the result of function calls and other expressions
Added support for non-scalar Iterator keys in foreach
Added support for list in foreach
Core:
Added Zend Opcache extension and enable building it by default.
Added array_column function which returns a column in a multidimensional array
Added boolval()
Added "Z" option to pack/unpack
Added optional second argument for assert() to specify custom message
Added support for changing the process's title in CLI/CLI-Server SAPIs. The implementation is more robust that the proctitle PECL module
Improve set_exception_handler while doing reset
Return previous handler when passing NULL to set_error_handler and set_exception_handler
Implemented #64175 (Added HTTP codes as of RFC 6585)
Implemented #60738 (Allow 'set_error_handler' to handle NULL)
Implemented #60524 (specify temp dir by php.ini)
Implemented #46487 (Dereferencing process-handles no longer waits on those processes)
Fixed bug #65051 (count() off by one inside unset())
Fixed bug #64988 (Class loading order affects E_STRICT warning)
Fixed bug #64966 (segfault in zend_do_fcall_common_helper_SPEC)
Fixed bug #64960 (Segfault in gc_zval_possible_root)
Fixed bug #64936 (doc comments picked up from previous scanner run)
Fixed bug #64934 (Apache2 TS crash with get_browser())
Fixed bug #64879 (Heap based buffer overflow in quoted_printable_encode, CVE 2013-2110)
Fixed bug #64853 (Use of no longer available ini directives causes crash on TS build)
Fixed bug #64821 (Custom Exceptions crash when internal properties overridden)
Fixed bug #64720 (SegFault on zend_deactivate).
Fixed bug #64677 (execution operator `` stealing surrounding arguments)
Fixed bug #64660 (Segfault on memory exhaustion within function definition)
Fixed bug #64578 (debug_backtrace in set_error_handler corrupts zend heap: segfault)
Fixed bug #64565 (copy doesn't report failure on partial copy)
Fixed bug #64555 (foreach no longer copies keys if they are interned)
Fixed bug #47675 and Fixed bug #64577 (fd leak on Solaris)
Fixed bug #64544 (Valgrind warnings after using putenv)
Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration)
Fixed bug #64503 (Compilation fails with error: conflicting types for 'zendparse')
Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11)
Fixed bug #64523 allow XOR in php.ini
Fixed bug #64354 (Unserialize array of objects whose class can't be autoloaded fail)
Fixed bug #64370 (microtime(true) less than $_SERVER['REQUEST_TIME_FLOAT'])
Fixed bug #64166 (quoted-printable-encode stream filter incorrectly discarding whitespace)
Fixed bug #64142 (dval to lval different behavior on ppc64)
Fixed bug #64135 (Exceptions from set_error_handler are not always propagated)
Fixed bug #63980 (object members get trimmed by zero bytes)
Fixed bug #63874 (Segfault if php_strip_whitespace has heredoc)
Fixed bug #63830 (Segfault on undefined function call in nested generator)
Fixed bug #63822 (Crash when using closures with ArrayAccess)
Fixed bug #61681 (Malformed grammar)
Fixed bug #61038 (unpack("a5", "str\0\0") does not work as expected)
Fixed bug #61025 (__invoke() visibility not honored)
Fixed bug #60833 (self, parent, static behave inconsistently case-sensitive)
Fixed bug #52126 timestamp for mail.log
Fixed bug #49348 (Uninitialized ++$foo->bar; does not cause a notice)
Fixed bug #23955 allow specifying Max-Age attribute in setcookie()
Fixed bug #18556 (Engine uses locale rules to handle class names)
Fix undefined behavior when converting double variables to integers. The double is now always rounded towards zero, the remainder of its division by 2^32 or 2^64 (depending on sizeof(long)) is calculated and it's made signed assuming a two's complement representation
Removed legacy features:
Remove php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(), zend_logo_guid()
Drop Windows XP and 2003 support
Apache2 Handler SAPI:
Enabled Apache 2.4 configure option for Windows.
Calendar:
Fixed bug #64895 (Integer overflow in SndToJewish).
Fixed bug #54254 (cal_from_jd returns month = 6 when there is only one Adar).
CLI server:
Fixed bug #64128 (buit-in web server is broken on ppc64).
CURL:
Remove curl stream wrappers.
Implemented #46439 - added CURLFile for safer file uploads
Added support for CURLOPT_FTP_RESPONSE_TIMEOUT, CURLOPT_APPEND, CURLOPT_DIRLISTONLY, CURLOPT_NEW_DIRECTORY_PERMS, CURLOPT_NEW_FILE_PERMS, CURLOPT_NETRC_FILE, CURLOPT_PREQUOTE, CURLOPT_KRBLEVEL, CURLOPT_MAXFILESIZE, CURLOPT_FTP_ACCOUNT, CURLOPT_COOKIELIST, CURLOPT_IGNORE_CONTENT_LENGTH, CURLOPT_CONNECT_ONLY, CURLOPT_LOCALPORT, CURLOPT_LOCALPORTRANGE, CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_SSL_SESSIONID_CACHE, CURLOPT_FTP_SSL_CCC, CURLOPT_HTTP_CONTENT_DECODING, CURLOPT_HTTP_TRANSFER_DECODING, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_ADDRESS_SCOPE, CURLOPT_CRLFILE, CURLOPT_ISSUERCERT, CURLOPT_USERNAME, CURLOPT_PASSWORD, CURLOPT_PROXYUSERNAME, CURLOPT_PROXYPASSWORD, CURLOPT_NOPROXY, CURLOPT_SOCKS5_GSSAPI_NEC, CURLOPT_SOCKS5_GSSAPI_SERVICE, CURLOPT_TFTP_BLKSIZE, CURLOPT_SSH_KNOWNHOSTS, CURLOPT_FTP_USE_PRET, CURLOPT_MAIL_FROM, CURLOPT_MAIL_RCPT, CURLOPT_RTSP_CLIENT_CSEQ, CURLOPT_RTSP_SERVER_CSEQ, CURLOPT_RTSP_SESSION_ID, CURLOPT_RTSP_STREAM_URI, CURLOPT_RTSP_TRANSPORT, CURLOPT_RTSP_REQUEST, CURLOPT_RESOLVE, CURLOPT_ACCEPT_ENCODING, CURLOPT_TRANSFER_ENCODING, CURLOPT_DNS_SERVERS and CURLOPT_USE_SSL
Fixed bug #55635 (CURLOPT_BINARYTRANSFER no longer used. The constant still exists for backward compatibility but is doing nothing)
Fixed bug #54995 (Missing CURLINFO_RESPONSE_CODE support)
Added new functions curl_escape, curl_multi_setopt, curl_multi_strerror curl_pause, curl_reset, curl_share_close, curl_share_init, curl_share_setopt curl_strerror and curl_unescape
Addes new curl options CURLOPT_TELNETOPTIONS, CURLOPT_GSSAPI_DELEGATION, CURLOPT_ACCEPTTIMEOUT_MS, CURLOPT_SSL_OPTIONS, CURLOPT_TCP_KEEPALIVE, CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL
DateTime:
Added DateTimeImmutable - a variant of DateTime that only returns the modified state instead of changing itself.
Fixed bug #64825 (Invalid free when unserializing DateTimeZone).
Fixed bug #64359 (strftime crash with VS2012)
Fixed bug #62852 (Unserialize Invalid Date causes crash)
Fixed bug #61642 (modify("+5 weekdays") returns Sunday)
Fixed bug #60774 (DateInterval::format("%a") is always zero when an interval is created using the createFromDateString method)
Fixed bug #54567 (DateTimeZone serialize/unserialize)
Fixed bug #53437 (Crash when using unserialized DatePeriod instance)
dba:
Fixed bug #62489 (dba_insert not working as expected)
Filter:
Implemented #49180 added MAC address validation.
Fileinfo:
Upgraded libmagic to 5.14.
Fixed bug #64830 (mimetype detection segfaults on mp3 file)
Fixed bug #63590 (Different results in TS and NTS under Windows)
Fixed bug #63248 (Load multiple magic files from a directory under Windows)
FPM:
Add --with-fpm-systemd option to report health to systemd, and systemd_interval option to configure this. The service can now use Type=notify in the systemd unit file.
Ignore QUERY_STRING when sent in SCRIPT_FILENAME
Log a warning when a syscall fails
Implemented #64764 (add support for FPM init.d script)
Fixed bug #64915 (error_log ignored when daemonize=0)
Fixed bug #63999 (php with fpm fails to build on Solaris 10 or 11)
Fixed some possible memory or resource leaks and possible null dereference detected by code coverity scan
GD:
Fixed bug #64962 (imagerotate produces corrupted image).
Fixed bug #64961 (segfault in imagesetinterpolation)
Fix build with system libgd >= 2.1 which is now the minimal version required (as build with previous version is broken). No change when bundled libgd is used
Upgraded libgd to 2.1
hash:
Added support for PBKDF2 via hash_pbkdf2().
Fixed bug #64745 (hash_pbkdf2() truncates data when using default length and hex output)
....
http://php.net/ChangeLog-5.php#5.5.0
The key features of PHP 5.5.0 include:
20-Jun-2013
Drop support for bison Improved Zend Engine:
Added ARMv7/v8 versions of various Zend arithmetic functions that are implemented using inline assembler
Added systemtap support by enabling systemtap compatible dtrace probes on linux
Optimized access to temporary and compiled VM variables. 8% less memory reads
The VM stacks for passing function arguments and syntaticaly nested calls were merged into a single stack. The stack size needed for op_array execution is calculated at compile time and preallocated at once. As result all the stack push operations don't require checks for stack overflow any more
General improvement:
Added generators and coroutines.
Added "finally" keyword.
Added simplified password hashing API.
Added support for constant array/string dereferencing.
Added Class Name Resolution As Scalar Via "class" Keyword
Added support for using empty() on the result of function calls and other expressions
Added support for non-scalar Iterator keys in foreach
Added support for list in foreach
Core:
Added Zend Opcache extension and enable building it by default.
Added array_column function which returns a column in a multidimensional array
Added boolval()
Added "Z" option to pack/unpack
Added optional second argument for assert() to specify custom message
Added support for changing the process's title in CLI/CLI-Server SAPIs. The implementation is more robust that the proctitle PECL module
Improve set_exception_handler while doing reset
Return previous handler when passing NULL to set_error_handler and set_exception_handler
Implemented #64175 (Added HTTP codes as of RFC 6585)
Implemented #60738 (Allow 'set_error_handler' to handle NULL)
Implemented #60524 (specify temp dir by php.ini)
Implemented #46487 (Dereferencing process-handles no longer waits on those processes)
Fixed bug #65051 (count() off by one inside unset())
Fixed bug #64988 (Class loading order affects E_STRICT warning)
Fixed bug #64966 (segfault in zend_do_fcall_common_helper_SPEC)
Fixed bug #64960 (Segfault in gc_zval_possible_root)
Fixed bug #64936 (doc comments picked up from previous scanner run)
Fixed bug #64934 (Apache2 TS crash with get_browser())
Fixed bug #64879 (Heap based buffer overflow in quoted_printable_encode, CVE 2013-2110)
Fixed bug #64853 (Use of no longer available ini directives causes crash on TS build)
Fixed bug #64821 (Custom Exceptions crash when internal properties overridden)
Fixed bug #64720 (SegFault on zend_deactivate).
Fixed bug #64677 (execution operator `` stealing surrounding arguments)
Fixed bug #64660 (Segfault on memory exhaustion within function definition)
Fixed bug #64578 (debug_backtrace in set_error_handler corrupts zend heap: segfault)
Fixed bug #64565 (copy doesn't report failure on partial copy)
Fixed bug #64555 (foreach no longer copies keys if they are interned)
Fixed bug #47675 and Fixed bug #64577 (fd leak on Solaris)
Fixed bug #64544 (Valgrind warnings after using putenv)
Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration)
Fixed bug #64503 (Compilation fails with error: conflicting types for 'zendparse')
Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11)
Fixed bug #64523 allow XOR in php.ini
Fixed bug #64354 (Unserialize array of objects whose class can't be autoloaded fail)
Fixed bug #64370 (microtime(true) less than $_SERVER['REQUEST_TIME_FLOAT'])
Fixed bug #64166 (quoted-printable-encode stream filter incorrectly discarding whitespace)
Fixed bug #64142 (dval to lval different behavior on ppc64)
Fixed bug #64135 (Exceptions from set_error_handler are not always propagated)
Fixed bug #63980 (object members get trimmed by zero bytes)
Fixed bug #63874 (Segfault if php_strip_whitespace has heredoc)
Fixed bug #63830 (Segfault on undefined function call in nested generator)
Fixed bug #63822 (Crash when using closures with ArrayAccess)
Fixed bug #61681 (Malformed grammar)
Fixed bug #61038 (unpack("a5", "str\0\0") does not work as expected)
Fixed bug #61025 (__invoke() visibility not honored)
Fixed bug #60833 (self, parent, static behave inconsistently case-sensitive)
Fixed bug #52126 timestamp for mail.log
Fixed bug #49348 (Uninitialized ++$foo->bar; does not cause a notice)
Fixed bug #23955 allow specifying Max-Age attribute in setcookie()
Fixed bug #18556 (Engine uses locale rules to handle class names)
Fix undefined behavior when converting double variables to integers. The double is now always rounded towards zero, the remainder of its division by 2^32 or 2^64 (depending on sizeof(long)) is calculated and it's made signed assuming a two's complement representation
Removed legacy features:
Remove php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(), zend_logo_guid()
Drop Windows XP and 2003 support
Apache2 Handler SAPI:
Enabled Apache 2.4 configure option for Windows.
Calendar:
Fixed bug #64895 (Integer overflow in SndToJewish).
Fixed bug #54254 (cal_from_jd returns month = 6 when there is only one Adar).
CLI server:
Fixed bug #64128 (buit-in web server is broken on ppc64).
CURL:
Remove curl stream wrappers.
Implemented #46439 - added CURLFile for safer file uploads
Added support for CURLOPT_FTP_RESPONSE_TIMEOUT, CURLOPT_APPEND, CURLOPT_DIRLISTONLY, CURLOPT_NEW_DIRECTORY_PERMS, CURLOPT_NEW_FILE_PERMS, CURLOPT_NETRC_FILE, CURLOPT_PREQUOTE, CURLOPT_KRBLEVEL, CURLOPT_MAXFILESIZE, CURLOPT_FTP_ACCOUNT, CURLOPT_COOKIELIST, CURLOPT_IGNORE_CONTENT_LENGTH, CURLOPT_CONNECT_ONLY, CURLOPT_LOCALPORT, CURLOPT_LOCALPORTRANGE, CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_SSL_SESSIONID_CACHE, CURLOPT_FTP_SSL_CCC, CURLOPT_HTTP_CONTENT_DECODING, CURLOPT_HTTP_TRANSFER_DECODING, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_ADDRESS_SCOPE, CURLOPT_CRLFILE, CURLOPT_ISSUERCERT, CURLOPT_USERNAME, CURLOPT_PASSWORD, CURLOPT_PROXYUSERNAME, CURLOPT_PROXYPASSWORD, CURLOPT_NOPROXY, CURLOPT_SOCKS5_GSSAPI_NEC, CURLOPT_SOCKS5_GSSAPI_SERVICE, CURLOPT_TFTP_BLKSIZE, CURLOPT_SSH_KNOWNHOSTS, CURLOPT_FTP_USE_PRET, CURLOPT_MAIL_FROM, CURLOPT_MAIL_RCPT, CURLOPT_RTSP_CLIENT_CSEQ, CURLOPT_RTSP_SERVER_CSEQ, CURLOPT_RTSP_SESSION_ID, CURLOPT_RTSP_STREAM_URI, CURLOPT_RTSP_TRANSPORT, CURLOPT_RTSP_REQUEST, CURLOPT_RESOLVE, CURLOPT_ACCEPT_ENCODING, CURLOPT_TRANSFER_ENCODING, CURLOPT_DNS_SERVERS and CURLOPT_USE_SSL
Fixed bug #55635 (CURLOPT_BINARYTRANSFER no longer used. The constant still exists for backward compatibility but is doing nothing)
Fixed bug #54995 (Missing CURLINFO_RESPONSE_CODE support)
Added new functions curl_escape, curl_multi_setopt, curl_multi_strerror curl_pause, curl_reset, curl_share_close, curl_share_init, curl_share_setopt curl_strerror and curl_unescape
Addes new curl options CURLOPT_TELNETOPTIONS, CURLOPT_GSSAPI_DELEGATION, CURLOPT_ACCEPTTIMEOUT_MS, CURLOPT_SSL_OPTIONS, CURLOPT_TCP_KEEPALIVE, CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL
DateTime:
Added DateTimeImmutable - a variant of DateTime that only returns the modified state instead of changing itself.
Fixed bug #64825 (Invalid free when unserializing DateTimeZone).
Fixed bug #64359 (strftime crash with VS2012)
Fixed bug #62852 (Unserialize Invalid Date causes crash)
Fixed bug #61642 (modify("+5 weekdays") returns Sunday)
Fixed bug #60774 (DateInterval::format("%a") is always zero when an interval is created using the createFromDateString method)
Fixed bug #54567 (DateTimeZone serialize/unserialize)
Fixed bug #53437 (Crash when using unserialized DatePeriod instance)
dba:
Fixed bug #62489 (dba_insert not working as expected)
Filter:
Implemented #49180 added MAC address validation.
Fileinfo:
Upgraded libmagic to 5.14.
Fixed bug #64830 (mimetype detection segfaults on mp3 file)
Fixed bug #63590 (Different results in TS and NTS under Windows)
Fixed bug #63248 (Load multiple magic files from a directory under Windows)
FPM:
Add --with-fpm-systemd option to report health to systemd, and systemd_interval option to configure this. The service can now use Type=notify in the systemd unit file.
Ignore QUERY_STRING when sent in SCRIPT_FILENAME
Log a warning when a syscall fails
Implemented #64764 (add support for FPM init.d script)
Fixed bug #64915 (error_log ignored when daemonize=0)
Fixed bug #63999 (php with fpm fails to build on Solaris 10 or 11)
Fixed some possible memory or resource leaks and possible null dereference detected by code coverity scan
GD:
Fixed bug #64962 (imagerotate produces corrupted image).
Fixed bug #64961 (segfault in imagesetinterpolation)
Fix build with system libgd >= 2.1 which is now the minimal version required (as build with previous version is broken). No change when bundled libgd is used
Upgraded libgd to 2.1
hash:
Added support for PBKDF2 via hash_pbkdf2().
Fixed bug #64745 (hash_pbkdf2() truncates data when using default length and hex output)
....
http://php.net/ChangeLog-5.php#5.5.0
回复讨论(解决方案)
其实楼主是来散分的
依然是不支持 xp 和 window2003 么?
那就没什么意思了
明明是“下里巴人”却偏要扮作“阳春白雪”
我觉得很值得注意的是,php5.5里面有100多处贡献都来自咱们中国人!@Laruence http://www.weibo.com/laruence?page=2&pre_page=1&end_id=3592776740088779&end_msign=-1
希望中国在开源领域有越来越多的人参加并贡献力量,我们做的不应该仅仅是跟随技术的脚本,而是创造出计算机技术的道路~~~
个人饭后感慨,见笑!
表示已经用上5.5正式版了
我觉得很值得注意的是,php5.5里面有100多处贡献都来自咱们中国人!@Laruence http://www.weibo.com/laruence?page=2&pre_page=1&end_id=3592776740088779&end_msign=-1
希望中国在开源领域有越来越多的人参加并贡献力量,我们做的不应该仅仅是跟随技术的脚本,而是创造出计算机技术的道路~~~
个人饭后感慨,见笑!
嗯 咱们人口多 受教育的程度却远远低于别的国家.
依然是不支持 xp 和 window2003 么?
那就没什么意思了
明明是“下里巴人”却偏要扮作“阳春白雪” 大师还有多久升钻呀,,等着给你祝贺哟~~