HEX
Server: Apache/2.4.29 (Ubuntu)
System: Linux bareserver 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User: root (0)
PHP: 7.2.24-0ubuntu0.18.04.17
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: //usr/share/doc/php7.2-mbstring/UPGRADING.INTERNALS
PHP 7.2 INTERNALS UPGRADE NOTES

1. Internal API changes
  a. Path related functions
  b. php_win32_get_random_bytes()
  c. nice() Windows implementation
  d. ZEND_ACC_CLONE removed
  e. IS_TYPE_IMMUTABLE removed
  f. zend_arg_info.class_name removed
  g. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX changed
  h. valid_symbol_table removed

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.

  d. ZEND_ACC_CLONE is removed, but was not used in previous versions

  e. IS_TYPE_IMMUTABLE is removed, IS_TYPE_COPYABLE can be used instead
     Z_IMMUTABLE() check function is still available

  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

  h. valid_symbol_table is removed from executor_globals.
     Use EG(active) instead of removed EG(valid_symbol_table)

========================
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
========================

- 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.

- OpenSSL:
  . Windows builds ship with OpenSSL 1.1 by default, lower versions are still supported with custom deps.