php-src/UPGRADING.INTERNALS

83 lines
3.2 KiB
Plaintext
Raw Normal View History

2017-06-25 14:22:29 +08:00
PHP 7.2 INTERNALS UPGRADE NOTES
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
g. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX changed
2017-07-05 12:33:34 +08:00
h. valid_symbol_table removed
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
========================
1. Internal API changes
========================
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
2017-04-25 00:01:56 +08:00
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
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)
========================
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+
========================
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);
- 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.