doc:scratchpad:upgrade:53
Differences
This shows you the differences between two versions of the page.
doc:scratchpad:upgrade:53 [2009/06/14 18:43] – ze1_compatibility_mode = E_ERROR not E_WARNING philip | doc:scratchpad:upgrade:53 [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== PHP 5.3 upgrading notes ====== | ====== PHP 5.3 upgrading notes ====== | ||
- | * This document | + | * This document |
- | * Add all information, | + | * The 5.3.0 upgrade guide can be seen here: [[http://docs.php.net/migration53]] |
- | * See also [[doc:todo: | + | * The 5.2.0 upgrade guide can be seen here: [[http:// |
+ | * The 5.1.0 upgrade guide can be seen here: [[http:// | ||
- | |||
- | ===== Changes to the syntax which might break existing applications ===== | ||
- | |||
- | * [[http:// | ||
- | * //goto// is now a reserved keyword. Applications can't use //goto// as identifier anymore. Doing so will create a Fatal Error while parsing the script. | ||
- | * //Closure// is now a reserved class. (Used by lambda and closure) | ||
- | |||
- | ===== Changes to functions affecting backwards compatibility ===== | ||
- | |||
- | * The functions natsort, natcasesort, | ||
- | * var_dump() output with objects (some internal classes emit internal states as private properties that are not accessible otherwise, for Example SimpleXML exposes its virtual properties) | ||
- | * session_start() now returns false if session startup fails for some reason. | ||
- | * clearstatcache() now defaults to not clear the realpath cache. | ||
- | * opendir(), scandir() and dir() now use the default context if no context passed. | ||
- | * If a function with by-reference parameters is called by value ( for example with [[http:// | ||
- | * call_user_func now propagates $this even if the callee is the parent class (cf #47402) | ||
- | * The new mysqlnd library necessitates using [[http:// | ||
- | |||
- | ===== Changes to method signatures affecting backwards compatibility ===== | ||
- | |||
- | * %%__get, __set, __isset, __unset, __call%% magic methods should be public now and can not be static, argument signatures enforced | ||
- | * %%__toString%% magic method can not accept parameters | ||
- | * %%__callStatic%% is a new magic method | ||
- | * %%count() vs count_elements%% handler resolution rules change (might break custom PHP exts not in PECL/ | ||
- | * %%__invoke%% %%(' | ||
- | |||
- | |||
- | ===== Changes to binary releases for Windows ===== | ||
- | |||
- | * The minimum Windows versions are now windows 2000/XP (windows 98, ME or NT4 are not supported anymore) | ||
- | * Binaries target 586 or later, i386, i486 are not supported (was already the case before but not mentioned in the manual) | ||
- | * Binaries now support hardlinks (in *all* versions, from Windows 2000), Windows Vista / Server 2008 supports symbolic links, attempting to use the symbolic link functions on a system that doesn' | ||
- | |||
- | ===== Libraries added ===== | ||
- | * mysqlnd (optional replacement for libmysql) | ||
- | |||
- | ===== Extensions added ===== | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ===== Extensions removed ===== | ||
- | ==== Moved to PECL and maintained there ==== | ||
- | * ncurses (maintained) | ||
- | * fpdf (maintained) | ||
- | * dbase | ||
- | * fbsql | ||
- | * ming | ||
- | * msql | ||
- | |||
- | ==== Not maintained and superseded | ||
- | * sybase (please use sybase_ct which is maintained and still in core) | ||
- | |||
- | ===== Extension Changes Causing Incompatibilities ===== | ||
- | |||
- | ==== OCI8 ==== | ||
- | * Oci_close() on a persistent connection, or all variables referencing a persistent connection going out of scope, now rolls back any uncommitted transaction. | ||
- | |||
- | ==== Session | ||
- | * Sessions would no longer succeed to store session-files in "/ | ||
- | ===== Deprecated | ||
- | * Ticks (declare(ticks=N) and [[http:// | ||
- | * define_syslog_variables() now issues '' | ||
- | * all ereg functions now issues '' | ||
- | * ereg_replace() | ||
- | * ereg() | ||
- | * eregi_replace() | ||
- | * eregi() | ||
- | * split() | ||
- | * spliti() | ||
- | * sql_regcase() | ||
- | * Deprecated features (safe_mode, register_globals, | ||
- | * zend.ze1_compatibility_mode will now issue an '' | ||
- | |||
- | ===== Undeprecated ===== | ||
- | * [[http:// | ||
- | |||
- | ===== Changes to .INI settings ===== | ||
- | * Removed zend_extension_debug and zend_extension_ts, | ||
- | * Removed zend.ze1_compatibility_mode. | ||
- | * user_ini.filename user-initialization mechanism and config variables: user_ini.filename and user_ini.cache_ttl. | ||
- | * Added support for special [PATH=/ | ||
- | * Added mbstring.http_output_conv_mimetype that specifies the regex pattern of content types for which mb_output_handler() is activated. | ||
- | * Allowed using full path to load modules using " | ||
- | * Allowed " | ||
- | * Allowed using alphanumeric/ | ||
- | * Allowed run-time tightening of open_basedir (http:// | ||
- | |||
- | ===== No longer allow to disable ===== | ||
- | * PCRE | ||
- | * Reflection | ||
- | * SPL | ||
- | ===== New parameters ===== | ||
- | |||
- | ** Filesystem ** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ** Info ** | ||
- | * [[http:// | ||
- | |||
- | ** JSON ** | ||
- | * [[http:// | ||
- | |||
- | ** Math ** | ||
- | * [[http:// | ||
- | |||
- | ** Streams ** | ||
- | * [[http:// | ||
- | |||
- | ** Strings ** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ** Exceptions ** | ||
- | * [[http:// | ||
- | ===== New functions ===== | ||
- | |||
- | ** Array ** | ||
- | * array_replace() | ||
- | * array_replace_recursive() | ||
- | |||
- | ** Date ** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * date_diff() | ||
- | * date_parse_from_format() | ||
- | * date_create_from_format() | ||
- | * date_get_last_errors() | ||
- | * [[http:// | ||
- | |||
- | ** Filesystem ** | ||
- | * **Now with Windows support:** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ** GMP ** | ||
- | * [[http:// | ||
- | |||
- | ** Hash ** | ||
- | * [[http:// | ||
- | |||
- | ** JSON ** | ||
- | * [[http:// | ||
- | |||
- | ** Image ** | ||
- | * **Now with Windows support:** | ||
- | * [[http:// | ||
- | |||
- | ** Math ** | ||
- | * **Now with native support:** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ** Misc ** | ||
- | * **Now with Windows support:** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ** MySQLi ** | ||
- | * mysqli_fetch_all() | ||
- | * mysqli_get_connection_stats() | ||
- | * mysqli_poll() | ||
- | * mysqli_reap_async_query() | ||
- | |||
- | ** Mcrypt ** | ||
- | * **Now with Windows support:** | ||
- | * [[http:// | ||
- | |||
- | ** Network ** | ||
- | * header_remove() | ||
- | * gethostname() | ||
- | * **Now with Windows support:** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ** OpenSSL ** | ||
- | * openssl_random_pseudo_bytes() | ||
- | |||
- | ** PCNTL ** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ** PCRE ** | ||
- | * preg_filter() | ||
- | |||
- | ** PHP Core ** | ||
- | * **Now with Windows support:** | ||
- | * getopt() | ||
- | * gc_collect_cycles() | ||
- | * gc_enabled() | ||
- | * gc_enable() | ||
- | * gc_disable() | ||
- | * class_alias() | ||
- | * [[http:// | ||
- | * get_extension_funcs() | ||
- | * forward_static_call() | ||
- | * forward_static_call_array() | ||
- | * [[http:// | ||
- | * quoted_printable_encode() | ||
- | |||
- | ** SHM ** | ||
- | * [[http:// | ||
- | |||
- | ** Sockets ** | ||
- | * **Now with Windows support (again):** | ||
- | * socket_create_pair() | ||
- | |||
- | ** SPL ** | ||
- | * trailing / removed from SplFileInfo and other related directory classes | ||
- | * [[http:// | ||
- | |||
- | ** Streams ** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * **Now with Windows support:** | ||
- | * [[http:// | ||
- | |||
- | ** Strings ** | ||
- | * [[http:// | ||
- | |||
- | |||
- | ===== New methods ==== | ||
- | |||
- | ** Date ** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ** PDO/ | ||
- | * [[http:// | ||
- | |||
- | ** Reflection ** | ||
- | * [[http:// | ||
- | * ReflectionFunction:: | ||
- | * ReflectionFunction:: | ||
- | * ReflectionFunction:: | ||
- | * ReflectionClass:: | ||
- | * ReflectionClass:: | ||
- | * ReflectionClass:: | ||
- | |||
- | ** XSL ** | ||
- | * [[http:// | ||
- | |||
- | |||
- | |||
- | ===== New classes ===== | ||
- | |||
- | ** Date ** | ||
- | * DateInterval | ||
- | * DatePeriod | ||
- | |||
- | ** Phar ** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ** SPL ** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * SplFixedArray | ||
- | * FilesystemIterator | ||
- | * GlobIterator | ||
- | * RecursiveTreeIterator | ||
- | * MultipleIterator | ||
- | |||
- | ===== New global constants ===== | ||
- | |||
- | ** Filesystem ** | ||
- | * INI_SCANNER_NORMAL | ||
- | * INI_SCANNER_RAW | ||
- | |||
- | ** GD ** | ||
- | * IMG_FILTER_PIXELATE | ||
- | |||
- | ** JSON ** | ||
- | * JSON_ERROR_NONE | ||
- | * JSON_ERROR_DEPTH | ||
- | * JSON_ERROR_STATE_MISMATCH | ||
- | * JSON_ERROR_CTRL_CHAR | ||
- | * JSON_ERROR_SYNTAX | ||
- | |||
- | ** LDAP ** | ||
- | * LDAP_OPT_NETWORK_TIMEOUT | ||
- | |||
- | ** PCRE ** | ||
- | * [[http:// | ||
- | |||
- | ** PHP Core ** | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | |||
- | ** PCNTL ** | ||
- | * " | ||
- | * SIG_BLOCK | ||
- | * SIG_UNBLOCK | ||
- | * SIG_SETMASK | ||
- | * Value of " | ||
- | * SI_USER | ||
- | * SI_NOINFO | ||
- | * SI_KERNEL | ||
- | * SI_QUEUE | ||
- | * SI_TIMER | ||
- | * SI_MESGQ | ||
- | * SI_ASYNCIO | ||
- | * SI_SIGIO | ||
- | * SI_TKILL | ||
- | * CLD_EXITED | ||
- | * CLD_KILLED | ||
- | * CLD_DUMPED | ||
- | * CLD_TRAPPED | ||
- | * CLD_STOPPED | ||
- | * CLD_CONTINUED | ||
- | * TRAP_BRKPT | ||
- | * TRAP_TRACE | ||
- | * POLL_IN | ||
- | * POLL_OUT | ||
- | * POLL_MSG | ||
- | * POLL_ERR | ||
- | * POLL_PRI | ||
- | * POLL_HUP | ||
- | * ILL_ILLOPC | ||
- | * ILL_ILLOPN | ||
- | * ILL_ILLADR | ||
- | * ILL_ILLTRP | ||
- | * ILL_PRVOPC | ||
- | * ILL_PRVREG | ||
- | * ILL_COPROC | ||
- | * ILL_BADSTK | ||
- | * FPE_INTDIV | ||
- | * FPE_INTOVF | ||
- | * FPE_FLTDIV | ||
- | * FPE_FLTOVF | ||
- | * FPE_FLTUND | ||
- | * FPE_FLTRES | ||
- | * FPE_FLTINV | ||
- | * FPE_FLTSUB | ||
- | * SEGV_MAPERR | ||
- | * SEGV_ACCERR | ||
- | * BUS_ADRALN | ||
- | * BUS_ADRERR | ||
- | * BUS_OBJERR | ||
- | |||
- | ===== New class constants ===== | ||
- | |||
- | ** PDO/ | ||
- | * PDO:: | ||
- | * PDO:: | ||
- | * PDO:: | ||
- | |||
- | ===== New stream wrappers ===== | ||
- | |||
- | ** Phar ** | ||
- | * Phar stream wrapper for accessing phar archives | ||
- | |||
- | ** Streams ** | ||
- | * Added " | ||
- | |||
- | ===== Other information ===== | ||
- | |||
- | ** GD ** | ||
- | * Added pixelation support through imagefilter() | ||
- | |||
- | ** Hash ** | ||
- | * Added sha224 hash algorithm to the hash extension. | ||
- | |||
- | ** OpenSSL ** | ||
- | * Added support for OpenSSL digest and cipher functions. | ||
- | * Added access to internal values of DSA, RSA and DH keys. | ||
- | |||
- | ** PHP Core ** | ||
- | * crypt() | ||
- | * Added Blowfish and extended DES support. | ||
- | * ** Made crypt features 100% portable. ** | ||
- | * MD5 crypt, standard DES, extended DES as well as the new Blowfish algorithms are not always available. PHP contains its own implementation and will use it as soon as libc's libcrypt is lacking any of them or the crypt_r function | ||
- | * Fixed get_cfg_var() to be able to return " | ||
- | |||
- | ** SAPI ** | ||
- | * FastCGI is now always enabled and can not be disabled. (See sapi/ | ||
- | * Added CGI SAPI -T option which can be used to measure execution time of script repeated several times. | ||
- | * Added " | ||
- | |||
- | ** SPL ** | ||
- | * Added ArrayAccess support to SplObjectStorage. | ||
- | * Added ability to store associative information with objects in SplObjectStorage. | ||
- | |||
- | ** Streams ** | ||
- | * Added ability to use stream wrappers in include_path. | ||
- | |||
- | ** Windows Support ** | ||
- | * Improve portability of stat, touch, filemtime, filesize and related functions (100% portable for the available data) | ||
- | * The PDO_OCI php_pdo_oci8.dll library (for use with Oracle version 8 client libraries) is no longer being built. | ||
- | * For the OCI8 extension, a new library php_oci8_11g.dll is available in addition to php_oci8.dll. | ||
- | |||
- | ===== New syntactic sugar ===== | ||
- | ** [[http:// | ||
- | * '' | ||
- | ** HEREDOC with double quotes ** | ||
- | * '' | ||
- | ** Static HEREDOCs can now be used to initialize static variables and class members or constants (like NOWDOC) ** | ||
- | * < | ||
- | No variables here... | ||
- | LABEL;</ | ||
- | ** ?: operator ** | ||
- | * var_dump(0 ?: ' |
doc/scratchpad/upgrade/53.1245005038.txt.gz · Last modified: 2017/09/22 13:28 (external edit)