皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

PHP 8.0.0 发布

php-8.0.0.tar.gz (sig) [16,731Kb] 26 Nov 2020 3ed7b48d64357d3e8fa9e828dbe7416228f84105b8290c2f9779cd66be31ea71

php-8.0.0.tar.bz2 (sig) [12,971Kb] 26 Nov 2020 5e832dc37eabf444410b4ea6fb3d66b72e44e7407a3b49caa5746edcf71b9d09

php-8.0.0.tar.xz (sig) [10,475Kb] 26 Nov 2020 b5278b3eef584f0c075d15666da4e952fa3859ee509d6b0cc2ed13df13f65ebb

Windows downloads

GPG Keys for PHP 8.0

26 Nov 2020BZ2:

  • Fixed bug #71263 (fread() does not report bzip2.decompress errors).

CLI:

  • Allow debug server binding to an ephemeral port via `-S localhost:0`.

COM:

  • Fixed bug #55847 (DOTNET .NET 4.0 GAC new location).
  • Fixed bug #62474 (com_event_sink crashes on certain arguments).

Calendar:

  • Fixed bug #80007 (Potential type confusion in unixtojd() parameter parsing).

Core:

  • Fixed bug #36365 (scandir duplicates file name at every 65535th file).
  • Fixed bug #49555 (Fatal error “Function must be a string” message should be renamed).
  • Fixed bug #62294 (register_shutdown_function() does not correctly handle exit code).
  • Fixed bug #62609 (Allow implementing Traversable on abstract classes).
  • Fixed bug #65274 (Enhance undefined class constant error with class name).
  • Fixed bug #65275 (Calling exit() in a shutdown function does not change the exit value in CLI).
  • Fixed bug #69084 (Unclear error message when not implementing a renamed abstract trait function).
  • Fixed bug #70839 (Converting optional argument to variadic forbidden by LSP checks).
  • Fixed bug #74558 (Can’t rebind closure returned by Closure::fromCallable()).
  • Fixed bug #77561 (Shebang line not stripped for non-primary script).
  • Fixed bug #77619 (Wrong reflection on MultipleIterator::__construct).
  • Fixed bug #77966 (Cannot alias a method named “namespace”).
  • Fixed bug #78236 (convert error on receiving variables when duplicate [).
  • Fixed bug #78770 (Incorrect callability check inside internal methods).
  • Fixed bug #79108 (Referencing argument in a function makes it a reference in the stack trace).
  • Fixed bug #79368 (“Unexpected end of file” is not an acceptable error message).
  • Fixed bug #79462 (method_exists and property_exists incoherent behavior).
  • Fixed bug #79467 (data:// wrappers are writable).
  • Fixed bug #79521 (Check __set_state structure).
  • Fixed bug #79790 (“Illegal offset type” exception during AST evaluation not handled properly).
  • Fixed bug #79791 (Assertion failure when unsetting variable during binary op).
  • Fixed bug #79828 (Segfault when trying to access non-existing variable).
  • Fixed bug #79841 (Syntax error in configure / unescaped “[]” in php.m4).
  • Fixed bug #79852 (count(DOMNodeList) doesn’t match count(IteratorIterator(DOMNodeList))).
  • Fixed bug #79867 (Promoted untyped properties should get null default value).
  • Fixed bug #79897 (Promoted constructor params with attribs cause crash).
  • Fixed bug #79927 (Generator doesn’t throw exception after multiple yield from iterable).
  • Fixed bug #79946 (Build fails due to undeclared UINT32_C).
  • Fixed bug #79948 (Exit in auto-prepended file does not abort PHP execution).
  • Fixed bug #80045 (memleak after two set_exception_handler calls with __call).
  • Fixed bug #80096 (Segmentation fault with named arguments in nested call).
  • Fixed bug #80109 (Cannot skip arguments when extended debug is enabled).
  • Fixed bug #80225 (broken namespace usage in eval code).
  • Fixed bug #80258 (Windows Deduplication Enabled, randon permission errors).
  • Fixed bug #80280 (ADD_EXTENSION_DEP() fails for ext/standard and ext/date).
  • Fixed bug #80334 (assert() vs named parameters – confusing error).
  • Fixed bug #80055 (Abstract trait methods returning “self” cannot be fulfilled by traits).
  • Fixed faulty generator cleanup with yield from.
  • Implement #[Attr] Attribute syntax as per final vote in RFC https://wiki.php.net/rfc/shorter_attribute_syntax_change
  • Implemented FR #47074 (phpinfo() reports “On” as 1 for the some extensions).
  • Implemented FR #72089 (require() throws fatal error instead of exception).
  • Removed the pdo_odbc.db2_instance_name php.ini directive.
  • Use SSE2 instructions do locale independent strtolower.

Curl:

  • Bumped required libcurl version to 7.29.0.
  • Fixed bug #80121 (Null pointer deref if CurlHandle directly instantiated).

DOM:

  • Add property DOMXPath::$registerNodeNamespaces and constructor argument that allow global flag to configure query() or evaluate() calls.
  • Fixed bug #79968 (DOMChildNode API crash on unattached nodes).
  • Fixed bug #80268 (loadHTML() truncates at NUL bytes).

Date:

  • Fixed bug #60302 (DateTime::createFromFormat should new static(), not new self()).
  • Fixed bug #65547 (Default value for sunrise/sunset zenith still wrong).
  • Fixed bug #69044 (discrepancy between time and microtime).
  • Fixed bug #80057 (DateTimeImmutable::createFromFormat() does not populate time).
  • Implemented FR #79903 (datetime: new format “p”, same as “P” but returning “Z” for UTC).

Enchant:

  • Add LIBENCHANT_VERSION macro.
  • Add enchant_dict_add and enchant_dict_is_added functions.
  • Deprecate enchant_broker_set_dict_path, enchant_broker_get_dict_path, enchant_dict_add_to_personal and enchant_dict_is_in_session.
  • Use libenchant-2 when available.

FFI:

  • Added FFI\CType::getName() method.
  • Fixed bug #79177 (FFI doesn’t handle well PHP exceptions within callback).
  • Fixed bug #79749 (Converting FFI instances to bool fails).

FPM:

  • Add pm.status_listen option.

Fileinfo:

  • Upgrade to libmagic 5.39.

GD:

  • Added imagegetinterpolation().
  • Fixed bug #55005 (imagepolygon num_points requirement).
  • Made the $num_points parameter of php_imagepolygon optional.
  • Removed deprecated image2wbmp().
  • Removed deprecated png2wbmp() and jpeg2wbmp().
  • Replaced gd resources with objects.

IMAP:

  • Fixed bug #64076 (imap_sort() does not return FALSE on failure).
  • Fixed bug #76618 (segfault on imap_reopen).
  • Fixed bug #80213 (imap_mail_compose() segfaults on certain $bodies).
  • Fixed bug #80215 (imap_mail_compose() may modify by-val parameters).
  • Fixed bug #80216 (imap_mail_compose() does not validate types/encodings).
  • Fixed bug #80220 (imap_mail_compose() may leak memory).
  • Fixed bug #80223 (imap_mail_compose() leaks envelope on malformed bodies).
  • Fixed bug #80226 (imap_sort() leaks sortpgm memory).
  • Fixed bug #80239 (imap_rfc822_write_address() leaks memory).
  • Fixed bug #80242 (imap_mail_compose() segfaults for multipart with rfc822).
  • Fixed minor regression caused by fixing bug #80220.

Iconv:

  • Dropped support for iconv without proper errno setting.

Intl:

  • Removed deprecated INTL_IDNA_VARIANT_2003.

JIT:

  • Fixed bug #77857 (Wrong result if executed with JIT).
  • Fixed bug #79255 (PHP cannot be compiled with enable JIT).
  • Fixed bug #79582 (Crash seen when opcache.jit=1235 and opcache.jit_debug=2).
  • Fixed bug #79743 (Fatal error when assigning to array property with JIT enabled).
  • Fixed bug #79864 (JIT segfault in Symfony OptionsResolver).
  • Fixed bug #79888 (Incorrect execution with JIT enabled).

JSON:

  • The JSON extension is now an integral part of PHP and cannot be disabled as per RFC: https://wiki.php.net/rfc/always_enable_json (tandre)

LDAP:

  • Fixed memory leaks.
  • Removed deprecated ldap_sort.

MBString:

  • Fixed bug #76999 (mb_regex_set_options() return current options).
  • Removed the unused $is_hex parameter from mb_decode_numericentity().

MySQLi:

  • Fixed bug #76809 (SSL settings aren’t respected when persistent connections are used).

Mysqlnd:

  • Fixed #60594 (mysqlnd exposes 160 lines of stats in phpinfo).

OCI8:

  • Deprecated old OCI8 function aliases.
  • Modernized oci_register_taf_callback() callable argument parsing implementation.
  • Removed obsolete no-op function oci_internal_debug().

ODBC:

  • Fixed bug #22986 (odbc_connect() may reuse persistent connection).
  • Fixed bug #44618 (Fetching may rely on uninitialized data).

Opcache:

  • Fixed bug #76535 (Opcache does not replay compile-time warnings).
  • Fixed bug #78654 (Incorrectly computed opcache checksum on files with non-ascii characters).
  • Fixed bug #79665 (ini_get() and opcache_get_configuration() inconsistency).
  • Fixed bug #80030 (Optimizer segfault with isset on static property with undef dynamic class name).
  • Fixed bug #80175 (PHP8 RC1 – JIT Buffer not working).
  • Fixed bug #80184 (Complex expression in while / if statements resolves to false incorrectly).
  • Fixed bug #80255 (Opcache bug (bad condition result) in 8.0.0rc1).
  • Fixed run-time binding of preloaded dynamically declared function.

OpenSSL:

  • Added Cryptographic Message Syntax (CMS) support.

PCRE:

  • Don’t ignore invalid escape sequences.
  • Updated to PCRE2 10.35.

PDO:

  • Changed default PDO error mode to exceptions.
  • Fixed bug #77849 (Disable cloning of PDO handle/connection objects).

PDO_Firebird:

  • Fixed bug #64937 (Firebird PDO preprocessing sql).

PDO_OCI:

  • Added support for setting and getting the oracle OCI 18c call timeout.

PDO_PGSQL:

  • Bumped required libpq version to 9.1.

PGSQL:

  • Bumped required libpq version to 9.1.

Phpdbg:

  • Fixed bug #76596 (phpdbg support for display_errors=stderr).
  • Fixed bug #76801 (too many open files).
  • Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints).
  • Fixed bug #77805 (phpdbg build fails when readline is shared).

Reflection:

  • Fixed bug #64592 (ReflectionClass::getMethods() returns methods out of scope).
  • Fixed bug #69180 (Reflection does not honor trait conflict resolution / method aliasing).
  • Fixed bug #74939 (Nested traits’ aliased methods are lowercased).
  • Fixed bug #77325 (ReflectionClassConstant::$class returns wrong class when extending).
  • Fixed bug #78697 (ReflectionClass::implementsInterface – inaccurate error message with traits).
  • Fixed bug #80190 (ReflectionMethod::getReturnType() does not handle static as part of union type).
  • Fixed bug #80299 (ReflectionFunction->invokeArgs confused in arguments).
  • Fixed bug #80370 (getAttributes segfault on dynamic properties).
  • Implement #79628 (Add $filter parameter for ReflectionClass::getConstants and ReflectionClass::getReflectionConstants) (carusogabriel)
  • Implement ReflectionProperty::hasDefaultValue and Reflection::getDefaultValue (beberlei)

SNMP:

  • Fixed bug #70461 (disable md5 code when it is not supported in net-snmp).

SPL:

  • Fixed bug #65006 (spl_autoload_register fails with multiple callables using self, same method).
  • Fixed bug #65387 (Circular references in SPL iterators are not garbage collected).
  • Fixed bug #71236 (Second call of spl_autoload_register() does nothing if it has no arguments).
  • Fixed bug #79987 (Memory leak in SplFileInfo because of missing zend_restore_error_handling()).
  • SplFixedArray is now IteratorAggregate rather than Iterator.

SQLite3:

  • Added SQLite3::setAuthorizer() and respective class constants.

Session:

  • Fixed bug #73529 (session_decode() silently fails on wrong input).
  • Fixed bug #78624 (session_gc return value for user defined session handlers).

Shmop:

  • Converted shmop resources to objects.

SimpleXML:

  • Fixed bug #63575 (Root elements are not properly cloned).
  • Fixed bug #75245 (Don’t set content of elements with only whitespaces).

Sodium:

  • Fixed bug #77646 (sign_detached() strings not terminated).

Standard:

  • Don’t force rebuild of symbol table, when populating $http_response_header variable by the HTTP stream wrapper.
  • Fixed bug #47983 (mixed LF and CRLF line endings in mail()).
  • Fixed bug #64060 (lstat_stat_variation7.phpt fails on certain file systems).
  • Fixed bug #75902 (str_replace should warn when misused with nested arrays).
  • Fixed bug #76859 (stream_get_line skips data if used with data-generating filter).
  • Fixed bug #77204 (getimagesize(): Read error! should mention file path).
  • Fixed bug #78385 (parse_url() does not include ‘query’ when question mark is the last char).
  • Fixed bug #79868 (Sorting with array_unique gives unwanted result).
  • Fixed bug #80256 (file_get_contents strip first line with chunked encoding redirect).
  • Fixed bug #80266 (parse_url silently drops port number 0).
  • Fixed bug #80290 (Double free when ASSERT_CALLBACK is used with a dynamic message).
  • Implemented FR #78638 (__PHP_Incomplete_Class should be final).
  • Made quoting of cmd execution functions consistent.

Tidy:

  • Removed the unused $use_include_path parameter from tidy_repair_string().

Tokenizer:

  • Fixed bug #80328 (PhpToken::getAll() confusing name).

XML:

  • Fixed bug #76874 (xml_parser_free() should never leak memory).

XMLWriter:

  • Changed functions to accept/return XMLWriter objects instead of resources.
  • Implemented FR #79344 (xmlwriter_write_attribute_ns: $prefix should be nullable).
  • Removed return types from XMLWriter stubs.

Zip:

  • Add “flags” options to ZipArchive::addGlob and addPattern methods keeping previous behavior having FL_OVERWRITE by default.
  • Add ZipArchive::EM_UNKNOWN and ZipArchive::EM_TRAD_PKWARE constants.
  • Add ZipArchive::isCompressionMethodSupported() and ZipArchive::isEncryptionMethodSupported() method (libzip 1.7.0).
  • Add ZipArchive::replaceFile() method.
  • Add ZipArchive::setCancelCallback method (since libzip 1.6.0).
  • Add ZipArchive::setMtimeName and ZipArchive::setMtimeIndex methods.
  • Add ZipArchive::setProgressCallback method (since libzip 1.3.0).
  • Add lastId property to ZipArchive.
  • Add optional “flags” parameter to ZipArchive::addEmptyDir, addFile and addFromString methods.
  • Fixed bug #50678 (files extracted by ZipArchive class lost their original modified time).
  • Fixed bug #72374 (remove_path strips first char of filename).
  • Implemented FR #77960 (add compression / encryption options for ZipArchive::addGlob and ZipArchive::addPattern).
  • ZipArchive::status and ZipArchive::statusSys properties and ZipArchive::getStatusString() method stay valid after the archive is closed.

Zlib:

  • Fixed bug #71417 (fread() does not report zlib.inflate errors).
  • Fixed bug #78792 (zlib.output_compression disabled by Content-Type: image/).

转自 https://www.php.net/ChangeLog-8.php#8.0.0