PHP 7.3.0 alpha 1 发布,包含大量修复和改进

PHP 7.3.0 alpha 1 已发布,更新内容如下:

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() . (github/MattJeevas)
  • Add net_get_interfaces(). (Sara, Joe, Anatol)
  • 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)
  • 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)

BCMath:

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

cURL:

  • 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)

DBA:

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

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)

interbase:

  • Fixed bug #75453 (Incorrect reflection for ibase_[p]connect). (villfa)

intl:

  • Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead
    of destination). (andrewnester)

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:

  • 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)
  • Updated to Oniguruma 6.8.2. (cmb)

ODBC:

  • Removed support for ODBCRouter. (Kalle)
  • Removed support for Birdstep. (Kalle)

OpenSSL:

  • Added openssl_pkey_derive function. (Jim Zubov)

PCRE:

PDO_DBlib:

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

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(): (Kalle)
    • Requires Postgres 9.3
      • PGSQL_DIAG_SCHEMA_NAME
      • PGSQL_DIAG_TABLE_NAME
      • PGSQL_DIAG_COLUMN_NAME
      • PGSQL_DIAG_DATATYPE_NAME
      • PGSQL_DIAG_CONSTRAINT_NAME
    • Requires Postgres 9.6
      • PGSQL_DIAG_SEVERITY_NONLOCALIZED

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)

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)

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)
  • 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)
  • Remove superfluous warnings from inet_ntop()/inet_pton(). (daverandom)

Testing:

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

Tidy:

  • Fixed bug #74707 (Tidy has incorrect ReflectionFunction param counts for
    functions taking tidy). (Gabriel Caruso)

Zlib:

  • Added zlib/level context option for compress.zlib wrapper. (Sara)
坚持原创技术分享,您的支持将鼓励我继续创作!