2017-06-25 14:22:29 +08:00
|
|
|
PHP 7.2 INTERNALS UPGRADE NOTES
|
2010-08-30 18:26:31 +08:00
|
|
|
|
|
|
|
1. Internal API changes
|
2017-02-13 15:35:01 +08:00
|
|
|
a. Path related functions
|
|
|
|
b. php_win32_get_random_bytes()
|
2017-04-25 00:01:56 +08:00
|
|
|
c. nice() Windows implementation
|
2017-06-25 14:32:03 +08:00
|
|
|
d. ZEND_ACC_CLONE removed
|
|
|
|
e. IS_TYPE_IMMUTABLE removed
|
2017-06-25 14:41:11 +08:00
|
|
|
f. zend_arg_info.class_name removed
|
2017-06-26 23:26:07 +08:00
|
|
|
g. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX changed
|
2017-07-05 12:33:34 +08:00
|
|
|
h. valid_symbol_table removed
|
2010-09-17 16:42:12 +08:00
|
|
|
|
2010-11-18 18:43:01 +08:00
|
|
|
2. Build system changes
|
|
|
|
a. Unix build system changes
|
|
|
|
b. Windows build system changes
|
|
|
|
|
2017-04-25 00:14:10 +08:00
|
|
|
|
2015-07-03 17:46:30 +08:00
|
|
|
3. Module changes
|
2010-11-18 18:43:01 +08:00
|
|
|
|
2010-08-30 18:26:31 +08:00
|
|
|
========================
|
|
|
|
1. Internal API changes
|
|
|
|
========================
|
|
|
|
|
2016-12-22 21:56:47 +08:00
|
|
|
a. Path related functions
|
|
|
|
- CWD_API void realpath_cache_del(const char *path, size_t path_len);
|
|
|
|
- CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, size_t path_len, time_t t);
|
|
|
|
- PHPAPI void php_clear_stat_cache(zend_bool clear_realpath_cache, const char *filename, size_t filename_len);
|
|
|
|
- PHPAPI void php_stat(const char *filename, size_t filename_length, int type, zval *return_value);
|
|
|
|
|
2017-02-13 15:35:01 +08:00
|
|
|
b. php_win32_get_random_bytes()
|
2017-02-15 23:15:16 +08:00
|
|
|
The internal randomness source on Windows switched to use CNG API.
|
2017-02-13 15:35:01 +08:00
|
|
|
|
2017-04-25 00:01:56 +08:00
|
|
|
c. nice() now have a Windows alternative that is implemented in win32/nice.c, using
|
|
|
|
SetPriorityClass(). See the implementation for more in-depth details. This also
|
|
|
|
defines HAVE_NICE.
|
2016-06-21 00:02:51 +08:00
|
|
|
|
2017-06-25 14:23:30 +08:00
|
|
|
d. ZEND_ACC_CLONE is removed, but was not used in previous versions
|
2017-04-25 00:14:10 +08:00
|
|
|
|
2017-06-25 14:32:03 +08:00
|
|
|
e. IS_TYPE_IMMUTABLE is removed, IS_TYPE_COPYABLE can be used instead
|
|
|
|
Z_IMMUTABLE() check function is still available
|
|
|
|
|
2017-06-25 14:41:11 +08:00
|
|
|
f. zend_arg_info class_name member is removed, use ZEND_TYPE_NAME instead
|
|
|
|
|
2017-06-26 23:26:07 +08:00
|
|
|
g. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX classname option is removed
|
|
|
|
use ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX for simple type
|
|
|
|
use ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX for object
|
|
|
|
|
2017-07-05 12:33:34 +08:00
|
|
|
h. valid_symbol_table is removed from executor_globals.
|
|
|
|
Use EG(active) instead of removed EG(valid_symbol_table)
|
|
|
|
|
2010-11-18 18:43:01 +08:00
|
|
|
========================
|
|
|
|
2. Build system changes
|
|
|
|
========================
|
|
|
|
|
2014-11-10 21:25:14 +08:00
|
|
|
a. Unix build system changes
|
|
|
|
|
|
|
|
b. Windows build system changes
|
|
|
|
|
2016-12-21 23:10:38 +08:00
|
|
|
. Minimum supported Windows versions are Windows 7/Server 2008 R2.
|
2017-04-25 00:14:10 +08:00
|
|
|
. --enable-one-shot configure option is removed, --with-mp is usable.
|
|
|
|
. The new binary tools SDK is required for Windows builds, the
|
|
|
|
documentation is available under https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2
|
|
|
|
. Visual Studio 2017 is utilized for the Windows builds
|
|
|
|
. Clang build with ASAN is supported with clang 5+
|
2016-10-16 10:17:35 +08:00
|
|
|
|
2015-01-26 05:14:40 +08:00
|
|
|
========================
|
|
|
|
3. Module changes
|
|
|
|
========================
|
|
|
|
|
2017-06-25 14:27:52 +08:00
|
|
|
- Pcre:
|
|
|
|
. php_pcre_replace and php_pcre_replace_impl expect a zend_string instead of a zval and
|
|
|
|
is_callable_replace options is removed:
|
|
|
|
- PHPAPI zend_string *php_pcre_replace(zend_string *regex, zend_string *subject_str, char *subject, int subject_len, zend_string *replace_str, int limit, int *replace_count);
|
|
|
|
- PHPAPI zend_string *php_pcre_replace_impl(pcre_cache_entry *pce, zend_string *subject_str, char *subject, int subject_len, zend_string *replace_str, int limit, int *replace_count);
|
|
|
|
|
2016-11-17 10:09:07 +08:00
|
|
|
- Session:
|
|
|
|
. php_session_start()/session_reset_id() return value is changed from void to int.
|
|
|
|
It returns SUCCESS/FAILURE.
|
|
|
|
. Session module manages session status correctly.
|
|
|
|
|
2017-04-25 00:14:10 +08:00
|
|
|
- OpenSSL:
|
|
|
|
. Windows builds ship with OpenSSL 1.1 by default, lower versions are still supported with custom deps.
|
|
|
|
|