PHP 7.1 INTERNALS UPGRADE NOTES 1. Internal API changes a. Path related functions b. php_win32_get_random_bytes() c. nice() Windows implementation 2. Build system changes a. Unix build system changes b. Windows build system changes 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); b. php_win32_get_random_bytes() The internal randomness source on Windows switched to use CNG API. 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. ======================== 2. Build system changes ======================== a. Unix build system changes b. Windows build system changes . Minimum supported Windows versions are Windows 7/Server 2008 R2. . --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 ======================== - 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. - OpenSSL: . Windows builds ship with OpenSSL 1.1 by default, lower versions are still supported with custom deps.