Home » Releases » 7.3 » 7.3.33 »

PHP 7.3.0

PHP 7.3 is no longer officially supported by the PHP project.

Official support refers to that provided direct by the PHP Project.

If you install PHP via third-party packages, support timelines may be different. Please read the Release Support Policy for more information.

The latest release of PHP 7.3 is 7.3.33 which includes important security patches.

Source Code

  • PHP 7.3.0 (tar.bz2)

    • sha256: 7a267daec9969a997c5c8028c350229646748e0fcc71e2f2dbb157ddcee87c67
  • PHP 7.3.0 (tar.gz)

    • sha256: 391bd0f91d9bdd01ab47ef9607bad8c65e35bc9bb098fb7777b2556e2c847b11
  • PHP 7.3.0 (tar.xz)

    • sha256: 7d195cad55af8b288c3919c67023a14ff870a73e3acc2165a6d17a4850a560b5

Change Log

  • core

    • Improved PHP GC.
      Dmitry
      Nikita
    • Redesigned the old ext_skel program written in PHP, run: 'php ext_skel.php' for all options. This means there are no dependencies, thus making it work on Windows out of the box.
      Kalle
    • Removed support for BeOS.
      Kalle
    • Add PHP_VERSION to phpinfo() <title/>.
      github/MattJeevas
    • Add net_get_interfaces().
      Sara
      Joe
      Anatol
    • Added gc_status().
      Benjamin Eberlei
    • Implemented flexible heredoc and nowdoc syntax, per RFC https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes.
      Thomas Punt
    • Added support for references in list() and array destructuring, per RFC https://wiki.php.net/rfc/list_reference_assignment.
      David Walker
    • Improved effectiveness of ZEND_SECURE_ZERO for NetBSD and systems without native similar feature.
      devnexen
    • Added syslog.facility and syslog.ident INI entries for customizing syslog logging.
      Philip Prindeville
    • Fixed bug #75683 (Memory leak in zend_register_functions() in ZTS mode).
      Dmitry
    • Fixed bug #75031 (support append mode in temp/memory streams).
      adsr
    • Fixed bug #74860 (Uncaught exceptions not being formatted properly when error_log set to "syslog").
      Philip Prindeville
    • Fixed bug #75220 (Segfault when calling is_callable on parent).
      andrewnester
    • Fixed bug #69954 (broken links and unused config items in distributed ini files).
      petk
    • Fixed bug #74922 (Composed class has fatal error with duplicate, equal const properties).
      pmmaga
    • Fixed bug #63911 (identical trait methods raise errors during composition).
      pmmaga
    • Fixed bug #75677 (Clang ignores fastcall calling convention on variadic function).
      Li-Wen Hsu
    • Fixed bug #54043 (Remove inconsitency of internal exceptions and user defined exceptions).
      Nikita
    • Fixed bug #53033 (Mathematical operations convert objects to integers).
      Nikita
    • Fixed bug #73108 (Internal class cast handler uses integer instead of float).
      Nikita
    • Fixed bug #75765 (Fatal error instead of Error exception when base class is not found).
      Timur Ibragimov
    • Fixed bug #76198 (Wording: "iterable" is not a scalar type).
      Levi Morrison
    • Fixed bug #76137 (config.guess/config.sub do not recognize RISC-V).
      cmb
    • Fixed bug #76427 (Segfault in zend_objects_store_put).
      Laruence
    • Fixed bug #76422 (ftruncate fails on files > 2GB).
      Anatol
    • Fixed bug #76509 (Inherited static properties can be desynchronized from their parent by ref).
      Nikita
    • Fixed bug #76439 (Changed behaviour in unclosed HereDoc).
      Nikita
      tpunt
    • Fixed bug #63217 (Constant numeric strings become integers when used as ArrayAccess offset).
      Rudi Theunissen
      Dmitry
    • Fixed bug #33502 (Some nullary functions don't check the number of arguments).
      cmb
    • Fixed bug #76392 (Error relocating sapi/cli/php: unsupported relocation type 37).
      Peter Kokot
    • The declaration and use of case-insensitive constants has been deprecated.
      Nikita
    • Added syslog.filter INI entry for syslog filtering.
      Philip Prindeville
    • Fixed bug #76667 (Segfault with divide-assign op and __get + __set).
      Laruence
    • Fixed bug #76030 (RE2C_FLAGS rarely honoured) (Cristian Rodríguez)
    • Fixed broken zend_read_static_property (Laruence)
    • Fixed bug #76773 (Traits used on the parent are ignored for child classes).
      daverandom
    • Fixed bug #76767 (‘asm’ operand has impossible constraints in zend_operators.h).
      ondrej
    • Fixed bug #76752 (Crash in ZEND_COALESCE_SPEC_TMP_HANDLER - assertion in _get_zval_ptr_tmp failed).
      Laruence
    • Fixed bug #76820 (Z_COPYABLE invalid definition).
      mvdwerve
      cmb
    • Fixed bug #76510 (file_exists() stopped working for phar://).
      cmb
    • Fixed bug #76869 (Incorrect bypassing protected method accessibilty check).
      Dmitry
    • Fixed bug #72635 (Undefined class used by class constant in constexpr generates fatal error).
      Nikita
    • Fixed bug #76947 (file_put_contents() blocks the directory of the file (__DIR__)).
      Anatol
    • Fixed bug #76979 (define() error message does not mention resources as valid values).
      Michael Moravec
    • Fixed bug #76825 (Undefined symbols ___cpuid_count).
      Laruence
      cmb
    • Fixed bug #77110 (undefined symbol zend_string_equal_val in C++ build).
      Remi
  • bcmath

    • Implemented FR #67855 (No way to get current scale in use).
      Chris Wright
      cmb
    • Fixed bug #66364 (BCMath bcmul ignores scale parameter).
      cmb
    • Fixed bug #75164 (split_bc_num() is pointless).
      cmb
    • Fixed bug #75169 (BCMath errors/warnings bypass PHP's error handling).
      cmb
  • cli

    • Fixed bug #44217 (Output after stdout/stderr closed cause immediate exit with status 0).
      Robert Lu
    • Fixed bug #77111 (php-win.exe corrupts unicode symbols from cli parameters).
      Anatol
  • curl

    • Expose curl constants from curl 7.50 to 7.61.
      Pierrick
    • Fixed bug #74125 (Fixed finding CURL on systems with multiarch support).
      cebe
  • date

    • Implemented FR #74668: Add DateTime::createFromImmutable() method.
      majkl578
      Rican7
    • Fixed bug #75222 (DateInterval microseconds property always 0).
      jhdxr
    • Fixed bug #68406 (calling var_dump on a DateTimeZone object modifies it).
      jhdxr
    • Fixed bug #76131 (mismatch arginfo for date_create).
      carusogabriel
    • Updated timelib to 2018.01RC1 to address several bugs:
    • Fixed bug #75577 (DateTime::createFromFormat does not accept 'v' format specifier).
      Derick
    • Fixed bug #75642 (Wrap around behaviour for microseconds is not working).
      Derick
  • dba

    • Fixed bug #75264 (compiler warnings emitted).
      petk
  • dom

    • Fixed bug #76285 (DOMDocument::formatOutput attribute sometimes ignored).
      Andrew Nester
      Laruence
      Anatol
  • fileinfo

    • Fixed bug #77095 (slowness regression in 7.2/7.3 (compared to 7.1)).
      Anatol
  • filter

    • Added the 'add_slashes' sanitization mode (FILTER_SANITIZE_ADD_SLASHES).
      Kalle
  • fpm

    • Added fpm_get_status function.
      Till Backhaus
    • Fixed bug #62596 (getallheaders() missing with PHP-FPM).
      Remi
    • Fixed bug #69031 (Long messages into stdout/stderr are truncated incorrectly) - added new log related FPM configuration options: log_limit, log_buffering and decorate_workers_output.
      Jakub Zelenka
  • ftp

    • Fixed bug #77151 (ftp_close(): SSL_read on shutdown).
      Remi
  • gd

    • Added support for WebP in imagecreatefromstring().
      Andreas Treichel
      cmb
  • gmp

    • Export internal structures and accessor helpers for GMP object.
      Sara
    • Added gmp_binomial(n, k).
      Nikita
    • Added gmp_lcm(a, b).
      Nikita
    • Added gmp_perfect_power(a).
      Nikita
    • Added gmp_kronecker(a, b).
      Nikita
  • iconv

    • Fixed bug #53891 (iconv_mime_encode() fails to Q-encode UTF-8 string).
      cmb
    • Fixed bug #77147 (Fixing 60494 ignored ICONV_MIME_DECODE_CONTINUE_ON_ERROR).
      cmb
  • imap

    • Fixed bug #77020 (null pointer dereference in imap_mail).
      cmb
    • Fixed bug #77153 (imap_open allows to run arbitrary shell commands via mailbox parameter).
      Stas
  • interbase

    • Fixed bug #75453 (Incorrect reflection for ibase_[p]connect).
      villfa
    • Fixed bug #76443 (php+php_interbase.dll crash on module_shutdown).
      Kalle
  • intl

    • Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead of destination).
      andrewnester
    • Fixed bug #76829 (Incorrect validation of domain on idn_to_utf8() function).
      Anatol
  • json

    • Added JSON_THROW_ON_ERROR flag.
      Andrea
  • ldap

    • Added ldap_exop_refresh helper for EXOP REFRESH operation with dds overlay.
      Come
    • Added full support for sending and parsing ldap controls.
      Come
    • Fixed bug #49876 (Fix LDAP path lookup on 64-bit distros).
      dzuelke
  • libxml2

    • Fixed bug #75871 (use pkg-config where available).
      pmmaga
  • litespeed

    • Fixed bug #75248 (Binary directory doesn't get created when building only litespeed SAPI).
      petk
    • Fixed bug #75251 (Missing program prefix and suffix).
      petk
  • mbstring

    • Updated to Oniguruma 6.9.0.
      cmb
    • Fixed bug #65544 (mb title case conversion-first word in quotation isn't capitalized).
      Nikita
    • Fixed bug #71298 (MB_CASE_TITLE misbehaves with curled apostrophe/quote).
      Nikita
    • Fixed bug #73528 (Crash in zif_mb_send_mail).
      Nikita
    • Fixed bug #74929 (mbstring functions version 7.1.1 are slow compared to 5.3 on Windows).
      Nikita
    • Fixed bug #76319 (mb_strtolower with invalid UTF-8 causes segmentation fault).
      Nikita
    • Fixed bug #76574 (use of undeclared identifiers INT_MAX and LONG_MAX).
      cmb
    • Fixed bug #76594 (Bus Error due to unaligned access in zend_ini.c OnUpdateLong).
      cmb
      Nikita
    • Fixed bug #76706 (mbstring.http_output_conv_mimetypes is ignored).
      cmb
    • Fixed bug #76958 (Broken UTF7-IMAP conversion).
      Nikita
    • Fixed bug #77025 (mb_strpos throws Unknown encoding or conversion error).
      Nikita
    • Fixed bug #77165 (mb_check_encoding crashes when argument given an empty array).
      Nikita
  • mysqlnd

    • Fixed bug #76386 (Prepared Statement formatter truncates fractional seconds from date/time column).
      Victor Csiky
  • odbc

    • Removed support for ODBCRouter.
      Kalle
    • Removed support for Birdstep.
      Kalle
    • Fixed bug #77079 (odbc_fetch_object has incorrect type signature).
      Jon Allen
  • opcache

    • Fixed bug #76466 (Loop variable confusion).
      Dmitry
      Laruence
      Nikita
    • Fixed bug #76463 (var has array key type but not value type).
      Laruence
    • Fixed bug #76446 (zend_variables.c:73: zend_string_destroy: Assertion `!(zval_gc_flags((str)->gc)).
      Nikita
      Laruence
    • Fixed bug #76711 (OPcache enabled triggers false-positive "Illegal string offset").
      Dmitry
    • Fixed bug #77058 (Type inference in opcache causes side effects).
      Nikita
    • Fixed bug #77092 (array_diff_key() - segmentation fault).
      Nikita
  • openssl

    • Added openssl_pkey_derive function.
      Jim Zubov
    • Add min_proto_version and max_proto_version ssl stream options as well as related constants for possible TLS protocol values.
      Jakub Zelenka
  • pcre

    • Implemented https://wiki.php.net/rfc/pcre2-migration.
      Anatol
      Dmitry
    • Upgrade PCRE2 to 10.32.
      Anatol
    • Fixed bug #75355 (preg_quote() does not quote # control character).
      Michael Moravec
    • Fixed bug #76512 (\w no longer includes unicode characters).
      cmb
    • Fixed bug #76514 (Regression in preg_match makes it fail with PREG_JIT_STACKLIMIT_ERROR).
      Anatol
    • Fixed bug #76909 (preg_match difference between 7.3 and < 7.3).
      Anatol
  • pdo_dblib

    • Implemented FR #69592 (allow 0-column rowsets to be skipped automatically).
      fandrieu
    • Expose TDS version as \PDO::DBLIB_ATTR_TDS_VERSION attribute on \PDO instance.
      fandrieu
    • Treat DATETIME2 columns like DATETIME.
      fandrieu
    • Fixed bug #74243 (allow locales.conf to drive datetime format).
      fandrieu
  • pdo_firebird

    • Fixed bug #74462 (PDO_Firebird returns only NULLs for results with boolean for FIREBIRD >= 3.0).
      Dorin Marcoci
  • pdo_oci

    • Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized before PHP-FPM sets it up).
      Ingmar Runge
  • pdo sqlite

    • Add support for additional open flags
  • pgsql

    • Added new error constants for pg_result_error(): PGSQL_DIAG_SCHEMA_NAME, PGSQL_DIAG_TABLE_NAME, PGSQL_DIAG_COLUMN_NAME, PGSQL_DIAG_DATATYPE_NAME, PGSQL_DIAG_CONSTRAINT_NAME and PGSQL_DIAG_SEVERITY_NONLOCALIZED.
      Kalle
    • Fixed bug #77047 (pg_convert has a broken regex for the 'TIME WITHOUT TIMEZONE' data type).
      Andy Gajetzki
  • phar

    • Fixed bug #74991 (include_path has a 4096 char limit in some cases).
      bwbroersma
    • Fixed bug #65414 (deal with leading slash when adding files correctly).
      bishopb
  • readline

    • Added completion_append_character and completion_suppress_append options to readline_info() if linked against libreadline.
      krageon
  • session

    • Fixed bug #74941 (session fails to start after having headers sent).
      morozov
  • simplexml

    • Fixed bug #54973 (SimpleXML casts integers wrong).
      Nikita
    • Fixed bug #76712 (Assignment of empty string creates extraneous text node).
      cmb
  • sockets

    • Fixed bug #67619 (Validate length on socket_write).
      thiagooak
  • soap

    • Fixed bug #75464 (Wrong reflection on SoapClient::__setSoapHeaders).
      villfa
    • Fixed bug #70469 (SoapClient generates E_ERROR even if exceptions=1 is used).
      Anton Artamonov
    • Fixed bug #50675 (SoapClient can't handle object references correctly).
      Cameron Porter
    • Fixed bug #76348 (WSDL_CACHE_MEMORY causes Segmentation fault).
      cmb
    • Fixed bug #77141 (Signedness issue in SOAP when precision=-1).
      cmb
  • spl

    • Fixed bug #74977 (Appending AppendIterator leads to segfault).
      Andrew Nester
    • Fixed bug #75173 (incorrect behavior of AppendIterator::append in foreach loop).
      jhdxr
    • Fixed bug #74372 (autoloading file with syntax error uses next autoloader, may hide parse error).
      Nikita
    • Fixed bug #75878 (RecursiveTreeIterator::setPostfix has wrong signature).
      cmb
    • Fixed bug #74519 (strange behavior of AppendIterator).
      jhdxr
    • Fixed bug #76131 (mismatch arginfo for splarray constructor).
      carusogabriel
  • sqlite3

    • Updated bundled libsqlite to 3.24.0.
      cmb
  • standard

    • Added is_countable() function.
      Gabriel Caruso
    • Added support for the SameSite cookie directive, including an alternative signature for setcookie(), setrawcookie() and session_set_cookie_params().
      Frederik Bosch
      pmmaga
    • Remove superfluous warnings from inet_ntop()/inet_pton().
      daverandom
    • Fixed bug #75916 (DNS_CAA record results contain garbage).
      Mike
      Philip Sharp
    • Fixed unserialize(), to disable creation of unsupported data structures through manually crafted strings.
      Dmitry
    • Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator that getrandom() is missing).
      sarciszewski
    • Fixed bug #74719 (fopen() should accept NULL as context).
      Alexander Holman
    • Fixed bug #69948 (path/domain are not sanitized in setcookie).
      cmb
    • Fixed bug #75996 (incorrect url in header for mt_rand).
      tatarbj
    • Added hrtime() function, to get high resolution time.
      welting
    • Fixed bug #48016 (stdClass::__setState is not defined although var_export() uses it).
      Andrea
    • Fixed bug #76136 (stream_socket_get_name should enclose IPv6 in brackets).
      seliver
    • Fixed bug #76688 (Disallow excessive parameters after options array).
      pmmaga
    • Fixed bug #76713 (Segmentation fault caused by property corruption).
      Laruence
    • Fixed bug #76755 (setcookie does not accept "double" type for expire time).
      Laruence
    • Fixed bug #76674 (improve array_* failure messages exposing what was passed instead of an array).
      carusogabriel
    • Fixed bug #76803 (ftruncate changes file pointer).
      Anatol
    • Fixed bug #76818 (Memory corruption and segfault).
      Remi
    • Fixed bug #77081 (ftruncate() changes seek pointer in c mode).
      cmb
      Anatol
  • testing

    • Implemented FR #62055 (Make run-tests.php support --CGI-- sections).
      cmb
  • tidy

    • Support using tidyp instead of tidy.
      devnexen
    • Fixed bug #74707 (Tidy has incorrect ReflectionFunction param counts for functions taking tidy).
      Gabriel Caruso
    • Fixed arginfo for tidy::__construct().
      Tyson Andre
  • tokenizer

    • Fixed bug #76437 (token_get_all with TOKEN_PARSE flag fails to recognise close tag).
      Laruence
    • Fixed bug #75218 (Change remaining uncatchable fatal errors for parsing into ParseError).
      Nikita
    • Fixed bug #76538 (token_get_all with TOKEN_PARSE flag fails to recognise close tag with newline).
      Nikita
    • Fixed bug #76991 (Incorrect tokenization of multiple invalid flexible heredoc strings).
      Nikita
  • xml

    • Fixed bug #71592 (External entity processing never fails).
      cmb
  • zlib

    • Added zlib/level context option for compress.zlib wrapper.
      Sara

PHP 7.3


  Represents a security release