2010-11-13 19:12:07 +08:00
|
|
|
PHP NEWS
|
1999-07-23 07:54:54 +08:00
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2011-05-20 00:26:29 +08:00
|
|
|
?? ??? 201?, PHP 5.4.0
|
2011-06-08 09:25:35 +08:00
|
|
|
- autoconf 2.59+ is now supported (and required) for generating the
|
|
|
|
configure script with ./buildconf. Autoconf 2.60+ is desirable
|
|
|
|
otherwise the configure help order may be incorrect. (Rasmus, Chris Jones)
|
2010-03-29 19:58:06 +08:00
|
|
|
|
2010-04-26 08:13:34 +08:00
|
|
|
- Removed legacy features:
|
2010-11-24 20:19:56 +08:00
|
|
|
. break/continue $var syntax. (Dmitry)
|
2010-11-18 00:56:21 +08:00
|
|
|
. Safe mode and all related ini options. (Kalle)
|
|
|
|
. register_globals and register_long_arrays ini options. (Kalle)
|
|
|
|
. import_request_variables(). (Kalle)
|
2010-04-27 07:53:30 +08:00
|
|
|
. allow_call_time_pass_reference. (Pierrick)
|
2010-04-26 08:13:34 +08:00
|
|
|
. define_syslog_variables ini option and its associated function. (Kalle)
|
|
|
|
. highlight.bg ini option. (Kalle)
|
2010-11-18 00:56:21 +08:00
|
|
|
. Session bug compatibility mode (session.bug_compat42 and
|
2010-04-26 08:13:34 +08:00
|
|
|
session.bug_compat_warn ini options). (Kalle)
|
2010-04-22 07:03:16 +08:00
|
|
|
. session_is_registered(), session_register() and session_unregister()
|
2010-04-26 08:13:34 +08:00
|
|
|
functions. (Kalle)
|
|
|
|
. y2k_compliance ini option. (Kalle)
|
2010-05-06 16:37:41 +08:00
|
|
|
|
2010-11-19 18:00:10 +08:00
|
|
|
- Moved extensions to PECL: (Johannes)
|
|
|
|
. ext/sqlite.
|
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Changed $_SERVER['REQUEST_TIME'] to include microsecond precision. (Ilia)
|
|
|
|
- Changed default value of "default_charset" php.ini option from ISO-8859-1 to
|
|
|
|
UTF-8. (Rasmus)
|
|
|
|
- Changed array_combine() to return empty array instead of FALSE when both
|
|
|
|
parameter arrays are empty. FR #34857. (joel.perras@gmail.com)
|
|
|
|
- Changed third parameter of preg_match_all() to optional. FR #53238. (Adam)
|
2011-01-01 00:57:45 +08:00
|
|
|
- Changed silent casting of null/''/false into an Object when adding
|
|
|
|
a property into a warning. (Scott)
|
2011-05-20 00:26:29 +08:00
|
|
|
- <?= is now always available regardless of the short_tags setting (Rasmus)
|
2010-11-18 00:56:21 +08:00
|
|
|
|
|
|
|
- General improvements:
|
2011-03-08 22:53:38 +08:00
|
|
|
. Added multibyte support by default. Previously php had to be compiled
|
|
|
|
with --enable-zend-multibyte. Now it can be enabled or disabled through
|
2011-06-18 00:33:54 +08:00
|
|
|
zend.multibyte directive in php.ini. (Dmitry)
|
2010-12-08 19:27:34 +08:00
|
|
|
. Removed compile time dependency from ext/mbstring (Dmitry)
|
2010-11-18 00:56:21 +08:00
|
|
|
. Added support for Traits. (Stefan)
|
|
|
|
. Added closure $this support back. (Stas)
|
|
|
|
. Added array dereferencing support. (Felipe)
|
2011-06-07 05:42:05 +08:00
|
|
|
. Added indirect method call through array. FR #47160. (Felipe)
|
2010-11-18 00:56:21 +08:00
|
|
|
. Added support for object references in recursive serialize() calls.
|
|
|
|
FR #36424. (Mike)
|
|
|
|
. Added http_response_code() function. FR #52555. (Paul Dragoonis, Kalle)
|
2011-02-04 00:47:28 +08:00
|
|
|
. Added header_register_callback() which is invoked immediately
|
|
|
|
prior to the sending of headers and after default headers have
|
|
|
|
been added. (Scott)
|
2010-11-18 00:56:21 +08:00
|
|
|
. Added DTrace support. (David Soria Parra)
|
|
|
|
. Improved output layer, see README.NEW-OUTPUT-API for internals. (Mike)
|
|
|
|
. Improved unserialize() performance.
|
|
|
|
(galaxy dot mipt at gmail dot com, Kalle)
|
|
|
|
. Improved unix build system to allow building multiple PHP binary SAPIs and
|
|
|
|
one SAPI module the same time. FR #53271, FR #52410. (Jani)
|
2011-04-09 17:52:24 +08:00
|
|
|
. Added optional argument to debug_backtrace() and debug_print_backtrace()
|
|
|
|
to limit the amount of stack frames returned. (Sebastian, Patrick)
|
2011-05-26 05:03:55 +08:00
|
|
|
. Added stream metadata API support and stream_metadata() stream class
|
|
|
|
handler. (Stas)
|
2010-11-18 00:56:21 +08:00
|
|
|
|
|
|
|
- Improved Zend Engine memory usage: (Dmitry)
|
|
|
|
. Replaced zend_function.pass_rest_by_reference by
|
|
|
|
ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags.
|
|
|
|
. Replaced zend_function.return_reference by ZEND_ACC_RETURN_REFERENCE
|
|
|
|
in zend_function.fn_flags.
|
|
|
|
. Removed zend_arg_info.required_num_args as it was only needed for internal
|
2010-11-18 01:59:41 +08:00
|
|
|
functions. Now the first arg_info for internal functions (which has special
|
2010-11-18 00:56:21 +08:00
|
|
|
meaning) is represented by zend_internal_function_info structure.
|
|
|
|
. Moved zend_op_array.size, size_var, size_literal, current_brk_cont,
|
|
|
|
backpatch_count into CG(context) as they are used only during compilation.
|
|
|
|
. Moved zend_op_array.start_op into EG(start_op) as it's used only for
|
|
|
|
'interactive' execution of single top-level op-array.
|
|
|
|
. Replaced zend_op_array.done_pass_two by ZEND_ACC_DONE_PASS_TWO in
|
|
|
|
zend_op_array.fn_flags.
|
|
|
|
. op_array.vars array is trimmed (reallocated) during pass_two.
|
|
|
|
. Replaced zend_class_entry.constants_updated by ZEND_ACC_CONSTANTS_UPDATED
|
|
|
|
in zend_class_entry.ce_flags.
|
|
|
|
. Reduced the size of zend_class_entry by sharing the same memory space
|
|
|
|
by different information for internal and user classes.
|
2010-11-24 12:31:45 +08:00
|
|
|
See zend_class_entry.info union.
|
2010-11-18 00:56:21 +08:00
|
|
|
. Reduced size of temp_variable.
|
2006-10-31 06:28:36 +08:00
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Changed the structure of op_array.opcodes. The constant values are moved from
|
|
|
|
opcode operands into a separate literal table. (Dmitry)
|
2006-10-31 06:28:36 +08:00
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Improved Zend Engine, performance tweaks and optimizations: (Dmitry)
|
2011-05-31 20:05:25 +08:00
|
|
|
. Inlined most probable code-paths for arithmetic operations directly into
|
2011-06-18 00:33:54 +08:00
|
|
|
executor.
|
2010-11-18 00:56:21 +08:00
|
|
|
. Eliminated unnecessary iterations during request startup/shutdown.
|
|
|
|
. Changed $GLOBALS into a JIT autoglobal, so it's initialized only if used.
|
|
|
|
(this may affect opcode caches!)
|
|
|
|
. Improved performance of @ (silence) operator.
|
|
|
|
. Simplified string offset reading. $str[1][0] is now a legal construct.
|
|
|
|
. Added caches to eliminate repeatable run-time bindings of functions,
|
|
|
|
classes, constants, methods and properties.
|
|
|
|
. Added concept of interned strings. All strings constants known at compile
|
|
|
|
time are allocated in a single copy and never changed.
|
|
|
|
. Added an optimization which saves memory and emalloc/efree calls for empty
|
|
|
|
HashTables. (Stas, Dmitry)
|
|
|
|
. ZEND_RECV now always has IS_CV as its result.
|
|
|
|
. ZEND_CATCH now has to be used only with constant class names.
|
|
|
|
. ZEND_FETCH_DIM_? may fetch array and dimension operands in different order.
|
2010-11-18 01:59:41 +08:00
|
|
|
. Simplified ZEND_FETCH_*_R operations. They can't be used with the
|
|
|
|
EXT_TYPE_UNUSED flag any more. This is a very rare and useless case.
|
|
|
|
ZEND_FREE might be required after them instead.
|
|
|
|
. Split ZEND_RETURN into two new instructions ZEND_RETURN and
|
2010-11-18 00:56:21 +08:00
|
|
|
ZEND_RETURN_BY_REF.
|
|
|
|
. Optimized access to global constants using values with pre-calculated
|
2010-11-18 01:59:41 +08:00
|
|
|
hash_values from the literals table.
|
2010-11-18 00:56:21 +08:00
|
|
|
. Optimized access to static properties using executor specialization.
|
|
|
|
A constant class name may be used as a direct operand of ZEND_FETCH_*
|
|
|
|
instruction without previous ZEND_FETCH_CLASS.
|
2010-11-18 01:59:41 +08:00
|
|
|
. zend_stack and zend_ptr_stack allocation is delayed until actual usage.
|
2010-11-18 00:56:21 +08:00
|
|
|
|
|
|
|
- Improved CLI SAPI: (Johannes)
|
2010-11-18 01:59:41 +08:00
|
|
|
. Added command line option --rz <name> which shows information of the
|
|
|
|
named Zend extension.
|
2010-11-18 00:56:21 +08:00
|
|
|
. Interactive readline shell improvements:
|
|
|
|
. Added "cli.pager" php.ini setting to set a pager for output.
|
|
|
|
. Added "cli.prompt" php.ini setting to configure the shell prompt.
|
|
|
|
. Added shortcut #inisetting=value to change ini settings at run-time.
|
|
|
|
. Changed shell not to terminate on fatal errors.
|
2011-02-20 00:04:30 +08:00
|
|
|
. Interactive shell works with shared readline extension. FR #53878.
|
2006-10-31 06:28:36 +08:00
|
|
|
|
|
|
|
- Improved FastCGI SAPI: (Dmitry)
|
2010-11-18 00:56:21 +08:00
|
|
|
. Added apache compatible functions: apache_child_terminate(),
|
|
|
|
getallheaders(), apache_request_headers() and apache_response_headers()
|
|
|
|
. Improved performance of FastCGI request parsing.
|
|
|
|
|
2010-12-03 18:10:08 +08:00
|
|
|
- Improved core functions:
|
|
|
|
. number_format() no longer truncates multibyte decimal points and thousand
|
|
|
|
separators to the first byte. FR #53457. (Adam)
|
2011-06-03 08:12:22 +08:00
|
|
|
. Added hex2bin() function. (Scott)
|
2010-12-03 18:10:08 +08:00
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Improved CURL extension:
|
|
|
|
. Added support for CURLOPT_MAX_RECV_SPEED_LARGE and
|
|
|
|
CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815. (Pierrick)
|
|
|
|
|
2010-12-13 01:17:16 +08:00
|
|
|
- Improved Date extension:
|
|
|
|
. Added the + modifier to parseFromFormat to allow trailing text in the
|
|
|
|
string to parse without throwing an error. (Stas, Derick)
|
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Improved DBA extension:
|
|
|
|
. Added Tokyo Cabinet abstract DB support. (Michael Maclean)
|
|
|
|
. Added Berkeley DB 5 support. (Johannes, Chris Jones)
|
|
|
|
|
2010-11-26 17:52:28 +08:00
|
|
|
- Improved filesystem functions:
|
|
|
|
. scandir() now accepts SCANDIR_SORT_NONE as a possible sorting_order value.
|
|
|
|
FR #53407. (Adam)
|
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Improved HASH extension:
|
|
|
|
. Added Jenkins's one-at-a-time hash support. (Martin Jansen)
|
|
|
|
. Added FNV-1 hash support. (Michael Maclean)
|
|
|
|
. Made Adler32 algorithm faster. FR #53213. (zavasek at yandex dot ru)
|
|
|
|
|
2011-01-13 14:53:09 +08:00
|
|
|
- Improved intl extension:
|
|
|
|
. Added Spoofchecker, allows checking for visibly confusable characters and
|
|
|
|
other security issues. (Scott)
|
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Improved JSON extension:
|
|
|
|
. Added JsonSerializable interface. (Sara)
|
|
|
|
. Added JSON_BIGINT_AS_STRING, extended json_decode() sig with $options.
|
|
|
|
(Sara)
|
|
|
|
. Added support for JSON_NUMERIC_CHECK option in json_encode() that converts
|
|
|
|
numeric strings to integers. (Ilia)
|
|
|
|
. Added new json_encode() option JSON_PRETTY_PRINT. FR #44331. (Adam)
|
|
|
|
. Added new json_encode() option JSON_UNESCAPED_SLASHES. FR #49366. (Adam)
|
|
|
|
|
|
|
|
- Improved LDAP extension:
|
|
|
|
. Added paged results support. FR #42060. (ando@OpenLDAP.org,
|
|
|
|
iarenuno@eteo.mondragon.edu, jeanseb@au-fil-du.net, remy.saissy@gmail.com)
|
2006-05-05 15:05:34 +08:00
|
|
|
|
2010-12-13 01:07:40 +08:00
|
|
|
- Improved MySQL extensions:
|
|
|
|
. MySQL: Deprecated mysql_list_dbs(). FR #50667. (Andrey)
|
|
|
|
. mysqlnd: Added named pipes support. FR #48082. (Andrey)
|
|
|
|
. MySQLi: Added iterator support in MySQLi. mysqli_result implements
|
|
|
|
Traversable. (Andrey, Johannes)
|
|
|
|
. PDO_mysql: Removed support for linking with MySQL client libraries older
|
|
|
|
than 4.1. (Johannes)
|
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Improved OpenSSL extension:
|
|
|
|
. Added AES support. FR #48632. (yonas dot y at gmail dot com, Pierre)
|
2010-12-03 17:34:35 +08:00
|
|
|
. Added a "no_ticket" SSL context option to disable the SessionTicket TLS
|
|
|
|
extension. FR #53447. (Adam)
|
2011-05-21 02:56:13 +08:00
|
|
|
. Added no padding option to openssl_encrypt()/openssl_decrypt(). (Scott)
|
2005-11-24 04:53:33 +08:00
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Improved PDO DB-LIB: (Stanley)
|
|
|
|
. Added nextRowset support.
|
|
|
|
. Fixed bug #50755 (PDO DBLIB Fails with OOM).
|
2005-11-24 04:53:33 +08:00
|
|
|
|
2011-01-28 00:02:30 +08:00
|
|
|
- Improved PostgreSQL extension:
|
|
|
|
. Added support for "extra" parameter for PGNotify().
|
|
|
|
(r dot i dot k at free dot fr, Ilia)
|
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Improved Reflection extension: (Johannes)
|
|
|
|
. Added ReflectionExtension::isTemporary() and
|
|
|
|
ReflectionExtension::isPersistent() methods.
|
|
|
|
. Added ReflectionZendExtension class.
|
|
|
|
. Added ReflectionClass::isCloneable(). (Felipe)
|
2005-11-24 04:53:33 +08:00
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Improved Session extension:
|
|
|
|
. Added support for storing upload progress feedback in session data. (Arnaud)
|
|
|
|
. Changed session.entropy_file to default to /dev/urandom or /dev/arandom if
|
|
|
|
either is present at compile time. (Rasmus)
|
2005-11-24 04:53:33 +08:00
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Improved SPL extension:
|
2011-01-06 10:32:02 +08:00
|
|
|
. Added RegexIterator::getRegex() method. (Joshua Thijssen)
|
2010-11-18 00:56:21 +08:00
|
|
|
. Added SplObjectStorage::getHash() hook. (Etienne)
|
2010-12-24 15:28:59 +08:00
|
|
|
. Added SplFileInfo::getExtension(). FR #48767. (Peter Cowburn)
|
2011-06-18 00:33:54 +08:00
|
|
|
. Added CallbackFilterIterator and RecursiveCallbackFilterIterator. (Arnaud)
|
2005-04-25 20:44:55 +08:00
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Improved ZLIB extension:
|
|
|
|
. Re-implemented non-file related functionality. (Mike)
|
2005-06-11 00:55:27 +08:00
|
|
|
|
2011-06-18 02:26:54 +08:00
|
|
|
- Improved SNMP extension (Boris Lytochkin):
|
|
|
|
. Added OO API. FR #53594 (php-snmp rewrite).
|
2011-01-31 19:41:33 +08:00
|
|
|
. Sanitized return values of existing functions. Now it returns FALSE on
|
2011-02-01 15:45:30 +08:00
|
|
|
failure.
|
|
|
|
. Allow ~infinite OIDs in GET/GETNEXT/SET queries. Autochunk them to max_oids
|
|
|
|
upon request.
|
|
|
|
. Introducing unit tests for extension with ~full coverage.
|
2011-06-18 02:26:54 +08:00
|
|
|
. Fixed bugs
|
|
|
|
. #44193 (snmp v3 noAuthNoPriv doesn't work)
|
|
|
|
. #45893 (Snmp buffer limited to 2048 char)
|
|
|
|
. #46065 (snmp_set_quick_print() persists between requests)
|
|
|
|
. #51336 (snmprealwalk (snmp v1) does not handle end of OID tree correctly)
|
|
|
|
. #53862 (snmp_set_oid_output_format does not allow returning to default)
|
2011-01-31 19:41:33 +08:00
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
## UNSORTED ##
|
2005-06-11 00:55:27 +08:00
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
- Fixed PDO objects binary incompatibility. (Dmitry)
|
|
|
|
- Fixed bug #52211 (iconv() returns part of string on error). (Felipe)
|
2005-06-11 00:55:27 +08:00
|
|
|
|
|
|
|
|
2010-11-18 00:56:21 +08:00
|
|
|
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>
|