首页 > php学习 > 30 Jun 2009, PHP 5.3.0 update news

30 Jun 2009, PHP 5.3.0 update news

2013年6月12日 发表评论 阅读评论

30 Jun 2009, PHP 5.3.0
– Upgraded bundled PCRE to version 7.9. (Nuno)
– Upgraded bundled sqlite to version 3.6.15. (Scott)

– Moved extensions to PECL (Derick, Lukas, Pierre, Scott):
. ext/dbase
. ext/fbsql
. ext/fdf
. ext/ncurses
. ext/mhash (BC layer is now entirely within ext/hash)
. ext/ming
. ext/msql
. ext/sybase (not maintained anymore, sybase_ct has to be used instead)

– Removed the experimental RPL (master/slave) functions from mysqli. (Andrey)
– Removed zend.ze1_compatibility_mode. (Dmitry)
– Removed all zend_extension_* php.ini directives. Zend extensions are now
always loaded using zend_extension directive. (Derick)
– Removed special treatment of “/tmp” in sessions for open_basedir.
Note: This undocumented behaviour was introduced in 5.2.2. (Alexey)
– Removed shebang line check from CGI sapi (checked by scanner). (Dmitry)

– Changed PCRE, Reflection and SPL extensions to be always enabled. (Marcus)
– Changed md5() to use improved implementation. (Solar Designer, Dmitry)
– Changed HTTP stream wrapper to accept any code between and including
200 to 399 as successful. (Mike, Noah Fontes)
– Changed __call() to be invoked on private/protected method access, similar to
properties and __get(). (Andrei)
– Changed dl() to be disabled by default. Enabled only when explicitly
registered by the SAPI. Currently enabled with cli, cgi and embed SAPIs.
(Dmitry)
– Changed opendir(), dir() and scandir() to use default context when no context
argument is passed. (Sara)
– Changed open_basedir to allow tightening in runtime contexts. (Sara)
– Changed PHP/Zend extensions to use flexible build IDs. (Stas)
– Changed error level E_ERROR into E_WARNING in Soap extension methods
parameter validation. (Felipe)
– Changed openssl info to show the shared library version number. (Scott)
– Changed floating point behaviour to consistently use double precision on all
platforms and with all compilers. (Christian Seiler)
– Changed round() to act more intuitively when rounding to a certain precision
and round very large and very small exponents correctly. (Christian Seiler)
– Changed session_start() to return false when session startup fails. (Jani)
– Changed property_exists() to check the existence of a property independent of
accessibility (like method_exists()). (Felipe)
– Changed array_reduce() to allow mixed $initial (Christian Seiler)

– Improved PHP syntax and semantics:
. Added lambda functions and closures. (Christian Seiler, Dmitry)
. Added “jump label” operator (limited “goto”). (Dmitry, Sara)
. Added NOWDOC syntax. (Gwynne Raskind, Stas, Dmitry)
. Added HEREDOC syntax with double quotes. (Lars Strojny, Felipe)
. Added support for using static HEREDOCs to initialize static variables and
class members or constants. (Matt)
. Improved syntax highlighting and consistency for variables in double-quoted
strings and literal text in HEREDOCs and backticks. (Matt)
. Added “?:” operator. (Marcus)
. Added support for namespaces. (Dmitry, Stas, Gregory, Marcus)
. Added support for Late Static Binding. (Dmitry, Etienne Kneuss)
. Added support for __callStatic() magic method. (Sara)
. Added forward_static_call(_array) to complete LSB. (Mike Lively)
. Added support for dynamic access of static members using $foo::myFunc().
(Etienne Kneuss)
. Improved checks for callbacks. (Marcus)
. Added __DIR__ constant. (Lars Strojny)
. Added new error modes E_USER_DEPRECATED and E_DEPRECATED.
E_DEPRECATED is used to inform about stuff being scheduled for removal
in future PHP versions. (Lars Strojny, Felipe, Marcus)
. Added “request_order” INI variable to control specifically $_REQUEST
behavior. (Stas)
. Added support for exception linking. (Marcus)
. Added ability to handle exceptions in destructors. (Marcus)

– Improved PHP runtime speed and memory usage:
. Substitute global-scope, persistent constants with their values at compile
time. (Matt)
. Optimized ZEND_SIGNED_MULTIPLY_LONG(). (Matt)
. Removed direct executor recursion. (Dmitry)
. Use fastcall calling convention in executor on x86. (Dmitry)
. Use IS_CV for direct access to $this variable. (Dmitry)
. Use ZEND_FREE() opcode instead of ZEND_SWITCH_FREE(IS_TMP_VAR). (Dmitry)
. Lazy EG(active_symbol_table) initialization. (Dmitry)
. Optimized ZEND_RETURN opcode to not allocate and copy return value if it is
not used. (Dmitry)
. Replaced all flex based scanners with re2c based scanners.
(Marcus, Nuno, Scott)
. Added garbage collector. (David Wang, Dmitry).
. Improved PHP binary size and startup speed with GCC4 visibility control.
(Nuno)
. Improved engine stack implementation for better performance and stability.
(Dmitry)
. Improved memory usage by moving constants to read only memory.
(Dmitry, Pierre)
. Changed exception handling. Now each op_array doesn’t contain
ZEND_HANDLE_EXCEPTION opcode in the end. (Dmitry)
. Optimized require_once() and include_once() by eliminating fopen(3) on
second usage. (Dmitry)
. Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single
ZEND_ADD_INTERFACE opcode. (Dmitry)
. Optimized string searching for a single character.
(Michal Dziemianko, Scott)
. Optimized interpolated strings to use one less opcode. (Matt)

– Improved php.ini handling: (Jani)
. Added “.htaccess” style user-defined php.ini files support for CGI/FastCGI.
. Added support for special [PATH=/opt/httpd/www.example.com/] and
[HOST=www.example.com] sections. Directives set in these sections can
not be overridden by user-defined ini-files or during runtime.
. Added better error reporting for php.ini syntax errors.
. Allowed using full path to load modules using “extension” directive.
. Allowed “ini-variables” to be used almost everywhere ini php.ini files.
. Allowed using alphanumeric/variable indexes in “array” ini options.
. Added 3rd optional parameter to parse_ini_file() to specify the scanning
mode of INI_SCANNER_NORMAL or INI_SCANNER_RAW. In raw mode option values
and section values are treated as-is.
. Fixed get_cfg_var() to be able to return “array” ini options.
. Added optional parameter to ini_get_all() to only retrieve the current
value. (Hannes)

– Improved Windows support:
. Update all libraries to their latest stable version. (Pierre, Rob, Liz,
Garrett).
. Added Windows support for stat(), touch(), filemtime(), filesize() and
related functions. (Pierre)
. Re-added socket_create_pair() for Windows in sockets extension. (Kalle)
. Added inet_pton() and inet_ntop() also for Windows platforms.
(Kalle, Pierre)
. Added mcrypt_create_iv() for Windows platforms. (Pierre)
. Added ACL Cache support on Windows.
(Kanwaljeet Singla, Pierre, Venkat Raman Don)
. Added constants based on Windows’ GetVersionEx information.
PHP_WINDOWS_VERSION_* and PHP_WINDOWS_NT_*. (Pierre)
. Added support for ACL (is_writable, is_readable, reports now correct
results) on Windows. (Pierre, Venkat Raman Don, Kanwaljeet Singla)
. Added support for fnmatch() on Windows. (Pierre)
. Added support for time_nanosleep() and time_sleep_until() on Windows.
(Pierre)
. Added support for symlink(), readlink(), linkinfo() and link() on Windows.
They are available only when the running platform supports them. (Pierre)
. the GMP extension now relies on MPIR instead of the GMP library. (Pierre)
. Added Windows support for stream_socket_pair(). (Kalle)
. Drop all external dependencies for the core features. (Pierre)
. Drastically improve the build procedure (Pierre, Kalle, Rob):
. VC9 (Visual C++ 2008) or later support
. Initial experimental x64 support
. MSI installer now supports all recent Windows versions, including
Windows 7. (John, Kanwaljeet Singla)

– Improved and cleaned CGI code:
. FastCGI is now always enabled and cannot be disabled.
See sapi/cgi/CHANGES for more details. (Dmitry)
. Added CGI SAPI -T option which can be used to measure execution
time of script repeated several times. (Dmitry)

– Improved streams:
. Fixed confusing error message on failure when no errors are logged. (Greg)
. Added stream_supports_lock() function. (Benjamin Schulz)
. Added context parameter for copy() function. (Sara)
. Added “glob://” stream wrapper. (Marcus)
. Added “params” as optional parameter for stream_context_create(). (Sara)
. Added ability to use stream wrappers in include_path. (Gregory, Dmitry)

– Improved DNS API
. Added Windows support for dns_check_record(), dns_get_mx(), checkdnsrr() and
getmxrr(). (Pierre)
. Added support for old style DNS functions (supports OSX and FBSD). (Scott)
. Added a new “entries” array in dns_check_record() containing the TXT
elements. (Felipe, Pierre)

– Improved hash extension:
. Changed mhash to be a wrapper layer around the hash extension. (Scott)
. Added hash_copy() function. (Tony)
. Added sha224 hash algorithm to the hash extension. (Scott)

– Improved IMAP support (Pierre):
. Added imap_gc() to clear the imap cache
. Added imap_utf8_to_mutf7() and imap_mutf7_to_utf8()

– Improved mbstring extension:
. Added “mbstring.http_output_conv_mimetypes” INI directive that allows
common non-text types such as “application/xhtml+xml” to be converted
by mb_output_handler(). (Moriyoshi)

– Improved OCI8 extension (Chris Jones/Oracle Corp.):
. Added Database Resident Connection Pooling (DRCP) and Fast
Application Notification (FAN) support.
. Added support for Oracle External Authentication (not supported
on Windows).
. Improve persistent connection handling of restarted DBs.
. Added SQLT_AFC (aka CHAR datatype) support to oci_bind_by_name.
. Fixed bug #45458 (Numeric keys for associative arrays are not
handled properly)
. Fixed bug #41069 (Segmentation fault with query over DB link).
. Fixed define of SQLT_BDOUBLE and SQLT_BFLOAT constants with Oracle
10g ORACLE_HOME builds.
. Changed default value of oci8.default_prefetch from 10 to 100.
. Fixed PECL Bug #16035 (OCI8: oci_connect without ORACLE_HOME defined causes
segfault) (Chris Jones/Oracle Corp.)
. Fixed PECL Bug #15988 (OCI8: sqlnet.ora isn’t read with older Oracle
libraries) (Chris Jones/Oracle Corp.)
. Fixed PECL Bug #14268 (Allow “pecl install oci8” command to “autodetect” an
Instant Client RPM install) (Chris Jones/Oracle Corp.)
. Fixed PECL bug #12431 (OCI8 ping functionality is broken).
. Allow building (e.g from PECL) the PHP 5.3-based OCI8 code with
PHP 4.3.9 onwards.
. Provide separate extensions for Oracle 11g and 10g on Windows.
(Pierre, Chris)

– Improved OpenSSL extension:
. Added support for OpenSSL digest and cipher functions. (Dmitry)
. Added access to internal values of DSA, RSA and DH keys. (Dmitry)
. Fixed a memory leak on openssl_decrypt(). (Henrique)
. Fixed segfault caused by openssl_pkey_new(). (Henrique)
. Fixed bug caused by uninitilized variables in openssl_pkcs7_encrypt() and
openssl_pkcs7_sign(). (Henrique)
. Fixed error message in openssl_seal(). (Henrique)

– Improved pcntl extension: (Arnaud)
. Added pcntl_signal_dispatch().
. Added pcntl_sigprocmask().
. Added pcntl_sigwaitinfo().
. Added pcntl_sigtimedwait().

– Improved SOAP extension:
. Added support for element names in context of XMLSchema’s . (Dmitry)
. Added ability to use Traversable objects instead of plain arrays.
(Joshua Reese, Dmitry)
. Fixed possible crash bug caused by an uninitialized value. (Zdash Urf)

– Improved SPL extension:
. Added SPL to list of standard extensions that cannot be disabled. (Marcus)
. Added ability to store associative information with objects in
SplObjectStorage. (Marcus)
. Added ArrayAccess support to SplObjectStorage. (Marcus)
. Added SplDoublyLinkedList, SplStack, SplQueue classes. (Etienne)
. Added FilesystemIterator. (Marcus)
. Added GlobIterator. (Marcus)
. Added SplHeap, SplMinHeap, SplMaxHeap, SplPriorityQueue classes. (Etienne)
. Added new parameter $prepend to spl_autoload_register(). (Etienne)
. Added SplFixedArray. (Etienne, Tony)
. Added delaying exceptions in SPL’s autoload mechanism. (Marcus)
. Added RecursiveTreeIterator. (Arnaud, Marcus)
. Added MultipleIterator. (Arnaud, Marcus, Johannes)

– Improved Zend Engine:
. Added “compact” handler for Zend MM storage. (Dmitry)
. Added “+” and “*” specifiers to zend_parse_parameters(). (Andrei)
. Added concept of “delayed early binding” that allows opcode caches to
perform class declaration (early and/or run-time binding) in exactly
the same order as vanilla PHP. (Dmitry)

– Improved crypt() function: (Pierre)
. Added Blowfish and extended DES support. (Using Blowfish implementation
from Solar Designer).
. Made crypt features portable by providing our own implementations
for crypt_r and the algorithms which are used when OS does not provide
them. PHP implementations are always used for Windows builds.

– Deprecated session_register(), session_unregister() and
session_is_registered(). (Hannes)
– Deprecated define_syslog_variables(). (Kalle)
– Deprecated ereg extension. (Felipe)

– Added new extensions:
. Added Enchant extension as a way to access spell checkers. (Pierre)
. Added fileinfo extension as replacement for mime_magic extension. (Derick)
. Added intl extension for Internationalization. (Ed B., Vladimir I.,
Dmitry L., Stanislav M., Vadim S., Kirti V.)
. Added mysqlnd extension as replacement for libmysql for ext/mysql, mysqli
and PDO_mysql. (Andrey, Johannes, Ulf)
. Added phar extension for handling PHP Archives. (Greg, Marcus, Steph)
. Added SQLite3 extension. (Scott)

– Added new date/time functionality: (Derick)
. date_parse_from_format(): Parse date/time strings according to a format.
. date_create_from_format()/DateTime::createFromFormat(): Create a date/time
object by parsing a date/time string according to a given format.
. date_get_last_errors()/DateTime::getLastErrors(): Return a list of warnings
and errors that were found while parsing a date/time string through:
. strtotime() / new DateTime
. date_create_from_format() / DateTime::createFromFormat()
. date_parse_from_format().
. support for abbreviation and offset based timezone specifiers for
the ‘e’ format specifier, DateTime::__construct(), DateTime::getTimeZone()
and DateTimeZone::getName().
. support for selectively listing timezone identifiers by continent or
country code through timezone_identifiers_list() /
DateTimezone::listIdentifiers().
. timezone_location_get() / DateTimezone::getLocation() for retrieving
location information from timezones.
. date_timestamp_set() / DateTime::setTimestamp() to set a Unix timestamp
without invoking the date parser. (Scott, Derick)
. date_timestamp_get() / DateTime::getTimestamp() to retrieve the Unix
timestamp belonging to a date object.
. two optional parameters to timezone_transitions_get() /
DateTimeZone::getTranstions() to limit the range of transitions being
returned.
. support for “first/last day of ” style texts.
. support for date/time strings returned by MS SQL.
. support for serialization and unserialization of DateTime objects.
. support for diffing date/times through date_diff() / DateTime::diff().
. support for adding/subtracting weekdays with strtotime() and
DateTime::modify().
. DateInterval class to represent the difference between two date/times.
. support for parsing ISO intervals for use with DateInterval.
. date_add() / DateTime::add(), date_sub() / DateTime::sub() for applying an
interval to an existing date/time.
. proper support for “this week”, “previous week”/”last week” and “next week”
phrases so that they actually mean the week and not a seven day period
around the current day.
. support for “ of” and “last of” phrases to be used
with months – like in “last saturday of februari 2008”.
. support for “back of ” and “front of ” phrases that are used in
Scotland.
. DatePeriod class which supports iterating over a DateTime object applying
DateInterval on each iteration, up to an end date or limited by maximum
number of occurences.

– Added compatibility mode in GD, imagerotate, image(filled)ellipse
imagefilter, imageconvolution and imagecolormatch are now always enabled.
(Pierre)
– Added array_replace() and array_replace_recursive() functions. (Matt)
– Added ReflectionProperty::setAccessible() method that allows non-public
property’s values to be read through ::getValue() and set through
::setValue(). (Derick, Sebastian)
– Added msg_queue_exists() function to sysvmsg extension. (Benjamin Schulz)
– Added Firebird specific attributes that can be set via PDO::setAttribute()
to control formatting of date/timestamp columns: PDO::FB_ATTR_DATE_FORMAT,
PDO::FB_ATTR_TIME_FORMAT and PDO::FB_ATTR_TIMESTAMP_FORMAT. (Lars W)
– Added gmp_testbit() function. (Stas)
– Added icon format support to getimagesize(). (Scott)
– Added LDAP_OPT_NETWORK_TIMEOUT option for ldap_set_option() to allow
setting network timeout (FR #42837). (Jani)
– Added optional escape character parameter to fgetcsv(). (David Soria Parra)
– Added an optional parameter to strstr() and stristr() for retrieval of either
the part of haystack before or after first occurrence of needle.
(Johannes, Felipe)
– Added xsl->setProfiling() for profiling stylesheets. (Christian)
– Added long-option feature to getopt() and made getopt() available also on
win32 systems by adding a common getopt implementation into core.
(David Soria Parra, Jani)
– Added support for optional values, and = as separator, in getopt(). (Hannes)
– Added lcfirst() function. (David C)
– Added PREG_BAD_UTF8_OFFSET_ERROR constant. (Nuno)
– Added native support for asinh(), acosh(), atanh(), log1p() and expm1().
(Kalle)
– Added LIBXML_LOADED_VERSION constant (libxml2 version currently used). (Rob)
– Added JSON_FORCE_OBJECT flag to json_encode(). (Scott, Richard Quadling)
– Added timezone_version_get() to retrieve the version of the used timezone
database. (Derick)
– Added ‘n’ flag to fopen to allow passing O_NONBLOCK to the underlying
open(2) system call. (Mikko)
– Added “dechunk” filter which can decode HTTP responses with chunked
transfer-encoding. HTTP streams use this filter automatically in case
“Transfer-Encoding: chunked” header is present in response. It’s possible to
disable this behaviour using “http”=>array(“auto_decode”=>0) in stream
context. (Dmitry)
– Added support for CP850 encoding in mbstring extension.
(Denis Giffeler, Moriyoshi)
– Added stream_cast() and stream_set_options() to user-space stream wrappers,
allowing stream_select(), stream_set_blocking(), stream_set_timeout() and
stream_set_write_buffer() to work with user-space stream wrappers. (Arnaud)
– Added header_remove() function. (chsc at peytz dot dk, Arnaud)
– Added stream_context_get_params() function. (Arnaud)
– Added optional parameter “new” to sybase_connect(). (Timm)
– Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud)
– Added str_getcsv() function. (Sara)
– Added openssl_random_pseudo_bytes() function. (Scott)
– Added ability to send user defined HTTP headers with SOAP request.
(Brian J.France, Dmitry)
– Added concatenation option to bz2.decompress stream filter.
(Keisial at gmail dot com, Greg)
– Added support for using compressed connections with PDO_mysql. (Johannes)
– Added the ability for json_decode() to take a user specified depth. (Scott)
– Added support for the mysql_stmt_next_result() function from libmysql.
(Andrey)
– Added function preg_filter() that does grep and replace in one go. (Marcus)
– Added system independent realpath() implementation which caches intermediate
directories in realpath-cache. (Dmitry)
– Added optional clear_realpath_cache and filename parameters to
clearstatcache(). (Jani, Arnaud)
– Added litespeed SAPI module. (George Wang)
– Added ext/hash support to ext/session’s ID generator. (Sara)
– Added quoted_printable_encode() function. (Tony)
– Added stream_context_set_default() function. (Davey Shafik)
– Added optional “is_xhtml” parameter to nl2br() which makes the function
output
when false and
when true (FR #34381). (Kalle)
– Added PHP_MAXPATHLEN constant (maximum length of a path). (Pierre)
– Added support for SSH via libssh2 in cURL. (Pierre)
– Added support for gray levels PNG image with alpha in GD extension. (Pierre)
– Added support for salsa hashing functions in HASH extension. (Scott)
– Added DOMNode::getLineNo to get line number of parsed node. (Rob)
– Added table info to PDO::getColumnMeta() with SQLite. (Martin Jansen, Scott)
– Added mail logging functionality that allows logging of mail sent via
mail() function. (Ilia)
– Added json_last_error() to return any error information from json_decode().
(Scott)
– Added gethostname() to return the current system host name. (Ilia)
– Added shm_has_var() function. (Mike)
– Added depth parameter to json_decode() to lower the nesting depth from the
maximum if required. (Scott)
– Added pixelation support in imagefilter(). (Takeshi Abe, Kalle)
– Added SplObjectStorage::addAll/removeAll. (Etienne)

– Implemented FR #41712 (curl progress callback: CURLOPT_PROGRESSFUNCTION).
(sdteffen[at]gmail[dot].com, Pierre)
– Implemented FR #47739 (Missing cURL option do disable IPv6). (Pierre)
– Implemented FR #39637 (Missing cURL option CURLOPT_FTP_FILEMETHOD). (Pierre)

– Fixed an issue with ReflectionProperty::setAccessible().
(Sebastian, Roman Borschel)
– Fixed html_entity_decode() incorrectly converting numeric html entities
to different characters with cp1251 and cp866. (Scott)
– Fixed an issue in date() where a : was printed for the O modifier after a P
modifier was used. (Derick)
– Fixed exec() on Windows to not eat the first and last double quotes. (Scott)
– Fixed readlink on Windows in thread safe SAPI (apache2.x etc.). (Pierre)
– Fixed a bug causing miscalculations with the “last of month”
relative time string. (Derick)
– Fixed bug causing the algorithm parameter of mhash() to be modified. (Scott)
– Fixed invalid calls to free when internal fileinfo magic file is used. (Scott)
– Fixed memory leak inside wddx_add_vars() function. (Felipe)
– Fixed check in recode extension to allow builing of recode and mysql
extensions when using a recent libmysql. (Johannes)

– Fixed PECL bug #12794 (PDOStatement->nextRowset() doesn’t work). (Johannes)
– Fixed PECL bug #12401 (Add support for ATTR_FETCH_TABLE_NAMES). (Johannes)

– Fixed bug #48696 (ldap_read() segfaults with invalid parameters). (Felipe)
– Fixed bug #48643 (String functions memory issue). (Dmitry)
– Fixed bug #48641 (tmpfile() uses old parameter parsing).
(crrodriguez at opensuse dot org)
– Fixed bug #48624 (.user.ini never gets parsed). (Pierre)
– Fixed bug #48620 (X-PHP-Originating-Script assumes no trailing CRLF in
existing headers). (Ilia)
– Fixed bug #48578 (Can’t build 5.3 on FBSD 4.11). (Rasmus)
– Fixed bug #48535 (file_exists returns false when impersonate is used).
(Kanwaljeet Singla, Venkat Raman Don)
– Fixed bug #48493 (spl_autoload_register() doesn’t work correctly when
prepending functions). (Scott)
– Fixed bug #48215 (Calling a method with the same name as the parent class
calls the constructor). (Scott)
– Fixed bug #48200 (compile failure with mbstring.c when
–enable-zend-multibyte is used). (Jani)
– Fixed bug #48188 (Cannot execute a scrollable cursors twice with PDO_PGSQL).
(Matteo)
– Fixed bug #48185 (warning: value computed is not used in
pdo_sqlite_stmt_get_col line 271). (Matteo)
– Fixed bug #48087 (call_user_method() invalid free of arguments). (Felipe)
– Fixed bug #48060 (pdo_pgsql – large objects are returned as empty). (Matteo)
– Fixed bug #48034 (PHP crashes when script is 8192 (8KB) bytes long). (Dmitry)
– Fixed bug #48004 (Error handler prevents creation of default object). (Dmitry)
– Fixed bug #47880 (crashes in call_user_func_array()). (Dmitry)
– Fixed bug #47856 (stristr() converts needle to lower-case). (Ilia)
– Fixed bug #47851 (is_callable throws fatal error). (Dmitry)
– Fixed bug #47816 (pcntl tests failing on NetBSD). (Matteo)
– Fixed bug #47779 (Wrong value for SIG_UNBLOCK and SIG_SETMASK constants).
(Matteo)
– Fixed bug #47771 (Exception during object construction from arg call calls
object’s destructor). (Dmitry)
– Fixed bug #47767 (include_once does not resolve windows symlinks or junctions)
(Kanwaljeet Singla, Venkat Raman Don)
– Fixed bug #47757 (rename JPG to JPEG in phpinfo). (Pierre)
– Fixed bug #47745 (FILTER_VALIDATE_INT doesn’t allow minimum integer). (Dmitry)
– Fixed bug #47714 (autoloading classes inside exception_handler leads to
crashes). (Dmitry)
– Fixed bug #47671 (Cloning SplObjectStorage instances). (Etienne)
– Fixed bug #47664 (get_class returns NULL instead of FALSE). (Dmitry)
– Fixed bug #47662 (Support more than 127 subpatterns in preg_match). (Nuno)
– Fixed bug #47596 (Bus error on parsing file). (Dmitry)
– Fixed bug #47572 (Undefined constant causes segmentation fault). (Felipe)
– Fixed bug #47560 (explode()’s limit parameter odd behaviour). (Matt)
– Fixed bug #47549 (get_defined_constants() return array with broken array
categories). (Ilia)
– Fixed bug #47535 (Compilation failure in ps_fetch_from_1_to_8_bytes()).
(Johannes)
– Fixed bug #47534 (RecursiveDiteratoryIterator::getChildren ignoring
CURRENT_AS_PATHNAME). (Etienne)
– Fixed bug #47443 (metaphone(‘scratch’) returns wrong result). (Felipe)
– Fixed bug #47438 (mysql_fetch_field ignores zero offset). (Johannes)
– Fixed bug #47398 (PDO_Firebird doesn’t implements quoter correctly). (Felipe)
– Fixed bug #47390 (odbc_fetch_into – BC in php 5.3.0). (Felipe)
– Fixed bug #47359 (Use the expected unofficial mimetype for bmp files). (Scott)
– Fixed bug #47343 (gc_collect_cycles causes a segfault when called within a
destructor in one case). (Dmitry)
– Fixed bug #47320 ($php_errormsg out of scope in functions). (Dmitry)
– Fixed bug #47318 (UMR when trying to activate user config). (Pierre)
– Fixed bug #47243 (OCI8: Crash at shutdown on Windows) (Chris Jones/Oracle
Corp.)
– Fixed bug #47231 (offsetGet error using incorrect offset). (Etienne)
– Fixed bug #47229 (preg_quote() should escape the ‘-‘ char). (Nuno)
– Fixed bug #47165 (Possible memory corruption when passing return value by
reference). (Dmitry)
– Fixed bug #47087 (Second parameter of mssql_fetch_array()). (Felipe)
– Fixed bug #47085 (rename() returns true even if the file in PHAR does not
exist). (Greg)
– Fixed bug #47050 (mysqli_poll() modifies improper variables). (Johannes)
– Fixed bug #47045 (SplObjectStorage instances compared with ==). (Etienne)
– Fixed bug #47038 (Memory leak in include). (Dmitry)
– Fixed bug #47031 (Fix constants in DualIterator example). (Etienne)
– Fixed bug #47021 (SoapClient stumbles over WSDL delivered with
“Transfer-Encoding: chunked”). (Dmitry)
– Fixed bug #46994 (OCI8: CLOB size does not update when using CLOB IN OUT param
in stored procedure) (Chris Jones/Oracle Corp.)
– Fixed bug #46979 (use with non-compound name *has* effect). (Dmitry)
– Fixed bug #46957 (The tokenizer returns deprecated values). (Felipe)
– Fixed bug #46944 (UTF-8 characters outside the BMP aren’t encoded correctly).
(Scott)
– Fixed bug #46897 (ob_flush() should fail to flush unerasable buffers).
(David C.)
– Fixed bug #46849 (Cloning DOMDocument doesn’t clone the properties). (Rob)
– Fixed bug #46847 (phpinfo() is missing some settings). (Hannes)
– Fixed bug #46844 (php scripts or included files with first line starting
with # have the 1st line missed from the output). (Ilia)
– Fixed bug #46817 (tokenizer misses last single-line comment (PHP 5.3+, with
re2c lexer)). (Matt, Shire)
– Fixed bug #46811 (ini_set() doesn’t return false on failure). (Hannes)
– Fixed bug #46763 (mb_stristr() wrong output when needle does not exist).
(Henrique M. Decaria)
– Fixed bug #46755 (warning: use statement with non-compound name). (Dmitry)
– Fixed bug #46746 (xmlrpc_decode_request outputs non-suppressable error when
given bad data). (Ilia)
– Fixed bug #46738 (Segfault when mb_detect_encoding() fails). (Scott)
– Fixed bug #46731 (Missing validation for the options parameter of the
imap_fetch_overview() function). (Ilia)
– Fixed bug #46711 (cURL curl_setopt leaks memory in foreach loops). (magicaltux
[at] php [dot] net)
– Fixed bug #46701 (Creating associative array with long values in the key fails
on 32bit linux). (Shire)
– Fixed bug #46681 (mkdir() fails silently on PHP 5.3). (Hannes)
– Fixed bug #46653 (can’t extend mysqli). (Johannes)
– Fixed bug #46646 (Restrict serialization on some internal classes like Closure
and SplFileInfo using exceptions). (Etienne)
– Fixed bug #46623 (OCI8: phpinfo doesn’t show compile time ORACLE_HOME with
phpize) (Chris Jones/Oracle Corp.)
– Fixed bug #46578 (strip_tags() does not honor end-of-comment when it
encounters a single quote). (Felipe)
– Fixed bug #46546 (Segmentation fault when using declare statement with
non-string value). (Felipe)
– Fixed bug #46542 (Extending PDO class with a __call() function doesn’t work as
expected). (Johannes)
– Fixed bug #46421 (SplFileInfo not correctly handling /). (Etienne)
– Fixed bug #46347 (parse_ini_file() doesn’t support * in keys). (Nuno)
– Fixed bug #46268 (DateTime::modify() does not reset relative time values).
(Derick)
– Fixed bug #46241 (stacked error handlers, internal error handling in general).
(Etienne)
– Fixed bug #46238 (Segmentation fault on static call with empty string method).
(Felipe)
– Fixed bug #46192 (ArrayObject with objects as storage serialization).
(Etienne)
– Fixed bug #46185 (importNode changes the namespace of an XML element). (Rob)
– Fixed bug #46178 (memory leak in ext/phar). (Greg)
– Fixed bug #46160 (SPL – Memory leak when exception is thrown in offsetSet).
(Felipe)
– Fixed Bug #46147 (after stream seek, appending stream filter reads incorrect
data). (Greg)
– Fixed bug #46127 (php_openssl_tcp_sockop_accept forgets to set context on
accepted stream) (Mark Karpeles, Pierre)
– Fixed bug #46115 (Memory leak when calling a method using Reflection).
(Dmitry)
– Fixed bug #46110 (XMLWriter – openmemory() and openuri() leak memory on
multiple calls). (Ilia)
– Fixed bug #46108 (DateTime – Memory leak when unserializing). (Felipe)
– Fixed bug #46106 (Memory leaks when using global statement). (Dmitry)
– Fixed bug #46099 (Xsltprocessor::setProfiling – memory leak). (Felipe, Rob).
– Fixed bug #46087 (DOMXPath – segfault on destruction of a cloned object).
(Ilia)
– Fixed bug #46048 (SimpleXML top-level @attributes not part of iterator).
(David C.)
– Fixed bug #46044 (Mysqli – wrong error message). (Johannes)
– Fixed bug #46042 (memory leaks with reflection of mb_convert_encoding()).
(Ilia)
– Fixed bug #46039 (ArrayObject iteration is slow). (Arnaud)
– Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause
a segfault.) (Scott)
– Fixed bug #45991 (Ini files with the UTF-8 BOM are treated as invalid).
(Scott)
– Fixed bug #45989 (json_decode() doesn’t return NULL on certain invalid
strings). (magicaltux, Scott)
– Fixed bug #45976 (Moved SXE from SPL to SimpleXML). (Etienne)
– Fixed bug #45928 (large scripts from stdin are stripped at 16K border).
(Christian Schneider, Arnaud)
– Fixed bug #45911 (Cannot disable ext/hash). (Arnaud)
– Fixed bug #45907 (undefined reference to ‘PHP_SHA512Init’). (Greg)
– Fixed bug #45826 (custom ArrayObject serialization). (Etienne)
– Fixed bug #45820 (Allow empty keys in ArrayObject). (Etienne)
– Fixed bug #45791 (json_decode() doesn’t convert 0e0 to a double). (Scott)
– Fixed bug #45786 (FastCGI process exited unexpectedly). (Dmitry)
– Fixed bug #45757 (FreeBSD4.11 build failure: failed include; stdint.h).
(Hannes)
– Fixed bug #45743 (property_exists fails to find static protected member in
child class). (Felipe)
– Fixed bug #45717 (Fileinfo/libmagic build fails, missing err.h and getopt.h).
(Derick)
– Fixed bug #45706 (Unserialization of classes derived from ArrayIterator
fails). (Etienne, Dmitry)
– Fixed bug #45696 (Not all DateTime methods allow method chaining). (Derick)
– Fixed bug #45682 (Unable to var_dump(DateInterval)). (Derick)
– Fixed bug #45447 (Filesystem time functions on Vista and server 2008).
(Pierre)
– Fixed bug #45432 (PDO: persistent connection leak). (Felipe)
– Fixed bug #45392 (ob_start()/ob_end_clean() and memory_limit). (Ilia)
– Fixed bug #45384 (parse_ini_file will result in parse error with no trailing
newline). (Arnaud)
– Fixed bug #45382 (timeout bug in stream_socket_enable_crypto). (vnegrier at
optilian dot com, Ilia)
– Fixed bug #45044 (relative paths not resolved correctly). (Dmitry)
– Fixed bug #44861 (scrollable cursor don’t work with pgsql). (Matteo)
– Fixed bug #44842 (parse_ini_file keys that start/end with underscore).
(Arnaud)
– Fixed bug #44575 (parse_ini_file comment # line problems). (Arnaud)
– Fixed bug #44409 (PDO::FETCH_SERIALIZE calls __construct()). (Matteo)
– Fixed bug #44173 (PDO->query() parameter parsing/checking needs an update).
(Matteo)
– Fixed bug #44154 (pdo->errorInfo() always have three elements in the returned
array). (David C.)
– Fixed bug #44153 (pdo->errorCode() returns NULL when there are no errors).
(David C.)
– Fixed bug #44135 (PDO MySQL does not support CLIENT_FOUND_ROWS). (Johannes,
chx1975 at gmail dot com)
– Fixed bug #44100 (Inconsistent handling of static array declarations with
duplicate keys). (Dmitry)
– Fixed bug #43831 ($this gets mangled when extending PDO with persistent
connection). (Felipe)
– Fixed bug #43817 (opendir() fails on Windows directories with parent directory
unaccessible). (Dmitry)
– Fixed bug #43069 (SoapClient causes 505 HTTP Version not supported error
message). (Dmitry)
– Fixed bug #43008 (php://filter uris ignore url encoded filternames and can’t
handle slashes). (Arnaud)
– Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped).
(Scott, Edward Z. Yang)
– Fixed bug #41874 (separate STDOUT and STDERR in exec functions). (Kanwaljeet
Singla, Venkat Raman Don, Pierre)
– Fixed bug #41534 (SoapClient over HTTPS fails to reestablish connection).
(Dmitry)
– Fixed bug #38802 (max_redirects and ignore_errors). (patch by
datibbaw@php.net)
– Fixed bug #35980 (touch() works on files but not on directories). (Pierre)

17 Jun 2009, PHP 5.2.10
– Updated timezone database to version 2009.9 (2009i) (Derick)

– Added “ignore_errors” option to http fopen wrapper. (David Zulke, Sara)
– Added new CURL options CURLOPT_REDIR_PROTOCOLS, CURLOPT_PROTOCOLS,
and CURLPROTO_* for redirect fixes in CURL 7.19.4. (Yoram Bar Haim, Stas)
– Added support for Sun CC (FR #46595 and FR #46513). (David Soria Parra)

– Changed default value of array_unique()’s optional sorting type parameter
back to SORT_STRING to fix backwards compatibility breakage introduced in
PHP 5.2.9. (Moriyoshi)

– Fixed memory corruptions while reading properties of zip files. (Ilia)
– Fixed memory leak in ob_get_clean/ob_get_flush. (Christian)
– Fixed segfault on invalid session.save_path. (Hannes)
– Fixed leaks in imap when a mail_criteria is used. (Pierre)
– Fixed missing erealloc() in fix for Bug #40091 in spl_autoload_register. (Greg)

– Fixed bug #48562 (Reference recursion causes segfault when used in
wddx_serialize_vars()). (Felipe)
– Fixed bug #48557 (Numeric string keys in Apache Hashmaps are not cast to
integers). (David Zuelke)
– Fixed bug #48518 (curl crashes when writing into invalid file handle). (Tony)
– Fixed bug #48514 (cURL extension uses same resource name for simple and
multi APIs). (Felipe)
– Fixed bug #48469 (ldap_get_entries() leaks memory on empty search
results). (Patrick)
– Fixed bug #48456 (CPPFLAGS not restored properly in phpize.m4). (Jani,
spisek at kerio dot com)
– Fixed bug #48448 (Compile failure under IRIX 6.5.30 building cast.c).
(Kalle)
– Fixed bug #48441 (ldap_search() sizelimit, timelimit and deref options
persist). (Patrick)
– Fixed bug #48434 (Improve memory_get_usage() accuracy). (Arnaud)
– Fixed bug #48416 (Force a cache limit in ereg() to stop excessive memory
usage). (Scott)
– Fixed bug #48409 (Crash when exception is thrown while passing function
arguments). (Arnaud)
– Fixed bug #48378 (exif_read_data() segfaults on certain corrupted .jpeg
files). (Pierre)
– Fixed bug #48359 (Script hangs on snmprealwalk if OID is not increasing).
(Ilia, simonov at gmail dot com)
– Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not work
with redeclared property).
(patch by Markus dot Lidel at shadowconnect dot com)
– Fixed bug #48326 (constant MSG_DONTWAIT not defined). (Arnaud)
– Fixed bug #48313 (fgetcsv() does not return null for empty rows). (Ilia)
– Fixed bug #48309 (stream_copy_to_stream() and fpasstru() do not update
stream position of plain files). (Arnaud)
– Fixed bug #48307 (stream_copy_to_stream() copies 0 bytes when $source is a
socket). (Arnaud)
– Fixed bug #48273 (snmp*_real_walk() returns SNMP errors as values).
(Ilia, lytboris at gmail dot com)
– Fixed bug #48256 (Crash due to double-linking of history.o).
(tstarling at wikimedia dot org)
– Fixed bug #48248 (SIGSEGV when access to private property via &__get).
(Felipe)
– Fixed bug #48247 (Crash on errors during startup). (Stas)
– Fixed bug #48240 (DBA Segmentation fault dba_nextkey). (Felipe)
– Fixed bug #48224 (Incorrect shuffle in array_rand). (Etienne)
– Fixed bug #48221 (memory leak when passing invalid xslt parameter).
(Felipe)
– Fixed bug #48207 (CURLOPT_(FILE|WRITEHEADER options do not error out when
working with a non-writable stream). (Ilia)
– Fixed bug #48206 (Iterating over an invalid data structure with
RecursiveIteratorIterator leads to a segfault). (Scott)
– Fixed bug #48204 (xmlwriter_open_uri() does not emit warnings on invalid
paths). (Ilia)
– Fixed bug #48203 (Crash when CURLOPT_STDERR is set to regular file). (Jani)
– Fixed bug #48202 (Out of Memory error message when passing invalid file
path) (Pierre)
– Fixed bug #48156 (Added support for lcov v1.7). (Ilia)
– Fixed bug #48132 (configure check for curl ssl support fails with
–disable-rpath). (Jani)
– Fixed bug #48131 (Don’t try to bind ipv4 addresses to ipv6 ips via bindto).
(Ilia)
– Fixed bug #48070 (PDO_OCI: Segfault when using persistent connection).
(Pierre, Matteo, jarismar dot php at gmail dot com)
– Fixed bug #48058 (Year formatter goes wrong with out-of-int range). (Derick)
– Fixed bug #48038 (odbc_execute changes variables used to form params array).
(Felipe)
– Fixed bug #47997 (stream_copy_to_stream returns 1 on empty streams). (Arnaud)
– Fixed bug #47991 (SSL streams fail if error stack contains items). (Mikko)
– Fixed bug #47981 (error handler not called regardless). (Hannes)
– Fixed bug #47969 (ezmlm_hash() returns different values depend on OS). (Ilia)
– Fixed bug #47946 (ImageConvolution overwrites background). (Ilia)
– Fixed bug #47940 (memory leaks in imap_body). (Pierre, Jake Levitt)
– Fixed bug #47937 (system() calls sapi_flush() regardless of output
buffering). (Ilia)
– Fixed bug #47903 (“@” operator does not work with string offsets). (Felipe)
– Fixed bug #47893 (CLI aborts on non blocking stdout). (Arnaud)
– Fixed bug #47849 (Non-deep import loses the namespace). (Rob)
– Fixed bug #47845 (PDO_Firebird omits first row from query). (Lars W)
– Fixed bug #47836 (array operator [] inconsistency when the array has
PHP_INT_MAX index value). (Matt)
– Fixed bug #47831 (Compile warning for strnlen() in main/spprintf.c).
(Ilia, rainer dot jung at kippdata dot de)
– Fixed bug #47828 (openssl_x509_parse() segfaults when a UTF-8 conversion
fails). (Scott, Kees Cook, Pierre)
– Fixed bug #47818 (Segfault due to bound callback param). (Felipe)
– Fixed bug #47801 (__call() accessed via parent:: operator is provided
incorrect method name). (Felipe)
– Fixed bug #47769 (Strange extends PDO). (Felipe)
– Fixed bug #47745 (FILTER_VALIDATE_INT doesn’t allow minimum integer).
(Dmitry)
– Fixed bug #47721 (Alignment issues in mbstring and sysvshm extension).
(crrodriguez at opensuse dot org, Ilia)
– Fixed bug #47704 (PHP crashes on some “bad” operations with string
offsets). (Dmitry)
– Fixed bug #47695 (build error when xmlrpc and iconv are compiled against
different iconv versions). (Scott)
– Fixed bug #47667 (ZipArchive::OVERWRITE seems to have no effect).
(Mikko, Pierre)
– Fixed bug #47644 (Valid integers are truncated with json_decode()). (Scott)
– Fixed bug #47639 (pg_copy_from() WARNING: nonstandard use of \\ in a
string literal). (Ilia)
– Fixed bug #47616 (curl keeps crashing). (Felipe)
– Fixed bug #47598 (FILTER_VALIDATE_EMAIL is locale aware). (Ilia)
– Fixed bug #47566 (pcntl_wexitstatus() returns signed status).
(patch by james at jamesreno dot com)
– Fixed bug #47564 (unpacking unsigned long 32bit bit endian returns wrong
result). (Ilia)
– Fixed bug #47487 (performance degraded when reading large chunks after
fix of bug #44607). (Arnaud)
– Fixed bug #47468 (enable cli|cgi-only extensions for embed sapi). (Jani)
– Fixed bug #47435 (FILTER_FLAG_NO_PRIV_RANGE does not work with ipv6
addresses in the filter extension). (Ilia)
– Fixed bug #47430 (Errors after writing to nodeValue parameter of an absent
previousSibling). (Rob)
– Fixed bug #47365 (ip2long() may allow some invalid values on certain 64bit
systems). (Ilia)
– Fixed bug #47254 (Wrong Reflection for extends class). (Felipe)
– Fixed bug #47042 (cgi sapi is incorrectly removing SCRIPT_FILENAME).
(Sriram Natarajan, David Soria Parra)
– Fixed bug #46882 (Serialize / Unserialize misbehaviour under OS with
different bit numbers). (Matt)
– Fixed bug #46812 (get_class_vars() does not include visible private variable
looking at subclass). (Arnaud)
– Fixed bug #46386 (Digest authentication with SOAP module fails against MSSQL
SOAP services). (Ilia, lordelph at gmail dot com)
– Fixed bug #46109 (Memory leak when mysqli::init() is called multiple times).
(Andrey)
– Fixed bug #45997 (safe_mode bypass with exec/system/passthru (windows only)).
(Pierre)
– Fixed bug #45877 (Array key ‘2147483647’ left as string). (Matt)
– Fixed bug #45822 (Near infinite-loops while parsing huge relative offsets).
(Derick, Mike Sullivan)
– Fixed bug #45799 (imagepng() crashes on empty image).
(Martin McNickle, Takeshi Abe)
– Fixed bug #45622 (isset($arrayObject->p) misbehaves with
ArrayObject::ARRAY_AS_PROPS set). (robin_fernandes at uk dot ibm dot com, Arnaud)
– Fixed bug #45614 (ArrayIterator::current(), ::key() can show 1st private prop
of wrapped object). (robin_fernandes at uk dot ibm dot com, Arnaud)
– Fixed bug #45540 (stream_context_create creates bad http request). (Arnaud)
– Fixed bug #45202 (zlib.output_compression can not be set with ini_set()).
(Jani)
– Fixed bug #45191 (error_log ignores date.timezone php.ini val when setting
logging timestamps). (Derick)
– Fixed bug #45092 (header HTTP context option not being used when compiled
using –with-curlwrappers). (Jani)
– Fixed bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime).
(Ilia, kawai at apache dot org)
– Fixed bug #44827 (define() is missing error checks for class constants).
(Ilia)
– Fixed bug #44214 (Crash using preg_replace_callback() and global variables).
(Nuno, Scott)
– Fixed bug #43073 (TrueType bounding box is wrong for angle<>0).
(Martin McNickle)
– Fixed bug #42663 (gzinflate() try to allocate all memory with truncated
data). (Arnaud)
– Fixed bug #42414 (some odbc_*() functions incompatible with Oracle ODBC
driver). (jhml at gmx dot net)
– Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped).
(Scott, Edward Z. Yang)
– Fixed bug #42143 (The constant NAN is reported as 0 on Windows)
(Kanwaljeet Singla, Venkat Raman Don)
– Fixed bug #38805 (PDO truncates text from SQL Server text data type field).
(Steph)

分类: php学习 标签: ,
  1. 本文目前尚无任何评论.
您必须在 登录 后才能发布评论.
css.php