啥也不说了。自己看列表吧。。原来,更新了这么多啊。。。。。。现在还是alpha,等到了stable,那我应该不应该更新呢》》》
更新列表(请看第44行哦)
- PHP NEWS
- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- ?? ??? 200?, PHP 5.3.0 Alpha 2
- - Removed shebang line check from CGI sapi (it is checked by scanner) (Dmitry)
-
- - Fixed bug #45696 (Not all DateTime methods allow method chaining). (Derick)
- - Fixed bug #45545 (DateInterval has a limitation of 4 chars for ISO
- durations). (Derick)
- - Fixed bug #45406 (session.serialize_handler declared by shared extension
- fails). (Kalle, oleg dot grenrus at dynamoid dot com)
- - Fixed bug #44100 (Inconsistent handling of static array declarations with
- duplicate keys). (Dmitry)
- - Fixed bug #43008 (php://filter uris ignore url encoded filternames and can't
- handle slashes). (Arnaud)
-
- 01 Aug 2008, PHP 5.3.0 Alpha 1
- - Upgraded bundled PCRE to version 7.7. (Nuno)
- - Upgraded bundled PDO sqlite to version 3.5.9. (Scott)
-
- - Moved extensions to PECL (Pierre):
- . ext/fdf
- . ext/ncurses
- . 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)
- - Deprecated ticks support. (Felipe)
-
- - 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)
-
- - 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)
- . 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 PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION,
- PHP_EXTRA_VERSION, PHP_VERSION_ID, PHP_ZTS and PHP_DEBUG constants.
- (Pierre)
- . 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 persistent constants by 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 and cleaned CGI code:
- . FastCGI is now always enabled and can not 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 "ignore_errors" option to http fopen wrapper. (David Zulke, Sara)
- . 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 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 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 #41069 (Seg 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 #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.
-
- - Improved OpenSSL extension: (Dmitry)
- . Added support for OpenSSL digest and cipher functions.
- . Added access to internal values of DSA, RSA and DH keys.
-
- - 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 XMLShema's <any>. (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 FixedArray. (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.
-
- - Added new extensions:
- . 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
- DateTime::getOffset() and DateTime::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 <month>" 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 "<xth> <weekday of" and "last <weekday> of" phrases to be used
- with months - like in "last saturday of februari 2008".
- . 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 array_replace() and array_replace_recursive() functions. (Matt)
- - Added ReflectionProperty::setAccessible() method that allows non-public
- property's values to be read through ::getValue(). (Derick)
- - 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 inet_pton() and inet_ntop() also for Windows platforms. (Kalle)
- - Added mcrypt_create_iv() also for Windows platforms. (Pierre)
-
- - 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 PECL bug #12794 (PDOStatement->nextRowset() doesn�t work). (Johannes)
- - Fixed PECL bug #12401 (Add support for ATTR_FETCH_TABLE_NAMES). (Johannes)
-
- - 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 #45571 (ReflectionClass::export() shows superclasses' private
- static methods). (robin_fernandes at uk dot ibm dot com)
- - Fixed bug #45540 (stream_context_create creates bad http request). (Arnaud)
- - Fixed bug #45430 (windows implementation of crypt is not thread safe).
- (Pierre)
- - Fixed bug #45345 (SPLFileInfo::getPathInfo() returning dir info instead of
- file info). (Etienne)
- - Fixed bug #45179 (--with-mysql-sock fails to compile & work). (Andrey)
- - Fixed bug #45038 (Crash when using DateTimeZone object returned by
- Date::getTimezone). (Joe Orton, Derick)
- - Fixed bug #44769 (declaring private magic methods should throw error).
- (Felipe)
- - Fixed bug #44913 (Segfault when using return in combination with nested loops
- and continue 2). (Dmitry)
- - Fixed bug #44899 (__isset usage changes behavior of empty()). (Etienne)
- - Fixed bug #44897 (failed to prepare statement). (Andrey)
- - Fixed bug #44849 (imagecolorclosesthwb() is not available on Windows).
- (Kalle)
- - Fixed bug #44805 (rename() function is not portable to Windows). (Pierre)
- - Fixed bug #44779 (filter returns NULL in CLI when it shouldn't). (Arnaud)
- - Fixed bug #44742 (timezone_offset_get() causes segmentation faults). (Derick)
- - Fixed bug #44660 (Indexed and reference assignment to propery of non-object
- don't trigger warning). (Dmitry)
- - Fixed bug #44648 (Attribute names not checked for wellformedness). (Rob)
- - Fixed bug #44414 (Incomplete reporting about abstract methods). (Dmitry)
- - Fixed bug #44390 (mysqli_bind_param/bind_result and Object member variables).
- (Andrey)
- - Fixed bug #44352 (mysqli_connect_error() false negative for host errors).
- (Andrey)
- - Fixed bug #44336 (Improve pcre UTF-8 string matching performance).
- (frode at coretrek dot com, Nuno)
- - Fixed bug #44301 (Segfault when an exception is thrown on persistent
- connections). (Martin Jansen)
- - Fixed bug #44257 (timelib_tz_lookup_table must use float for gmtoffset).
- (Derick, iuri dot fiedoruk at hp dot com).
- - Fixed bug #44214 (Crash using preg_replace_callback() and global variable).
- (Nuno, Scott)
- - Fixed bug #44034 (FILE_IGNORE_NEW_LINES in file() does not work as expected
- when lines end in \r\n). (Ilia)
- - Fixed bug #43960 (strtotime() returns timestamp in the future when given a
- bogus string). (Derick)
- - Fixed bug #43832 (mysqli_get_charset() doesn't expose charset comment).
- (Andrey)
- - Fixed bug #43808 (date_create never fails (even when it should)). (Derick)
- - Fixed bug #43527 (DateTime created from a timestamp reports environment
- timezone). (Derick)
- - Fixed bug #43452 (strings containing a weekday, or a number plus weekday
- misbehaved if the current day-of-week was same as the one in the phrase).
- (Derick)
- - Fixed bug #43426 (crash on nested call_user_func() calls). (Dmitry)
- - Fixed bug #43323 (Wrong count abstract methods). (Felipe, Dmitry)
- - Fixed bug #43261 (Use ^ as the escape with escapeshellcmd() on Windows).
- (Scott)
- - Fixed bug #43075 (Support 2007-11-01T24:00:00+00:00). (Derick)
- - Fixed bug #43003 (Invalid timezone reported for DateTime objects constructed
- using a timestamp). (Derick)
- - Fixed bug #43143 (Warning about empty IV with MCRYPT_MODE_ECB). (Derick)
- - Fixed bug #43136 (possible crash on script execution timeout.
- The EG(function_state_ptr) is completely removed,
- EG(current_execute_data)->function_state must be used instead). (Dmitry)
- - Fixed bug #42952 (soap cache file is created with insecure permissions).
- (Dmitry)
- - Fixed bug #42868 (Floats cast to integer produce unpredictable results).
- (Zoe Slattery)
- - Fixed bug #42848 (Status: header incorrect under FastCGI). (Dmitry)
- - Fixed bug #42773 (WSDL error causes HTTP 500 Response). (Dmitry)
- - Fixed bug #42737 (preg_split('//u') triggers a E_NOTICE with newlines).
- (Nuno)
- - Fixed bug #42736 (xmlrpc_server_call_method() crashes). (Tony)
- - Fixed bug #42663 (gzinflate() try to allocate all memory with truncated
- data). (Arnaud)
- - Fixed bug #42657 (ini_get() returns incorrect value when default is NULL).
- (Jani, Scott)
- - Fixed bug #42637 (SoapFault : Only http and https are allowed). (Bill Moran)
- - Fixed bug #42548 (mysqli PROCEDURE calls can't return result sets). (Hartmut)
- - Fixed bug #42509 (gmp leaks memory when gmp_init() not used). (Stas)
- - Fixed bug #42499 (PDO_MYSQL: multi-statement execution via PDO::exec() makes
- connection unusable). (Johannes)
- - Fixed bug #42443 (PDO SQLite driver binds integers and booleans as strings).
- (Scott)
- - Fixed bug #42284 (duplicate of #39700). (Lars W)
- - Fixed bug #42203 (Clear SQLite result sets before closing database). (Scott)
- - Fixed bug #42190 (Constructing DateTime with TimeZone Indicator invalidates
- DateTimeZone). (Derick)
- - Fixed bug #42069 (parse_ini_file() allows using some non-alpha numeric
- characters). (Jani)
- - Fixed bug #41997 (pdo_mysql: stored procedure call returning single rowset
- blocks future queries). (Johannes)
- - Fixed bug #41996 (Problem accessing Oracle ROWID). (Martin Jansen)
- - Fixed bug #41599 (setTime() fails after modify() is used). (Derick)
- - Fixed bug #41522 (PDO firebird driver returns null if it fails to connect).
- (Lars W)
- - Fixed bug #41135 (PDO SQLite driver binds blobs as strings,
- use sqlite3_bind_blob() to stop errors with null bytes). (Scott)
- - Fixed bug #39822 (new PDO() doesn't work with firebird). (Lars W)
- - Fixed bug #39700 (NUMERIC error when result precision are 7,8 or 12-14 ).
- (Lars W)
- - Fixed bug #39457 (Multiple invoked OO connections never close). (Andrey)
- - Fixed bug #39397 (invalid statement handle in Unknown on line 0). (Lars W)
- - Fixed bug #39346 (Unsetting a static variable inside a destructor causes
- segfault later on). (Dmitry)
- - Fixed bug #39127 (Old-style constructor fallbacks produce strange results).
- (Tony)
- - Fixed bug #39056 (Interbase NUMERIC data type error). (Lars W)
- - Fixed bug #39018 (Error control operator '@' fails to suppress "Uninitialized
- string offset"). (Felipe)
- - Fixed bug #38468 (Unexpected creation of cycle). (Dmitry)
- - Fixed bug #37964 (Reflection shows private methods of parent class).
- (Felipe, Marcus)
- - Fixed bug #37911 (preg_replace_callback() ignores named groups). (Nuno)
- - Fixed bug #37076 (SimpleXML ignores .=). (Felipe, Marcus)
- - Fixed bug #36128 (Interbase PDO - timestamp columns return NULL). (Lars W)
- - Fixed bug #35386 (firebird: first row is null). (Lars W)
- - Fixed bug #35163 (Array elements can lose references). (Dmitry)
- - Fixed bug #32330 (session_destroy, "Failed to initialize storage module",
- custom session handler). (Gwynne)
- - Fixed bug #32143 (ibase_query() causing IBserver 7 crash with NULL param as
- link-id). (Lars W)
- - Fixed bug #30907 (ibase_query() crashes (same bug as #32143). (Lars W)
- - Fixed bug #30690 (Resource handle from ibase_execute becomes invalid after
- return). (Lars W)
- - Fixed bug #29044 (compact() does not have infinite recursion protection).
- (Tony)
- - Fixed bug #27372 (parse error loading browscap.ini at apache startup).
- (Jani)