diff --git a/7.4.27/win/.DS_Store b/7.4.27/win/.DS_Store deleted file mode 100644 index 45fcabb..0000000 Binary files a/7.4.27/win/.DS_Store and /dev/null differ diff --git a/7.4.27/win/README.md b/7.4.27/win/README.md new file mode 100644 index 0000000..6b9fe6e --- /dev/null +++ b/7.4.27/win/README.md @@ -0,0 +1,134 @@ +
+ + PHP + +
+ +# The PHP Interpreter + +PHP is a popular general-purpose scripting language that is especially suited to +web development. Fast, flexible and pragmatic, PHP powers everything from your +blog to the most popular websites in the world. PHP is distributed under the PHP +License v3.01. + +[![Build status](https://travis-ci.org/php/php-src.svg?branch=master)](https://travis-ci.org/php/php-src) +[![Build status](https://ci.appveyor.com/api/projects/status/meyur6fviaxgdwdy?svg=true)](https://ci.appveyor.com/project/php/php-src) +[![Build Status](https://dev.azure.com/phpazuredevops/php/_apis/build/status/php.php-src?branchName=PHP-7.4)](https://dev.azure.com/phpazuredevops/php/_build/latest?definitionId=1&branchName=PHP-7.4) + +## Documentation + +The PHP manual is available at [php.net/docs](https://php.net/docs). + +## Installation + +### Prebuilt packages and binaries + +Prebuilt packages and binaries can be used to get up and running fast with PHP. + +For Windows, the PHP binaries can be obtained from +[windows.php.net](https://windows.php.net). After extracting the archive the +`*.exe` files are ready to use. + +For other systems, see the [installation chapter](https://php.net/install). + +### Building PHP source code + +*For Windows, see [Build your own PHP on Windows](https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2).* + +PHP uses autotools on Unix systems to configure the build: + + ./buildconf + ./configure [options] + +*See `./configure -h` for configuration options.* + + make [options] + +*See `make -h` for make options.* + +The `-j` option shall set the maximum number of jobs `make` can use for the +build: + + make -j4 + +Shall run `make` with a maximum of 4 concurrent jobs: Generally the maximum +number of jobs should not exceed the number of cores available. + +## Testing PHP source code + +PHP ships with an extensive test suite, the command `make test` is used after +successful compilation of the sources to run this test suite. + +It is possible to run tests using multiple cores by setting `-jN` in +`TEST_PHP_ARGS`: + + make TEST_PHP_ARGS=-j4 test + +Shall run `make test` with a maximum of 4 concurrent jobs: Generally the maximum +number of jobs should not exceed the number of cores available. + +The [qa.php.net](https://qa.php.net) site provides more detailed info about +testing and quality assurance. + +## Installing PHP built from source + +After a successful build (and test), PHP may be installed with: + + make install + +Depending on your permissions and prefix, `make install` may need super user +permissions. + +## PHP extensions + +Extensions provide additional functionality on top of PHP. PHP consists of many +essential bundled extensions. Additional extensions can be found in the PHP +Extension Community Library - [PECL](https://pecl.php.net). + +## Contributing + +The PHP source code is located in the Git repository at +[git.php.net](https://git.php.net). Contributions are most welcome by forking +the [GitHub mirror repository](https://github.com/php/php-src) and sending a +pull request. + +Discussions are done on GitHub, but depending on the topic can also be relayed +to the official PHP developer mailing list internals@lists.php.net. + +New features require an RFC and must be accepted by the developers. See +[Request for comments - RFC](https://wiki.php.net/rfc) and +[Voting on PHP features](https://wiki.php.net/rfc/voting) for more information +on the process. + +Bug fixes **do not** require an RFC but require a bug tracker ticket. Open a +ticket at [bugs.php.net](https://bugs.php.net) and reference the bug id using +`#NNNNNN`. + + Fix #55371: get_magic_quotes_gpc() throws deprecation warning + + After removing magic quotes, the get_magic_quotes_gpc function caused a + deprecated warning. get_magic_quotes_gpc can be used to detect the + magic_quotes behavior and therefore should not raise a warning at any time. + The patch removes this warning. + +Pull requests are not merged directly on GitHub. All PRs will be pulled and +pushed through [git.php.net](https://git.php.net). See +[Git workflow](https://wiki.php.net/vcs/gitworkflow) for more details. + +### Guidelines for contributors + +See further documents in the repository for more information on how to +contribute: + +- [Contributing to PHP](/CONTRIBUTING.md) +- [PHP coding standards](/CODING_STANDARDS.md) +- [Mailinglist rules](/docs/mailinglist-rules.md) +- [PHP release process](/docs/release-process.md) + +## Credits + +For the list of people who've put work into PHP, please see the +[PHP credits page](https://php.net/credits.php). diff --git a/7.4.27/win/deplister.exe b/7.4.27/win/deplister.exe new file mode 100644 index 0000000..8b58d26 Binary files /dev/null and b/7.4.27/win/deplister.exe differ diff --git a/7.4.27/win/dev/php7ts.lib b/7.4.27/win/dev/php7ts.lib new file mode 100644 index 0000000..26d2b30 Binary files /dev/null and b/7.4.27/win/dev/php7ts.lib differ diff --git a/7.4.27/win/ext/.DS_Store b/7.4.27/win/ext/.DS_Store deleted file mode 100644 index 5008ddf..0000000 Binary files a/7.4.27/win/ext/.DS_Store and /dev/null differ diff --git a/7.4.27/win/ext/php_oci8_12c.dll b/7.4.27/win/ext/php_oci8_12c.dll new file mode 100644 index 0000000..e156f70 Binary files /dev/null and b/7.4.27/win/ext/php_oci8_12c.dll differ diff --git a/7.4.27/win/ext/php_pdo_firebird.dll b/7.4.27/win/ext/php_pdo_firebird.dll new file mode 100644 index 0000000..8e9c78d Binary files /dev/null and b/7.4.27/win/ext/php_pdo_firebird.dll differ diff --git a/7.4.27/win/ext/php_pdo_oci.dll b/7.4.27/win/ext/php_pdo_oci.dll new file mode 100644 index 0000000..5bfbcd9 Binary files /dev/null and b/7.4.27/win/ext/php_pdo_oci.dll differ diff --git a/7.4.27/win/ext/php_pdo_pgsql.dll b/7.4.27/win/ext/php_pdo_pgsql.dll new file mode 100644 index 0000000..f9b0453 Binary files /dev/null and b/7.4.27/win/ext/php_pdo_pgsql.dll differ diff --git a/7.4.27/win/ext/php_pgsql.dll b/7.4.27/win/ext/php_pgsql.dll new file mode 100644 index 0000000..ed01c03 Binary files /dev/null and b/7.4.27/win/ext/php_pgsql.dll differ diff --git a/7.4.27/win/ext/php_soap.dll b/7.4.27/win/ext/php_soap.dll new file mode 100644 index 0000000..314cb29 Binary files /dev/null and b/7.4.27/win/ext/php_soap.dll differ diff --git a/7.4.27/win/extras/ssl/openssl.cnf b/7.4.27/win/extras/ssl/openssl.cnf new file mode 100644 index 0000000..4acca4b --- /dev/null +++ b/7.4.27/win/extras/ssl/openssl.cnf @@ -0,0 +1,350 @@ +# +# OpenSSL example configuration file. +# This is mostly being used for generation of certificate requests. +# + +# Note that you can include other files from the main configuration +# file using the .include directive. +#.include filename + +# This definition stops the following lines choking if HOME isn't +# defined. +HOME = . + +# Extra OBJECT IDENTIFIER info: +#oid_file = $ENV::HOME/.oid +oid_section = new_oids + +# To use this configuration file with the "-extfile" option of the +# "openssl x509" utility, name here the section containing the +# X.509v3 extensions to use: +# extensions = +# (Alternatively, use a configuration file that has only +# X.509v3 extensions in its main [= default] section.) + +[ new_oids ] + +# We can add new OIDs in here for use by 'ca', 'req' and 'ts'. +# Add a simple OID like this: +# testoid1=1.2.3.4 +# Or use config file substitution like this: +# testoid2=${testoid1}.5.6 + +# Policies used by the TSA examples. +tsa_policy1 = 1.2.3.4.1 +tsa_policy2 = 1.2.3.4.5.6 +tsa_policy3 = 1.2.3.4.5.7 + +#################################################################### +[ ca ] +default_ca = CA_default # The default ca section + +#################################################################### +[ CA_default ] + +dir = ./demoCA # Where everything is kept +certs = $dir/certs # Where the issued certs are kept +crl_dir = $dir/crl # Where the issued crl are kept +database = $dir/index.txt # database index file. +#unique_subject = no # Set to 'no' to allow creation of + # several certs with same subject. +new_certs_dir = $dir/newcerts # default place for new certs. + +certificate = $dir/cacert.pem # The CA certificate +serial = $dir/serial # The current serial number +crlnumber = $dir/crlnumber # the current crl number + # must be commented out to leave a V1 CRL +crl = $dir/crl.pem # The current CRL +private_key = $dir/private/cakey.pem# The private key + +x509_extensions = usr_cert # The extensions to add to the cert + +# Comment out the following two lines for the "traditional" +# (and highly broken) format. +name_opt = ca_default # Subject Name options +cert_opt = ca_default # Certificate field options + +# Extension copying option: use with caution. +# copy_extensions = copy + +# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs +# so this is commented out by default to leave a V1 CRL. +# crlnumber must also be commented out to leave a V1 CRL. +# crl_extensions = crl_ext + +default_days = 365 # how long to certify for +default_crl_days= 30 # how long before next CRL +default_md = default # use public key default MD +preserve = no # keep passed DN ordering + +# A few difference way of specifying how similar the request should look +# For type CA, the listed attributes must be the same, and the optional +# and supplied fields are just that :-) +policy = policy_match + +# For the CA policy +[ policy_match ] +countryName = match +stateOrProvinceName = match +organizationName = match +organizationalUnitName = optional +commonName = supplied +emailAddress = optional + +# For the 'anything' policy +# At this point in time, you must list all acceptable 'object' +# types. +[ policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional + +#################################################################### +[ req ] +default_bits = 2048 +default_keyfile = privkey.pem +distinguished_name = req_distinguished_name +attributes = req_attributes +x509_extensions = v3_ca # The extensions to add to the self signed cert + +# Passwords for private keys if not present they will be prompted for +# input_password = secret +# output_password = secret + +# This sets a mask for permitted string types. There are several options. +# default: PrintableString, T61String, BMPString. +# pkix : PrintableString, BMPString (PKIX recommendation before 2004) +# utf8only: only UTF8Strings (PKIX recommendation after 2004). +# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). +# MASK:XXXX a literal mask value. +# WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings. +string_mask = utf8only + +# req_extensions = v3_req # The extensions to add to a certificate request + +[ req_distinguished_name ] +countryName = Country Name (2 letter code) +countryName_default = AU +countryName_min = 2 +countryName_max = 2 + +stateOrProvinceName = State or Province Name (full name) +stateOrProvinceName_default = Some-State + +localityName = Locality Name (eg, city) + +0.organizationName = Organization Name (eg, company) +0.organizationName_default = Internet Widgits Pty Ltd + +# we can do this but it is not needed normally :-) +#1.organizationName = Second Organization Name (eg, company) +#1.organizationName_default = World Wide Web Pty Ltd + +organizationalUnitName = Organizational Unit Name (eg, section) +#organizationalUnitName_default = + +commonName = Common Name (e.g. server FQDN or YOUR name) +commonName_max = 64 + +emailAddress = Email Address +emailAddress_max = 64 + +# SET-ex3 = SET extension number 3 + +[ req_attributes ] +challengePassword = A challenge password +challengePassword_min = 4 +challengePassword_max = 20 + +unstructuredName = An optional company name + +[ usr_cert ] + +# These extensions are added when 'ca' signs a request. + +# This goes against PKIX guidelines but some CAs do it and some software +# requires this to avoid interpreting an end user certificate as a CA. + +basicConstraints=CA:FALSE + +# Here are some examples of the usage of nsCertType. If it is omitted +# the certificate can be used for anything *except* object signing. + +# This is OK for an SSL server. +# nsCertType = server + +# For an object signing certificate this would be used. +# nsCertType = objsign + +# For normal client use this is typical +# nsCertType = client, email + +# and for everything including object signing: +# nsCertType = client, email, objsign + +# This is typical in keyUsage for a client certificate. +# keyUsage = nonRepudiation, digitalSignature, keyEncipherment + +# This will be displayed in Netscape's comment listbox. +nsComment = "OpenSSL Generated Certificate" + +# PKIX recommendations harmless if included in all certificates. +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid,issuer + +# This stuff is for subjectAltName and issuerAltname. +# Import the email address. +# subjectAltName=email:copy +# An alternative to produce certificates that aren't +# deprecated according to PKIX. +# subjectAltName=email:move + +# Copy subject details +# issuerAltName=issuer:copy + +#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem +#nsBaseUrl +#nsRevocationUrl +#nsRenewalUrl +#nsCaPolicyUrl +#nsSslServerName + +# This is required for TSA certificates. +# extendedKeyUsage = critical,timeStamping + +[ v3_req ] + +# Extensions to add to a certificate request + +basicConstraints = CA:FALSE +keyUsage = nonRepudiation, digitalSignature, keyEncipherment + +[ v3_ca ] + + +# Extensions for a typical CA + + +# PKIX recommendation. + +subjectKeyIdentifier=hash + +authorityKeyIdentifier=keyid:always,issuer + +basicConstraints = critical,CA:true + +# Key usage: this is typical for a CA certificate. However since it will +# prevent it being used as an test self-signed certificate it is best +# left out by default. +# keyUsage = cRLSign, keyCertSign + +# Some might want this also +# nsCertType = sslCA, emailCA + +# Include email address in subject alt name: another PKIX recommendation +# subjectAltName=email:copy +# Copy issuer details +# issuerAltName=issuer:copy + +# DER hex encoding of an extension: beware experts only! +# obj=DER:02:03 +# Where 'obj' is a standard or added object +# You can even override a supported extension: +# basicConstraints= critical, DER:30:03:01:01:FF + +[ crl_ext ] + +# CRL extensions. +# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. + +# issuerAltName=issuer:copy +authorityKeyIdentifier=keyid:always + +[ proxy_cert_ext ] +# These extensions should be added when creating a proxy certificate + +# This goes against PKIX guidelines but some CAs do it and some software +# requires this to avoid interpreting an end user certificate as a CA. + +basicConstraints=CA:FALSE + +# Here are some examples of the usage of nsCertType. If it is omitted +# the certificate can be used for anything *except* object signing. + +# This is OK for an SSL server. +# nsCertType = server + +# For an object signing certificate this would be used. +# nsCertType = objsign + +# For normal client use this is typical +# nsCertType = client, email + +# and for everything including object signing: +# nsCertType = client, email, objsign + +# This is typical in keyUsage for a client certificate. +# keyUsage = nonRepudiation, digitalSignature, keyEncipherment + +# This will be displayed in Netscape's comment listbox. +nsComment = "OpenSSL Generated Certificate" + +# PKIX recommendations harmless if included in all certificates. +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid,issuer + +# This stuff is for subjectAltName and issuerAltname. +# Import the email address. +# subjectAltName=email:copy +# An alternative to produce certificates that aren't +# deprecated according to PKIX. +# subjectAltName=email:move + +# Copy subject details +# issuerAltName=issuer:copy + +#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem +#nsBaseUrl +#nsRevocationUrl +#nsRenewalUrl +#nsCaPolicyUrl +#nsSslServerName + +# This really needs to be in place for it to be a proxy certificate. +proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo + +#################################################################### +[ tsa ] + +default_tsa = tsa_config1 # the default TSA section + +[ tsa_config1 ] + +# These are used by the TSA reply generation only. +dir = ./demoCA # TSA root directory +serial = $dir/tsaserial # The current serial number (mandatory) +crypto_device = builtin # OpenSSL engine to use for signing +signer_cert = $dir/tsacert.pem # The TSA signing certificate + # (optional) +certs = $dir/cacert.pem # Certificate chain to include in reply + # (optional) +signer_key = $dir/private/tsakey.pem # The TSA private key (optional) +signer_digest = sha256 # Signing digest to use. (Optional) +default_policy = tsa_policy1 # Policy if request did not specify it + # (optional) +other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional) +digests = sha1, sha256, sha384, sha512 # Acceptable message digests (mandatory) +accuracy = secs:1, millisecs:500, microsecs:100 # (optional) +clock_precision_digits = 0 # number of digits after dot. (optional) +ordering = yes # Is ordering defined for timestamps? + # (optional, default: no) +tsa_name = yes # Must the TSA name be included in the reply? + # (optional, default: no) +ess_cert_id_chain = no # Must the ESS cert id chain be included? + # (optional, default: no) +ess_cert_id_alg = sha1 # algorithm to compute certificate + # identifier (optional, default: sha1) diff --git a/7.4.27/win/glib-2.dll b/7.4.27/win/glib-2.dll new file mode 100644 index 0000000..6e92f08 Binary files /dev/null and b/7.4.27/win/glib-2.dll differ diff --git a/7.4.27/win/gmodule-2.dll b/7.4.27/win/gmodule-2.dll new file mode 100644 index 0000000..21cf2ca Binary files /dev/null and b/7.4.27/win/gmodule-2.dll differ diff --git a/7.4.27/win/lib/enchant/libenchant_ispell.dll b/7.4.27/win/lib/enchant/libenchant_ispell.dll new file mode 100644 index 0000000..6b1d3c0 Binary files /dev/null and b/7.4.27/win/lib/enchant/libenchant_ispell.dll differ diff --git a/7.4.27/win/lib/enchant/libenchant_myspell.dll b/7.4.27/win/lib/enchant/libenchant_myspell.dll new file mode 100644 index 0000000..13061b1 Binary files /dev/null and b/7.4.27/win/lib/enchant/libenchant_myspell.dll differ diff --git a/7.4.27/win/libcrypto-1_1-x64.dll b/7.4.27/win/libcrypto-1_1-x64.dll new file mode 100644 index 0000000..03008cf Binary files /dev/null and b/7.4.27/win/libcrypto-1_1-x64.dll differ diff --git a/7.4.27/win/libenchant.dll b/7.4.27/win/libenchant.dll new file mode 100644 index 0000000..102a65e Binary files /dev/null and b/7.4.27/win/libenchant.dll differ diff --git a/7.4.27/win/libpq.dll b/7.4.27/win/libpq.dll new file mode 100644 index 0000000..6568e70 Binary files /dev/null and b/7.4.27/win/libpq.dll differ diff --git a/7.4.27/win/libsasl.dll b/7.4.27/win/libsasl.dll new file mode 100644 index 0000000..410096c Binary files /dev/null and b/7.4.27/win/libsasl.dll differ diff --git a/7.4.27/win/libsodium.dll b/7.4.27/win/libsodium.dll new file mode 100644 index 0000000..0b3f4d4 Binary files /dev/null and b/7.4.27/win/libsodium.dll differ diff --git a/7.4.27/win/libsqlite3.dll b/7.4.27/win/libsqlite3.dll new file mode 100644 index 0000000..a5bdf47 Binary files /dev/null and b/7.4.27/win/libsqlite3.dll differ diff --git a/7.4.27/win/libssh2.dll b/7.4.27/win/libssh2.dll new file mode 100644 index 0000000..050556f Binary files /dev/null and b/7.4.27/win/libssh2.dll differ diff --git a/7.4.27/win/libssl-1_1-x64.dll b/7.4.27/win/libssl-1_1-x64.dll new file mode 100644 index 0000000..cee6061 Binary files /dev/null and b/7.4.27/win/libssl-1_1-x64.dll differ diff --git a/7.4.27/win/license.txt b/7.4.27/win/license.txt new file mode 100644 index 0000000..6a15be5 --- /dev/null +++ b/7.4.27/win/license.txt @@ -0,0 +1,68 @@ +-------------------------------------------------------------------- + The PHP License, version 3.01 +Copyright (c) 1999 - 2021 The PHP Group. All rights reserved. +-------------------------------------------------------------------- + +Redistribution and use in source and binary forms, with or without +modification, is permitted provided that the following conditions +are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. The name "PHP" must not be used to endorse or promote products + derived from this software without prior written permission. For + written permission, please contact group@php.net. + + 4. Products derived from this software may not be called "PHP", nor + may "PHP" appear in their name, without prior written permission + from group@php.net. You may indicate that your software works in + conjunction with PHP by saying "Foo for PHP" instead of calling + it "PHP Foo" or "phpfoo" + + 5. The PHP Group may publish revised and/or new versions of the + license from time to time. Each version will be given a + distinguishing version number. + Once covered code has been published under a particular version + of the license, you may always continue to use it under the terms + of that version. You may also choose to use such covered code + under the terms of any subsequent version of the license + published by the PHP Group. No one other than the PHP Group has + the right to modify the terms applicable to covered code created + under this License. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes PHP software, freely available from + ". + +THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND +ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP +DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------- + +This software consists of voluntary contributions made by many +individuals on behalf of the PHP Group. + +The PHP Group can be contacted via Email at group@php.net. + +For more information on the PHP Group and the PHP project, +please see . + +PHP includes the Zend Engine, freely available at +. diff --git a/7.4.27/win/news.txt b/7.4.27/win/news.txt new file mode 100644 index 0000000..c27e069 --- /dev/null +++ b/7.4.27/win/news.txt @@ -0,0 +1,2782 @@ +PHP NEWS +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| +16 Dec 2021, PHP 7.4.27 + +- Core: + . Fixed bug #81626 (Error on use static:: in __сallStatic() wrapped to + Closure::fromCallable()). (Nikita) + +- FPM: + . Fixed bug #81513 (Future possibility for heap overflow in FPM zlog). + (Jakub Zelenka) + +- GD: + . Fixed bug #71316 (libpng warning from imagecreatefromstring). (cmb) + +- OpenSSL: + . Fixed bug #75725 (./configure: detecting RAND_egd). (Dilyan Palauzov) + +- PCRE: + . Fixed bug #74604 (Out of bounds in php_pcre_replace_impl). (cmb, Dmitry) + +- Standard: + . Fixed bug #81618 (dns_get_record fails on FreeBSD for missing type). + (fsbruva) + . Fixed bug #81659 (stream_get_contents() may unnecessarily overallocate). + (cmb) + +18 Nov 2021, PHP 7.4.26 + +- Core: + . Fixed bug #81518 (Header injection via default_mimetype / default_charset). + (cmb) + +- Date: + . Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2). + (cmb) + +- DBA: + . Fixed bug #81588 (TokyoCabinet driver leaks memory). (girgias) + +- MBString: + . Fixed bug #76167 (mbstring may use pointer from some previous request). + (cmb, cataphract) + +- MySQLi: + . Fixed bug #81494 (Stopped unbuffered query does not throw error). (Nikita) + +- PCRE: + . Fixed bug #81424 (PCRE2 10.35 JIT performance regression). (cmb) + +- Streams: + . Fixed bug #54340 (Memory corruption with user_filter). (Nikita) + +- XML: + . Fixed bug #79971 (special character is breaking the path in xml function). + (CVE-2021-21707) (cmb) + +21 Oct 2021, PHP 7.4.25 + +- DOM: + . Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID). + (Viktor Volkov) + +- FFI: + . Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not + defined). (Dmitry) + +- Fileinfo: + . Fixed bug #78987 (High memory usage during encoding detection). (Anatol) + +- Filter: + . Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing). + (cmb, Nikita) + +- FPM: + . Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege + escalation) (CVE-2021-21703). (Jakub Zelenka) + +- SPL: + . Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free). + (cmb, Nikita, Tyson Andre) + +- Streams: + . Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper). + (cmb) + +- XML: + . Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace). + (Aliaksandr Bystry, cmb) + +- Zip: + . Fixed bug #81490 (ZipArchive::extractTo() may leak memory). (cmb, Remi) + . Fixed bug #77978 (Dirname ending in colon unzips to wrong dir). (cmb) + +23 Sep 2021, PHP 7.4.24 + +- Core: + . Fixed bug #81302 (Stream position after stream filter removed). (cmb) + . Fixed bug #81346 (Non-seekable streams don't update position after write). + (cmb) + . Fixed bug #73122 (Integer Overflow when concatenating strings). (cmb) + +-GD: + . Fixed bug #53580 (During resize gdImageCopyResampled cause colors change). + (cmb) + +- Opcache: + . Fixed bug #81353 (segfault with preloading and statically bound closure). + (Nikita) + +- Shmop: + . Fixed bug #81407 (shmop_open won't attach and causes php to crash). (cmb) + +- Standard: + . Fixed bug #71542 (disk_total_space does not work with relative paths). (cmb) + . Fixed bug #81400 (Unterminated string in dns_get_record() results). (cmb) + +- SysVMsg: + . Fixed bug #78819 (Heap Overflow in msg_send). (cmb) + +- XML: + . Fixed bug #81351 (xml_parse may fail, but has no error code). (cmb, Nikita) + +- Zip: + . Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination). + (CVE-2021-21706) (cmb) + +26 Aug 2021, PHP 7.4.23 + +- Core: + . Fixed bug #72595 (php_output_handler_append illegal write access). (cmb) + . Fixed bug #66719 (Weird behaviour when using get_called_class() with + call_user_func()). (Nikita) + . Fixed bug #81305 (Built-in Webserver Drops Requests With "Upgrade" Header). + (cmb) + +- BCMath: + . Fixed bug #78238 (BCMath returns "-0"). (cmb) + +- CGI: + . Fixed bug #80849 (HTTP Status header truncation). (cmb) + +- GD: + . Fixed bug #51498 (imagefilledellipse does not work for large circles). (cmb) + +- MySQLi: + . Fixed bug #74544 (Integer overflow in mysqli_real_escape_string()). (cmb, + johannes) + +- OpenSSL: + . Fixed bug #81327 (Error build openssl extension on php 7.4.22). (cmb) + +- PDO_ODBC: + . Fixed bug #81252 (PDO_ODBC doesn't account for SQL_NO_TOTAL). (cmb) + +- Shmop: + . Fixed bug #81283 (shmop can't read beyond 2147483647 bytes). (cmb, Nikita) + +- Standard: + . Fixed bug #72146 (Integer overflow on substr_replace). (cmb) + . Fixed bug #81265 (getimagesize returns 0 for 256px ICO images). + (George Dietrich) + . Fixed bug #74960 (Heap buffer overflow via str_repeat). (cmb, Dmitry) + +- Streams: + . Fixed bug #81294 (Segfault when removing a filter). (cmb) + +29 Jul 2021, PHP 7.4.22 + +- Core: + . Fixed bug #81145 (copy() and stream_copy_to_stream() fail for +4GB files). + (cmb, Nikita) + . Fixed bug #81163 (incorrect handling of indirect vars in __sleep). + (krakjoe) + . Fixed bug #80728 (PHP built-in web server resets timeout when it can kill + the process). (Calvin Buckley) + . Fixed bug #73630 (Built-in Weberver - overwrite $_SERVER['request_uri']). + (cmb) + . Fixed bug #80173 (Using return value of zend_assign_to_variable() is not + safe). (Nikita) + . Fixed bug #73226 (--r[fcez] always return zero exit code). (cmb) + +- Intl: + . Fixed bug #72809 (Locale::lookup() wrong result with canonicalize option). + (cmb) + . Fixed bug #68471 (IntlDateFormatter fails for "GMT+00:00" timezone). (cmb) + . Fixed bug #74264 (grapheme_strrpos() broken for negative offsets). (cmb) + +- OpenSSL: + . Fixed bug #52093 (openssl_csr_sign truncates $serial). (cmb) + +- PCRE: + . Fixed bug #81101 (PCRE2 10.37 shows unexpected result). (Anatol) + . Fixed bug #81243 (Too much memory is allocated for preg_replace()). (cmb) + +- Standard: + . Fixed bug #81223 (flock() only locks first byte of file). (cmb) + +01 Jul 2021, PHP 7.4.21 + +- Core: + . Fixed bug #76359 (open_basedir bypass through adding ".."). (cmb) + . Fixed bug #81068 (Double free in realpath_cache_clean()). (Dimitry Andric) + . Fixed bug #81070 (Integer underflow in memory limit comparison). + (Peter van Dommelen) + . Fixed bug #81090 (Typed property performance degradation with .= operator). + (Nikita) + . Fixed bug #81122: SSRF bypass in FILTER_VALIDATE_URL. (CVE-2021-21705) (cmb) + +- Bzip2: + . Fixed bug #81092 (fflush before stream_filter_remove corrupts stream). + (cmb) + +- OpenSSL: + . Fixed bug #76694 (native Windows cert verification uses CN as sever name). + (cmb) + +- PDO_Firebird: + . Fixed bug #76448: Stack buffer overflow in firebird_info_cb. + (CVE-2021-21704) (cmb) + . Fixed bug #76449: SIGSEGV in firebird_handle_doer. (CVE-2021-21704) (cmb) + . Fixed bug #76450: SIGSEGV in firebird_stmt_execute. (CVE-2021-21704) (cmb) + . Fixed bug #76452: Crash while parsing blob data in firebird_fetch_blob. + (CVE-2021-21704) (cmb) + +- Standard: + . Fixed bug #81048 (phpinfo(INFO_VARIABLES) "Array to string conversion"). + (cmb) + +03 Jun 2021, PHP 7.4.20 + +- Core: + . Fixed bug #80929 (Method name corruption related to repeated calls to + call_user_func_array). (twosee) + . Fixed bug #80960 (opendir() warning wrong info when failed on Windows). + (cmb) + . Fixed bug #67792 (HTTP Authorization schemes are treated as case-sensitive). + (cmb) + . Fixed bug #80972 (Memory exhaustion on invalid string offset). (girgias) + +- FPM: + . Fixed bug #65800 (Events port mechanism). (psumbera) + +- FTP: + . Fixed bug #80901 (Info leak in ftp extension). (cmb) + . Fixed bug #79100 (Wrong FTP error messages). (cmb) + +- GD: + . Fixed bug #81032 (GD install is affected by external libgd installation). + (Flavio Heleno, cmb) + +- MBString: + . Fixed bug #81011 (mb_convert_encoding removes references from arrays). (cmb) + +- ODBC: + . Fixed bug #80460 (ODBC doesn't account for SQL_NO_TOTAL indicator). (cmb) + +- PDO_MySQL: + . Fixed bug #81037 (PDO discards error message text from prepared + statement). (Kamil Tekiela) + +- PDO_ODBC: + . Fixed bug #44643 (bound parameters ignore explicit type definitions). (cmb) + +- pgsql: + . Fixed php_pgsql_fd_cast() wrt. php_stream_can_cast(). (cmb) + +- SPL: + . Fixed bug #80933 (SplFileObject::DROP_NEW_LINE is broken for NUL and CR). + (cmb, Nikita) + +- Opcache: + . Fixed bug #80900 (switch statement behavior inside function). (twosee) + . Fixed bug #81015 (Opcache optimization assumes wrong part of ternary + operator in if-condition). (Nikita) + +- XMLReader: + . Fixed bug #73246 (XMLReader: encoding length not checked). (cmb) + +- Zip: + . Fixed bug #80863 (ZipArchive::extractTo() ignores references). (cmb) + +06 May 2021, PHP 7.4.19 + +- PDO_pgsql: + . Reverted bug fix for #80892 (PDO::PARAM_INT is treated the same as + PDO::PARAM_STR). (Matteo) + + +29 Apr 2021, PHP 7.4.18 + +- Core: + . Fixed bug #80781 (Error handler that throws ErrorException infinite loop). + (Nikita) + . Fixed bug #75776 (Flushing streams with compression filter is broken). (cmb) + +- Dba: + . Fixed bug #80817 (dba_popen() may cause segfault during RSHUTDOWN). (cmb) + +- DOM: + . Fixed bug #66783 (UAF when appending DOMDocument to element). (cmb) + +- FPM: + . Fixed bug #80024 (Duplication of info about inherited socket after pool + removing). (Jakub Zelenka) + +- FTP: + . Fixed bug #80880 (SSL_read on shutdown, ftp/proc_open). (cmb, Jakub + Zelenka) + +- Imap: + . Fixed bug #80710 (imap_mail_compose() header injection). (cmb, Stas) + +- Intl: + . Fixed bug #80763 (msgfmt_format() does not accept DateTime references). + (cmb) + +- LibXML: + . Fixed bug #51903 (simplexml_load_file() doesn't use HTTP headers). (cmb) + . Fixed bug #73533 (Invalid memory access in php_libxml_xmlCheckUTF8). (cmb) + +- MySQLnd: + . Fixed bug #80713 (SegFault when disabling ATTR_EMULATE_PREPARES and + MySQL 8.0). (Nikita) + . Fixed bug #80837 (Calling stmt_store_result after fetch doesn't throw an + error). (Kamil Tekiela) + +- Opcache: + . Fixed bug #80805 (create simple class and get error in opcache.so). (Nikita) + . Fixed bug #80950 (Variables become null in if statements). (Nikita) + +- Pcntl: + . Fixed bug #79812 (Potential integer overflow in pcntl_exec()). (cmb) + +- PCRE: + . Fixed bug #80866 (preg_split ignores limit flag when pattern with \K has + 0-width fullstring match). (Kamil Tekiela) + +- PDO_ODBC: + . Fixed bug #80783 (PDO ODBC truncates BLOB records at every 256th byte). + (cmb) + +- PDO_pgsql: + . Fixed bug #80892 (PDO::PARAM_INT is treated the same as PDO::PARAM_STR). + (Matteo) + +- phpdbg: + . Fixed bug #80757 (Exit code is 0 when could not open file). (Felipe) + +- Session: + . Fixed bug #80774 (session_name() problem with backslash). (cmb) + . Fixed bug #80889 (Cannot set save handler when save_handler is invalid). + (cmb) + +- SOAP: + . Fixed bug #69668 (SOAP special XML characters in namespace URIs not + encoded). (cmb) + +- Standard: + . Fixed bug #78719 (http wrapper silently ignores long Location headers). + (cmb) + . Fixed bug #80771 (phpinfo(INFO_CREDITS) displays nothing in CLI). (cmb) + . Fixed bug #80838 (HTTP wrapper waits for HTTP 1 response after HTTP 101). + (manuelm) + . Fixed bug #80915 (Taking a reference to $_SERVER hides its values from + phpinfo()). (Rowan Tommins) + +04 Mar 2021, php 7.4.16 + +- Core: + . Fixed #80706 (mail(): Headers after Bcc headers may be ignored). (cmb) + +- MySQLnd: + . Fixed bug #78680 (mysqlnd's mysql_clear_password does not transmit + null-terminated password). (Daniel Black) + +- MySQLi: + . Fixed bug #74779 (x() and y() truncating floats to integers). (cmb) + +- OPcache: + . Fixed bug #80682 (opcache doesn't honour pcre.jit option). (Remi) + +- OpenSSL: + . Fixed bug #80747 (Providing RSA key size < 512 generates key that crash + PHP). (Nikita) + +- Phar: + . Fixed bug #75850 (Unclear error message wrt. __halt_compiler() w/o + semicolon) (cmb) + . Fixed bug #70091 (Phar does not mark UTF-8 filenames in ZIP archives). (cmb) + . Fixed bug #53467 (Phar cannot compress large archives). (cmb, lserni) + +- SPL: + . Fixed bug#80719 (Iterating after failed ArrayObject::setIteratorClass() + causes Segmentation fault). (Nikita) + +- Standard: + . Fixed bug #80654 (file_get_contents() maxlen fails above (2**31)-1 bytes). + (cmb) + +- Zip: + . Fixed bug #80648 (Fix for bug 79296 should be based on runtime version). + (cmb, Remi) + +04 Feb 2021, PHP 7.4.15 + +- Core: + . Fixed bug #80523 (bogus parse error on >4GB source code). (Nikita) + . Fixed bug #80384 (filter buffers entire read until file closed). (Adam + Seitz, cmb) + +- Curl: + . Fixed bug #80595 (Resetting POSTFIELDS to empty array breaks request). (cmb) + +- Date: + . Fixed bug #80376 (last day of the month causes runway cpu usage. (Derick) + +- MySQLi: + . Fixed bug #67983 (mysqlnd with MYSQLI_OPT_INT_AND_FLOAT_NATIVE fails to + interpret bit columns). (Nikita) + . Fixed bug #64638 (Fetching resultsets from stored procedure with cursor + fails). (Nikita) + . Fixed bug #72862 (segfault using prepared statements on stored procedures + that use a cursor). (Nikita) + . Fixed bug #77935 (Crash in mysqlnd_fetch_stmt_row_cursor when calling an SP + with a cursor). (Nikita) + +- Phar: + . Fixed bug #77565 (Incorrect locator detection in ZIP-based phars). (cmb) + . Fixed bug #69279 (Compressed ZIP Phar extractTo() creates garbage files). + (cmb) + +07 Jan 2021, PHP 7.4.14 + +- Core: + . Fixed bug #74558 (Can't rebind closure returned by Closure::fromCallable()). + (cmb) + . Fixed bug #80345 (PHPIZE configuration has outdated PHP_RELEASE_VERSION). + (cmb) + . Fixed bug #72964 (White space not unfolded for CC/Bcc headers). (cmb) + . Fixed bug #80362 (Running dtrace scripts can cause php to crash). + (al at coralnet dot name) + . Fixed bug #80393 (Build of PHP extension fails due to configuration gap + with libtool). (kir dot morozov at gmail dot com) + . Fixed bug #80402 (configure filtering out -lpthread). (Nikita) + . Fixed bug #77069 (stream filter loses final block of data). (cmb) + +- Fileinfo: + . Fixed bug #77961 (finfo_open crafted magic parsing SIGABRT). (cmb) + +- FPM: + . Fixed bug #69625 (FPM returns 200 status on request without + SCRIPT_FILENAME env). (Jakub Zelenka) + +- Intl: + . Fixed bug #80425 (MessageFormatAdapter::getArgTypeList redefined). (Nikita) + +- OpenSSL: + . Fixed bug #80368 (OpenSSL extension fails to build against LibreSSL due to + lack of OCB support). (Nikita) + +- Phar: + . Fixed bug #73809 (Phar Zip parse crash - mmap fail). (cmb) + . Fixed bug #75102 (`PharData` says invalid checksum for valid tar). (cmb) + . Fixed bug #77322 (PharData::addEmptyDir('/') Possible integer overflow). + (cmb) + +- PDO MySQL: + . Fixed bug #80458 (PDOStatement::fetchAll() throws for upsert queries). + (Kamil Tekiela) + . Fixed bug #63185 (nextRowset() ignores MySQL errors with native prepared + statements). (Nikita) + . Fixed bug #78152 (PDO::exec() - Bad error handling with multiple commands). + (Nikita) + . Fixed bug #70066 (Unexpected "Cannot execute queries while other unbuffered + queries"). (Nikita) + . Fixed bug #71145 (Multiple statements in init command triggers unbuffered + query error). (Nikita) + . Fixed bug #76815 (PDOStatement cannot be GCed/closeCursor-ed when a + PROCEDURE resultset SIGNAL). (Nikita) + +- Standard: + . Fixed bug #77423 (FILTER_VALIDATE_URL accepts URLs with invalid userinfo). + (CVE-2020-7071) (cmb) + . Fixed bug #80366 (Return Value of zend_fstat() not Checked). (sagpant, cmb) + . Fixed bug #80411 (References to null-serialized object break serialize()). + (Nikita) + +- Tidy: + . Fixed bug #77594 (ob_tidyhandler is never reset). (cmb) + +- Zlib: + . Fixed #48725 (Support for flushing in zlib stream). (cmb) + +26 Nov 2020, PHP 7.4.13 + +- Core: + . Fixed bug #80280 (ADD_EXTENSION_DEP() fails for ext/standard and ext/date). + (cmb) + . Fixed bug #80258 (Windows Deduplication Enabled, randon permission errors). + (cmb) + +- COM: + . Fixed bug #62474 (com_event_sink crashes on certain arguments). (cmb) + +- DOM: + . Fixed bug #80268 (loadHTML() truncates at NUL bytes). (cmb) + +- FFI: + . Fixed bug #79177 (FFI doesn't handle well PHP exceptions within callback). + (cmb, Dmitry, Nikita) + +- IMAP: + . Fixed bug #64076 (imap_sort() does not return FALSE on failure). (cmb) + . Fixed bug #76618 (segfault on imap_reopen). (girgias) + . Fixed bug #80239 (imap_rfc822_write_address() leaks memory). (cmb) + . Fixed minor regression caused by fixing bug #80220. (cmb) + . Fixed bug #80242 (imap_mail_compose() segfaults for multipart with rfc822). + (cmb) + +- MySQLi: + . Fixed bug #79375 (mysqli_store_result does not report error from lock wait + timeout). (Kamil Tekiela, Nikita) + . Fixed bug #76525 (mysqli::commit does not throw if MYSQLI_REPORT_ERROR + enabled and mysqlnd used). (Kamil Tekiela) + . Fixed bug #72413 (mysqlnd segfault (fetch_row second parameter + typemismatch)). (Kamil Tekiela) + +- ODBC: + . Fixed bug #44618 (Fetching may rely on uninitialized data). (cmb) + +- Opcache: + . Fixed bug #79643 (PHP with Opcache crashes when a file with specific name + is included). (twosee) + . Fixed run-time binding of preloaded dynamically declared function. (Dmitry) + +- OpenSSL: + . Fixed bug #79983 (openssl_encrypt / openssl_decrypt fail with OCB mode). + (Nikita) + +- PDO MySQL: + . Fixed bug #66528 (No PDOException or errorCode if database becomes + unavailable before PDO::commit). (Nikita) + . Fixed bug #65825 (PDOStatement::fetch() does not throw exception on broken + server connection). (Nikita) + +- SNMP: + . Fixed bug #70461 (disable md5 code when it is not supported in net-snmp). + (Alexander Bergmann, cmb) + +- Standard: + . Fixed bug #80266 (parse_url silently drops port number 0). (cmb, Nikita) + +29 Oct 2020, PHP 7.4.12 + +- Core: + . Fixed bug #80061 (Copying large files may have suboptimal performance). + (cmb) + . Fixed bug #79423 (copy command is limited to size of file it can copy). + (cmb) + . Fixed bug #80126 (Covariant return types failing compilation). (Nikita) + . Fixed bug #80186 (Segfault when iterating over FFI object). (Nikita) + +- Calendar: + . Fixed bug #80185 (jdtounix() fails after 2037). (cmb) + +- IMAP: + . Fixed bug #80213 (imap_mail_compose() segfaults on certain $bodies). (cmb) + . Fixed bug #80215 (imap_mail_compose() may modify by-val parameters). (cmb) + . Fixed bug #80220 (imap_mail_compose() may leak memory). (cmb) + . Fixed bug #80223 (imap_mail_compose() leaks envelope on malformed bodies). + (cmb) + . Fixed bug #80216 (imap_mail_compose() does not validate types/encodings). + (cmb) + . Fixed bug #80226 (imap_sort() leaks sortpgm memory). (cmb) + +- MySQLnd: + . Fixed bug #80115 (mysqlnd.debug doesn't recognize absolute paths with + slashes). (cmb) + . Fixed bug #80107 (mysqli_query() fails for ~16 MB long query when + compression is enabled). (Nikita) + +- ODBC: + . Fixed bug #78470 (odbc_specialcolumns() no longer accepts $nullable). (cmb) + . Fixed bug #80147 (BINARY strings may not be properly zero-terminated). + (cmb) + . Fixed bug #80150 (Failure to fetch error message). (cmb) + . Fixed bug #80152 (odbc_execute() moves internal pointer of $params). (cmb) + . Fixed bug #46050 (odbc_next_result corrupts prepared resource). (cmb) + +- OPcache: + . Fixed bug #80083 (Optimizer pass 6 removes variables used for ibm_db2 data + binding). (Nikita) + . Fixed bug #80194 (Assertion failure during block assembly of unreachable + free with leading nop). (Nikita) + +- PCRE: + . Updated to PCRE 10.35. (cmb) + . Fixed bug #80118 (Erroneous whitespace match with JIT only). (cmb) + +- PDO_ODBC: + . Fixed bug #67465 (NULL Pointer dereference in odbc_handle_preparer). (cmb) + +- Standard: + . Fixed bug #80114 (parse_url does not accept URLs with port 0). (cmb, twosee) + . Fixed bug #76943 (Inconsistent stream_wrapper_restore() errors). (cmb) + . Fixed bug #76735 (Incorrect message in fopen on invalid mode). (cmb) + +- Tidy: + . Fixed bug #77040 (tidyNode::isHtml() is completely broken). (cmb) + +01 Oct 2020, PHP 7.4.11 + +- Core: + . Fixed bug #79979 (passing value to by-ref param via CUFA crashes). (cmb, + Nikita) + . Fixed bug #80037 (Typed property must not be accessed before initialization + when __get() declared). (Nikita) + . Fixed bug #80048 (Bug #69100 has not been fixed for Windows). (cmb) + . Fixed bug #80049 (Memleak when coercing integers to string via variadic + argument). (Nikita) + . Fixed bug #79699 (PHP parses encoded cookie names so malicious `__Host-` + cookies can be sent). (CVE-2020-7070) (Stas) + +- Calendar: + . Fixed bug #80007 (Potential type confusion in unixtojd() parameter parsing). + (Andy Postnikov) + +- COM: + . Fixed bug #64130 (COM obj parameters passed by reference are not updated). + (cmb) + +- OPcache: + . Fixed bug #80002 (calc free space for new interned string is wrong). + (t-matsuno) + . Fixed bug #80046 (FREE for SWITCH_STRING optimized away). (Nikita) + . Fixed bug #79825 (opcache.file_cache causes SIGSEGV when custom opcode + handlers changed). (SammyK) + +- OpenSSL: + . Fixed bug #79601 (Wrong ciphertext/tag in AES-CCM encryption for a 12 + bytes IV). (CVE-2020-7069) (Jakub Zelenka) + +- PDO: + . Fixed bug #80027 (Terrible performance using $query->fetch on queries with + many bind parameters). (Matteo) + +- SOAP: + . Fixed bug #47021 (SoapClient stumbles over WSDL delivered with + "Transfer-Encoding: chunked"). (Matteo) + +- Standard: + . Fixed bug #79986 (str_ireplace bug with diacritics characters). (cmb) + . Fixed bug #80077 (getmxrr test bug). (Rainer Jung) + . Fixed bug #72941 (Modifying bucket->data by-ref has no effect any longer). + (cmb) + . Fixed bug #80067 (Omitting the port in bindto setting errors). (cmb) + +03 Sep 2020, PHP 7.4.10 + +- Core: + . Fixed bug #79884 (PHP_CONFIG_FILE_PATH is meaningless). (cmb) + . Fixed bug #77932 (File extensions are case-sensitive). (cmb) + . Fixed bug #79806 (realpath() erroneously resolves link to link). (cmb) + . Fixed bug #79895 (PHP_CHECK_GCC_ARG does not allow flags with equal sign). + (Santiago M. Mola) + . Fixed bug #79919 (Stack use-after-scope in define()). (cmb) + . Fixed bug #79934 (CRLF-only line in heredoc causes parsing error). + (Pieter van den Ham) + . Fixed bug #79947 (Memory leak on invalid offset type in compound + assignment). (Nikita) + +- COM: + . Fixed bug #48585 (com_load_typelib holds reference, fails on second call). + (cmb) + +- Exif: + . Fixed bug #75785 (Many errors from exif_read_data). + (Níckolas Daniel da Silva) + +- Gettext: + . Fixed bug #70574 (Tests fail due to relying on Linux fallback behavior for + gettext()). (Florian Engelhardt) + +- LDAP: + . Fixed memory leaks. (ptomulik) + +- OPcache: + . Fixed bug #73060 (php failed with error after temp folder cleaned up). + (cmb) + . Fixed bug #79917 (File cache segfault with a static variable in inherited + method). (Nikita) + +- PDO: + . Fixed bug #64705 (errorInfo property of PDOException is null when + PDO::__construct() fails). (Ahmed Abdou) + +- Session: + . Fixed bug #79724 (Return type does not match in ext/session/mod_mm.c). + (Nikita) + +- Standard: + . Fixed bug #79930 (array_merge_recursive() crashes when called with array + with single reference). (Nikita) + . Fixed bug #79944 (getmxrr always returns true on Alpine linux). (Nikita) + . Fixed bug #79951 (Memory leak in str_replace of empty string). (Nikita) + +- XML: + . Fixed bug #79922 (Crash after multiple calls to xml_parser_free()). (cmb) + +06 Aug 2020, PHP 7.4.9 + +- Apache: + . Fixed bug #79030 (Upgrade apache2handler's php_apache_sapi_get_request_time + to return usec). (Herbert256) + +- COM: + . Fixed bug #63208 (BSTR to PHP string conversion not binary safe). (cmb) + . Fixed bug #63527 (DCOM does not work with Username, Password parameter). + (cmb) + +- Core: + . Fixed bug #79877 (getimagesize function silently truncates after a null + byte) (cmb) + . Fixed bug #79740 (serialize() and unserialize() methods can not be called + statically). (Nikita) + . Fixed bug #79783 (Segfault in php_str_replace_common). (Nikita) + . Fixed bug #79778 (Assertion failure if dumping closure with unresolved + static variable). (Nikita) + . Fixed bug #79779 (Assertion failure when assigning property of string + offset by reference). (Nikita) + . Fixed bug #79792 (HT iterators not removed if empty array is destroyed). + (Nikita) + . Fixed bug #78598 (Changing array during undef index RW error segfaults). + (Nikita) + . Fixed bug #79784 (Use after free if changing array during undef var during + array write fetch). (Nikita) + . Fixed bug #79793 (Use after free if string used in undefined index warning + is changed). (Nikita) + . Fixed bug #79862 (Public non-static property in child should take priority + over private static). (Nikita) + +- Fileinfo: + . Fixed bug #79756 (finfo_file crash (FILEINFO_MIME)). (cmb) + +- FTP: + . Fixed bug #55857 (ftp_size on large files). (cmb) + +- Mbstring: + . Fixed bug #79787 (mb_strimwidth does not trim string). (XXiang) + +- OpenSSL: + . Fixed bug #79881 (Memory leak in openssl_pkey_get_public()). (Nikita) + +- Phar: + . Fixed bug #79797 (Use of freed hash key in the phar_parse_zipfile + function). (CVE-2020-7068) (cmb) + +- Reflection: + . Fixed bug #79487 (::getStaticProperties() ignores property modifications). + (cmb, Nikita) + . Fixed bug #69804 (::getStaticPropertyValue() throws on protected props). + (cmb, Nikita) + . Fixed bug #79820 (Use after free when type duplicated into + ReflectionProperty gets resolved). (Christopher Broadbent) + +- Standard: + . Fixed bug #70362 (Can't copy() large 'data://' with open_basedir). (cmb) + . Fixed bug #78008 (dns_check_record() always return true on Alpine). + (Andy Postnikov) + . Fixed bug #79839 (array_walk() does not respect property types). (Nikita) + +09 Jul 2020, PHP 7.4.8 + +- Core: + . Fixed bug #79595 (zend_init_fpu() alters FPU precision). (cmb, Nikita) + . Fixed bug #79650 (php-win.exe 100% cpu lockup). (cmb) + . Fixed bug #79668 (get_defined_functions(true) may miss functions). (cmb, + Nikita) + . Fixed bug #79683 (Fake reflection scope affects __toString()). (Nikita) + . Fixed possibly unsupported timercmp() usage. (cmb) + +- Exif: + . Fixed bug #79687 (Sony picture - PHP Warning - Make, Model, MakerNotes). + (cmb) + +- Fileinfo: + . Fixed bug #79681 (mime_content_type/finfo returning incorrect mimetype). + (cmb) + +- Filter: + . Fixed bug #73527 (Invalid memory access in php_filter_strip). (cmb) + +- GD: + . Fixed bug #79676 (imagescale adds black border with IMG_BICUBIC). (cmb) + +- OpenSSL: + . Fixed bug #62890 (default_socket_timeout=-1 causes connection to timeout). + (cmb) + +- PDO SQLite: + . Fixed bug #79664 (PDOStatement::getColumnMeta fails on empty result set). + (cmb) + +- phpdbg: + . Fixed bug #73926 (phpdbg will not accept input on restart execution). (cmb) + . Fixed bug #73927 (phpdbg fails with windows error prompt at "watch array"). + (cmb) + . Fixed several mostly Windows related phpdbg bugs. (cmb) + +- SPL: + . Fixed bug #79710 (Reproducible segfault in error_handler during GC + involved an SplFileObject). (Nikita) + +- Standard: + . Fixed bug #74267 (segfault with streams and invalid data). (cmb) + . Fixed bug #79579 (ZTS build of PHP 7.3.17 doesn't handle ERANGE for + posix_getgrgid and others). (Böszörményi Zoltán) + +11 Jun 2020, PHP 7.4.7 + +- Core: + . Fixed bug #79599 (coredump in set_error_handler). (Laruence) + . Fixed bug #79566 (Private SHM is not private on Windows). (cmb) + . Fixed bug #79489 (.user.ini does not inherit). (cmb) + . Fixed bug #79600 (Regression in 7.4.6 when yielding an array based + generator). (Nikita) + . Fixed bug #79657 ("yield from" hangs when invalid value encountered). + (Nikita) + +- FFI: + . Fixed bug #79571 (FFI: var_dumping unions may segfault). (cmb) + +- GD: + . Fixed bug #79615 (Wrong GIF header written in GD GIFEncode). (sageptr, cmb) + +- MySQLnd: + . Fixed bug #79596 (MySQL FLOAT truncates to int some locales). (cmb) + +- Opcache: + . Fixed bug #79588 (Boolean opcache settings ignore on/off values). (cmb) + . Fixed bug #79548 (Preloading segfault with inherited method using static + variable). (Nikita) + . Fixed bug #79603 (RTD collision with opcache). (Nikita) + +- Standard: + . Fixed bug #79561 (dns_get_record() fails with DNS_ALL). (cmb) + +14 May 2020, PHP 7.4.6 + +- Core: + . Fixed bug #79536 (zend_clear_exception prevent exception's destructor to be + called). (Laruence) + . Fixed bug #78434 (Generator yields no items after valid() call). (Nikita) + . Fixed bug #79477 (casting object into array creates references). (Nikita) + . Fixed bug #79514 (Memory leaks while including unexistent file). (cmb, + Nikita) + +- DOM: + . Fixed bug #78221 (DOMNode::normalize() doesn't remove empty text nodes). + (cmb) + +- EXIF: + . Fixed bug #79336 (ext/exif/tests/bug79046.phpt fails on Big endian arch). + (Nikita) + +- FCGI: + . Fixed bug #79491 (Search for .user.ini extends up to root dir). (cmb) + +- MBString: + . Fixed bug #79441 (Segfault in mb_chr() if internal encoding is unsupported). + (Girgias) + +- OpenSSL: + . Fixed bug #79497 (stream_socket_client() throws an unknown error sometimes + with <1s timeout). (Joe Cai) + +- PCRE: + . Upgraded to PCRE2 10.34. (cmb) + +- Phar: + . Fixed bug #79503 (Memory leak on duplicate metadata). (cmb) + +- SimpleXML: + . Fixed bug #79528 (Different object of the same xml between 7.4.5 and + 7.4.4). (cmb) + +- SPL: + . Fixed bug #69264 (__debugInfo() ignored while extending SPL classes). (cmb) + . Fixed bug #67369 (ArrayObject serialization drops the iterator class). + (Alex Dowad) + +- Standard: + . Fixed bug #79468 (SIGSEGV when closing stream handle with a stream filter + appended). (dinosaur) + . Fixed bug #79447 (Serializing uninitialized typed properties with __sleep + should not throw). (nicolas-grekas) + +16 Apr 2020, PHP 7.4.5 + +- Core: + . Fixed bug #79364 (When copy empty array, next key is unspecified). (cmb) + . Fixed bug #78210 (Invalid pointer address). (cmb, Nikita) + +- CURL: + . Fixed bug #79199 (curl_copy_handle() memory leak). (cmb) + +- Date: + . Fixed bug #79396 (DateTime hour incorrect during DST jump forward). (Nate + Brunette) + . Fixed bug #74940 (DateTimeZone loose comparison always true). (cmb) + +- FPM: + . Implement request #77062 (Allow numeric [UG]ID in FPM listen.{owner,group}) + (Andre Nathan) + +- Iconv: + . Fixed bug #79200 (Some iconv functions cut Windows-1258). (cmb) + +- OPcache: + . Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script). + (Dmitry) + +- Session: + . Fixed bug #79413 (session_create_id() fails for active sessions). (cmb) + +- Shmop: + . Fixed bug #79427 (Integer Overflow in shmop_open()). (cmb) + +- SimpleXML: + . Fixed bug #61597 (SXE properties may lack attributes and content). (cmb) + +- SOAP: + . Fixed bug #79357 (SOAP request segfaults when any request parameter is + missing). (Nikita) + +- Spl: + . Fixed bug #75673 (SplStack::unserialize() behavior). (cmb) + . Fixed bug #79393 (Null coalescing operator failing with SplFixedArray). + (cmb) + +- Standard: + . Fixed bug #79330 (shell_exec() silently truncates after a null byte). (stas) + . Fixed bug #79465 (OOB Read in urldecode()). (CVE-2020-7067) (stas) + . Fixed bug #79410 (system() swallows last chunk if it is exactly 4095 bytes + without newline). (Christian Schneider) + +- Zip: + . Fixed Bug #79296 (ZipArchive::open fails on empty file). (Remi) + . Fixed bug #79424 (php_zip_glob uses gl_pathc after call to globfree). + (Max Rees) + +19 Mar 2020, PHP 7.4.4 + +- Core: + . Fixed bug #79244 (php crashes during parsing INI file). (Laruence) + . Fixed bug #63206 (restore_error_handler does not restore previous errors + mask). (Mark Plomer) + +- COM: + . Fixed bug #66322 (COMPersistHelper::SaveToFile can save to wrong location). + (cmb) + . Fixed bug #79242 (COM error constants don't match com_exception codes on + x86). (cmb) + . Fixed bug #79247 (Garbage collecting variant objects segfaults). (cmb) + . Fixed bug #79248 (Traversing empty VT_ARRAY throws com_exception). (cmb) + . Fixed bug #79299 (com_print_typeinfo prints duplicate variables). (Litiano + Moura) + . Fixed bug #79332 (php_istreams are never freed). (cmb) + . Fixed bug #79333 (com_print_typeinfo() leaks memory). (cmb) + +- CURL: + . Fixed bug #79019 (Copied cURL handles upload empty file). (cmb) + . Fixed bug #79013 (Content-Length missing when posting a curlFile with + curl). (cmb) + +- DOM: + . Fixed bug #77569: (Write Access Violation in DomImplementation). (Nikita, + cmb) + . Fixed bug #79271 (DOMDocumentType::$childNodes is NULL). (cmb) + +- Enchant: + . Fixed bug #79311 (enchant_dict_suggest() fails on big endian architecture). + (cmb) + +- EXIF: + . Fixed bug #79282 (Use-of-uninitialized-value in exif). (CVE-2020-7064) + (Nikita) + +- Fileinfo: + . Fixed bug #79283 (Segfault in libmagic patch contains a buffer + overflow). (cmb) + +- FPM: + . Fixed bug #77653 (operator displayed instead of the real error message). + (Jakub Zelenka) + . Fixed bug #79014 (PHP-FPM & Primary script unknown). (Jakub Zelenka) + +- MBstring: + . Fixed bug #79371 (mb_strtolower (UTF-32LE): stack-buffer-overflow at + php_unicode_tolower_full). (CVE-2020-7065) (cmb) + +- MySQLi: + . Fixed bug #64032 (mysqli reports different client_version). (cmb) + +- MySQLnd: + . Implemented FR #79275 (Support auth_plugin_caching_sha2_password on + Windows). (cmb) + +- Opcache: + . Fixed bug #79252 (preloading causes php-fpm to segfault during exit). + (Nikita) + +- PCRE: + . Fixed bug #79188 (Memory corruption in preg_replace/preg_replace_callback + and unicode). (Nikita) + . Fixed bug #79241 (Segmentation fault on preg_match()). (Nikita) + . Fixed bug #79257 (Duplicate named groups (?J) prefer last alternative even + if not matched). (Nikita) + +- PDO_ODBC: + . Fixed bug #79038 (PDOStatement::nextRowset() leaks column values). (cmb) + +- Reflection: + . Fixed bug #79062 (Property with heredoc default value returns false for + getDocComment). (Nikita) + +- SQLite3: + . Fixed bug #79294 (::columnType() may fail after SQLite3Stmt::reset()). (cmb) + +- Standard: + . Fixed bug #79329 (get_headers() silently truncates after a null byte). + (CVE-2020-7066) (cmb) + . Fixed bug #79254 (getenv() w/o arguments not showing changes). (cmb) + . Fixed bug #79265 (Improper injection of Host header when using fopen for + http requests). (Miguel Xavier Penha Neto) + +- Zip: + . Fixed bug #79315 (ZipArchive::addFile doesn't honor start/length + parameters). (Remi) + +20 Feb 2020, PHP 7.4.3 + +- Core: + . Fixed bug #79146 (cscript can fail to run on some systems). (clarodeus) + . Fixed bug #79155 (Property nullability lost when using multiple property + definition). (Nikita) + . Fixed bug #78323 (Code 0 is returned on invalid options). (Ivan Mikheykin) + . Fixed bug #78989 (Delayed variance check involving trait segfaults). + (Nikita) + . Fixed bug #79174 (cookie values with spaces fail to round-trip). (cmb) + . Fixed bug #76047 (Use-after-free when accessing already destructed + backtrace arguments). (Nikita) + +- CURL: + . Fixed bug #79078 (Hypothetical use-after-free in curl_multi_add_handle()). + (cmb) + +- FFI: + . Fixed bug #79096 (FFI Struct Segfault). (cmb) + +- IMAP: + . Fixed bug #79112 (IMAP extension can't find OpenSSL libraries at configure + time). (Nikita) + +- Intl: + . Fixed bug #79212 (NumberFormatter::format() may detect wrong type). (cmb) + +- Libxml: + . Fixed bug #79191 (Error in SoapClient ctor disables DOMDocument::save()). + (Nikita, cmb) + +- MBString: + . Fixed bug #79149 (SEGV in mb_convert_encoding with non-string encodings). + (cmb) + +- MySQLi: + . Fixed bug #78666 (Properties may emit a warning on var_dump()). (kocsismate) + +- MySQLnd: + . Fixed bug #79084 (mysqlnd may fetch wrong column indexes with MYSQLI_BOTH). + (cmb) + . Fixed bug #79011 (MySQL caching_sha2_password Access denied for password + with more than 20 chars). (Nikita) + +- Opcache: + . Fixed bug #79114 (Eval class during preload causes class to be only half + available). (Laruence) + . Fixed bug #79128 (Preloading segfaults if preload_user is used). (Nikita) + . Fixed bug #79193 (Incorrect type inference for self::$field =& $field). + (Nikita) + +- OpenSSL: + . Fixed bug #79145 (openssl memory leak). (cmb, Nikita) + +- Phar: + . Fixed bug #79082 (Files added to tar with Phar::buildFromIterator have + all-access permissions). (CVE-2020-7063) (stas) + . Fixed bug #79171 (heap-buffer-overflow in phar_extract_file). + (CVE-2020-7061) (cmb) + . Fixed bug #76584 (PharFileInfo::decompress not working). (cmb) + +- Reflection: + . Fixed bug #79115 (ReflectionClass::isCloneable call reflected class + __destruct). (Nikita) + +- Session: + . Fixed bug #79221 (Null Pointer Dereference in PHP Session Upload Progress). + (CVE-2020-7062) (stas) + +- Standard: + . Fixed bug #78902 (Memory leak when using stream_filter_append). (liudaixiao) + . Fixed bug #78969 (PASSWORD_DEFAULT should match PASSWORD_BCRYPT instead of being null). (kocsismate) + +- Testing: + . Fixed bug #78090 (bug45161.phpt takes forever to finish). (cmb) + +- XSL: + . Fixed bug #70078 (XSL callbacks with nodes as parameter leak memory). (cmb) + +- Zip: + . Add ZipArchive::CM_LZMA2 and ZipArchive::CM_XZ constants (since libzip 1.6.0). (Remi) + . Add ZipArchive::RDONLY (since libzip 1.0.0). (Remi) + . Add ZipArchive::ER_* missing constants. (Remi) + . Add ZipArchive::LIBZIP_VERSION constant. (Remi) + . Fixed bug #73119 (Wrong return for ZipArchive::addEmptyDir Method). (Remi) + +23 Jan 2020, PHP 7.4.2 + +- Core: + . Preloading support on Windows has been disabled. (Nikita) + . Fixed bug #79022 (class_exists returns True for classes that are not ready + to be used). (Laruence) + . Fixed bug #78929 (plus signs in cookie values are converted to spaces). + (Alexey Kachalin) + . Fixed bug #78973 (Destructor during CV freeing causes segfault if opline + never saved). (Nikita) + . Fixed bug #78776 (Abstract method implementation from trait does not check + "static"). (Nikita) + . Fixed bug #78999 (Cycle leak when using function result as temporary). + (Dmitry) + . Fixed bug #79008 (General performance regression with PHP 7.4 on Windows). + (cmb) + . Fixed bug #79002 (Serializing uninitialized typed properties with __sleep + makes unserialize throw). (Nikita) + +- CURL: + . Fixed bug #79033 (Curl timeout error with specific url and post). (cmb) + . Fixed bug #79063 (curl openssl does not respect PKG_CONFIG_PATH). (Nikita) + +- Date: + . Fixed bug #79015 (undefined-behavior in php_date.c). (cmb) + +- DBA: + . Fixed bug #78808 ([LMDB] MDB_MAP_FULL: Environment mapsize limit reached). + (cmb) + +- Exif: + . Fixed bug #79046 (NaN to int cast undefined behavior in exif). (Nikita) + +- Fileinfo: + . Fixed bug #74170 (locale information change after mime_content_type). + (Sergei Turchanov) + +- GD: + . Fixed bug #79067 (gdTransformAffineCopy() may use unitialized values). (cmb) + . Fixed bug #79068 (gdTransformAffineCopy() changes interpolation method). + (cmb) + +- Libxml: + . Fixed bug #79029 (Use After Free's in XMLReader / XMLWriter). (Laruence) + +- OPcache: + . Fixed bug #78961 (erroneous optimization of re-assigned $GLOBALS). (Dmitry) + . Fixed bug #78950 (Preloading trait method with static variables). (Nikita) + . Fixed bug #78903 (Conflict in RTD key for closures results in crash). + (Nikita) + . Fixed bug #78986 (Opcache segfaults when inheriting ctor from immutable + into mutable class). (Nikita) + . Fixed bug #79040 (Warning Opcode handlers are unusable due to ASLR). (cmb) + . Fixed bug #79055 (Typed property become unknown with OPcache file cache). + (Nikita) + +- Pcntl: + . Fixed bug #78402 (Converting null to string in error message is bad DX). + (SATŌ Kentarō) + +- PDO_PgSQL: + . Fixed bug #78983 (pdo_pgsql config.w32 cannot find libpq-fe.h). (SATŌ + Kentarō) + . Fixed bug #78980 (pgsqlGetNotify() overlooks dead connection). (SATŌ + Kentarō) + . Fixed bug #78982 (pdo_pgsql returns dead persistent connection). (SATŌ + Kentarō) + +- Session: + . Fixed bug #79031 (Session unserialization problem). (Nikita) + +- Shmop: + . Fixed bug #78538 (shmop memory leak). (cmb) + +- Sqlite3: + . Fixed bug #79056 (sqlite does not respect PKG_CONFIG_PATH during + compilation). (Nikita) + +- Spl: + . Fixed bug #78976 (SplFileObject::fputcsv returns -1 on failure). (cmb) + +- Standard: + . Fixed bug #79000 (Non-blocking socket stream reports EAGAIN as error). + (Nikita) + . Fixed bug #54298 (Using empty additional_headers adding extraneous CRLF). + (cmb) + +18 Dec 2019, PHP 7.4.1 + +- Core: + . Fixed bug #78810 (RW fetches do not throw "uninitialized property" + exception). (Nikita) + . Fixed bug #78868 (Calling __autoload() with incorrect EG(fake_scope) value). + (Antony Dovgal, Dmitry) + . Fixed bug #78296 (is_file fails to detect file). (cmb) + . Fixed bug #78883 (fgets(STDIN) fails on Windows). (cmb) + . Fixed bug #78898 (call_user_func(['parent', ...]) fails while other + succeed). (Nikita) + . Fixed bug #78904 (Uninitialized property triggers __get()). (Nikita) + . Fixed bug #78926 (Segmentation fault on Symfony cache:clear). (Nikita) + +- GD: + . Fixed bug #78849 (GD build broken with -D SIGNED_COMPARE_SLOW). (cmb) + . Fixed bug #78923 (Artifacts when convoluting image with transparency). + (wilson chen) + +- FPM: + . Fixed bug #76601 (Partially working php-fpm ater incomplete reload). + (Maksim Nikulin) + . Fixed bug #78889 (php-fpm service fails to start). (Jakub Zelenka) + . Fixed bug #78916 (php-fpm 7.4.0 don't send mail via mail()). + (Jakub Zelenka) + +- Intl: + . Implemented FR #78912 (INTL Support for accounting format). (cmb) + +- Mysqlnd: + . Fixed bug #78823 (ZLIB_LIBS not added to EXTRA_LIBS). (Arjen de Korte) + +- OPcache: + . Fixed $x = (bool)$x; with opcache (should emit undeclared variable notice). + (Tyson Andre) + . Fixed bug #78935 (Preloading removes classes that have dependencies). + (Nikita, Dmitry) + +- PCRE: + . Fixed bug #78853 (preg_match() may return integer > 1). (cmb) + +- Reflection: + . Fixed bug #78895 (Reflection detects abstract non-static class as abstract + static. IS_IMPLICIT_ABSTRACT is not longer used). (Dmitry) + +- Standard: + . Fixed bug #77638 (var_export'ing certain class instances segfaults). (cmb) + . Fixed bug #78840 (imploding $GLOBALS crashes). (cmb) + . Fixed bug #78833 (Integer overflow in pack causes out-of-bound access). + (cmb) + . Fixed bug #78814 (strip_tags allows / in tag name => whitelist bypass). + (cmb) + +28 Nov 2019, PHP 7.4.0 + +- Core: + . Implemented RFC: Deprecate curly brace syntax for accessing array elements + and string offsets. + https://wiki.php.net/rfc/deprecate_curly_braces_array_access (Andrey Gromov) + . Implemented RFC: Deprecations for PHP 7.4. + https://wiki.php.net/rfc/deprecations_php_7_4 (Kalle, Nikita) + . Fixed bug #52752 (Crash when lexing). (Nikita) + . Fixed bug #60677 (CGI doesn't properly validate shebang line contains #!). + (Nikita) + . Fixed bug #71030 (Self-assignment in list() may have inconsistent behavior). + (Nikita) + . Fixed bug #72530 (Use After Free in GC with Certain Destructors). (Nikita) + . Fixed bug #75921 (Inconsistent: No warning in some cases when stdObj is + created on the fly). (David Walker) + . Implemented FR #76148 (Add array_key_exists() to the list of specially + compiled functions). (Majkl578) + . Fixed bug #76430 (__METHOD__ inconsistent outside of method). + (Ryan McCullagh, Nikita) + . Fixed bug #76451 (Aliases during inheritance type checks affected by + opcache). (Nikita) + . Implemented FR #77230 (Support custom CFLAGS and LDFLAGS from environment). + (cmb) + . Fixed bug #77345 (Stack Overflow caused by circular reference in garbage + collection). (Alexandru Patranescu, Nikita, Dmitry) + . Fixed bug #77812 (Interactive mode does not support PHP 7.3-style heredoc). + (cmb, Nikita) + . Fixed bug #77877 (call_user_func() passes $this to static methods). + (Dmitry) + . Fixed bug #78066 (PHP eats the first byte of a program that comes from + process substitution). (Nikita) + . Fixed bug #78151 (Segfault caused by indirect expressions in PHP 7.4a1). + (Nikita) + . Fixed bug #78154 (SEND_VAR_NO_REF does not always send reference). (Nikita) + . Fixed bug #78182 (Segmentation fault during by-reference property + assignment). (Nikita) + . Fixed bug #78212 (Segfault in built-in webserver). (cmb) + . Fixed bug #78220 (Can't access OneDrive folder). (cmb, ab) + . Fixed bug #78226 (Unexpected __set behavior with typed properties). (Nikita) + . Fixed bug #78239 (Deprecation notice during string conversion converted to + exception hangs). (Nikita) + . Fixed bug #78335 (Static properties/variables containing cycles report as + leak). (Nikita) + . Fixed bug #78340 (Include of stream wrapper not reading whole file). + (Nikita) + . Fixed bug #78344 (Segmentation fault on zend_check_protected). (Nikita) + . Fixed bug #78356 (Array returned from ArrayAccess is incorrectly unpacked + as argument). (Nikita) + . Fixed bug #78379 (Cast to object confuses GC, causes crash). (Dmitry) + . Fixed bug #78386 (fstat mode has unexpected value on PHP 7.4). (cmb) + . Fixed bug #78396 (Second file_put_contents in Shutdown hangs script). + (Nikita) + . Fixed bug #78406 (Broken file includes with user-defined stream filters). + (Nikita) + . Fixed bug #78438 (Corruption when __unserializing deeply nested structures). + (cmb, Nikita) + . Fixed bug #78441 (Parse error due to heredoc identifier followed by digit). + (cmb) + . Fixed bug #78454 (Consecutive numeric separators cause OOM error). + (Theodore Brown) + . Fixed bug #78460 (PEAR installation failure). (Peter Kokot, L. Declercq) + . Fixed bug #78531 (Crash when using undefined variable as object). (Dmitry) + . Fixed bug #78535 (auto_detect_line_endings value not parsed as bool). + (bugreportuser) + . Fixed bug #78604 (token_get_all() does not properly tokenize FOOstat modifies $dbc->affected_rows). + (Derick) + . Fixed bug #76809 (SSL settings aren't respected when persistent connections + are used). (fabiomsouto) + . Fixed bug #78179 (MariaDB server version incorrectly detected). (cmb) + . Fixed bug #78213 (Empty row pocket). (cmb) + +- MySQLnd: + . Fixed connect_attr issues and added the _server_host connection attribute. + (Qianqian Bu) + . Fixed bug #60594 (mysqlnd exposes 160 lines of stats in phpinfo). (PeeHaa) + +- ODBC: + . Fixed bug #78473 (odbc_close() closes arbitrary resources). (cmb) + +- Opcache: + . Implemented preloading RFC: https://wiki.php.net/rfc/preload. (Dmitry) + . Add opcache.preload_user INI directive. (Dmitry) + . Added new INI directive opcache.cache_id (Windows only). (cmb) + . Fixed bug #78106 (Path resolution fails if opcache disabled during request). + (Nikita) + . Fixed bug #78175 (Preloading segfaults at preload time and at runtime). + (Dmitry) + . Fixed bug #78202 (Opcache stats for cache hits are capped at 32bit NUM). + (cmb) + . Fixed bug #78271 (Invalid result of if-else). (Nikita) + . Fixed bug #78341 (Failure to detect smart branch in DFA pass). (Nikita) + . Fixed bug #78376 (Incorrect preloading of constant static properties). + (Dmitry) + . Fixed bug #78429 (opcache_compile_file(__FILE__); segfaults). (cmb) + . Fixed bug #78512 (Cannot make preload work). (Dmitry) + . Fixed bug #78514 (Preloading segfaults with inherited typed property). + (Nikita) + . Fixed bug #78654 (Incorrectly computed opcache checksum on files with + non-ascii characters). (mhagstrand) + +- OpenSSL: + . Added TLS 1.3 support to streams including new tlsv1.3 stream. + (Codarren Velvindron, Jakub Zelenka) + . Added openssl_x509_verify function. (Ben Scholzen) + . openssl_random_pseudo_bytes() now throws in error conditions. + (Sammy Kaye Powers) + . Changed the default config path (Windows only). (cmb) + . Fixed bug #78231 (Segmentation fault upon stream_socket_accept of exported + socket-to-stream). (Nikita) + . Fixed bug #78391 (Assertion failure in openssl_random_pseudo_bytes). + (Nikita) + . Fixed bug #78775 (TLS issues from HTTP request affecting other encrypted + connections). (Nikita) + +- Pcntl: + . Fixed bug #77335 (PHP is preventing SIGALRM from specifying SA_RESTART). + (Nikita) + +- PCRE: + . Implemented FR #77094 (Support flags in preg_replace_callback). (Nikita) + . Fixed bug #72685 (Repeated UTF-8 validation of same string in UTF-8 mode). + (Nikita) + . Fixed bug #73948 (Preg_match_all should return NULLs on trailing optional + capture groups). + . Fixed bug #78338 (Array cross-border reading in PCRE). (cmb) + . Fixed bug #78349 (Bundled pcre2 library missing LICENCE file). (Peter Kokot) + +- PDO: + . Implemented FR #71885 (Allow escaping question mark placeholders). + https://wiki.php.net/rfc/pdo_escape_placeholders (Matteo) + . Fixed bug #77849 (Disable cloning of PDO handle/connection objects). + (camporter) + . Implemented FR #78033 (PDO - support username & password specified in + DSN). (sjon) + +- PDO_Firebird: + . Implemented FR #65690 (PDO_Firebird should also support dialect 1). + (Simonov Denis) + . Implemented FR #77863 (PDO firebird support type Boolean in input + parameters). (Simonov Denis) + +- PDO_MySQL: + . Fixed bug #41997 (SP call yields additional empty result set). (cmb) + . Fixed bug #78623 (Regression caused by "SP call yields additional empty + result set"). (cmb) + +- PDO_OCI: + . Support Oracle Database tracing attributes ACTION, MODULE, + CLIENT_INFO, and CLIENT_IDENTIFIER. (Cameron Porter) + . Implemented FR #76908 (PDO_OCI getColumnMeta() not implemented). + (Valentin Collet, Chris Jones, Remi) + +- PDO_SQLite: + . Implemented sqlite_stmt_readonly in PDO_SQLite. (BohwaZ) + . Raised requirements to SQLite 3.5.0. (cmb) + . Fixed bug #78192 (SegFault when reuse statement after schema has changed). + (Vincent Quatrevieux) + . Fixed bug #78348 (Remove -lrt from pdo_sqlite.so). (Peter Kokot) + +- Phar: + . Fixed bug #77919 (Potential UAF in Phar RSHUTDOWN). (cmb) + +- phpdbg: + . Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel) + . Fixed bug #76801 (too many open files). (alekitto) + . Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints). + (krakjoe) + . Fixed bug #77805 (phpdbg build fails when readline is shared). (krakjoe) + +- Recode: + . Unbundled the recode extension. (cmb) + +- Reflection: + . Fixed bug #76737 (Unserialized reflection objects are broken, they + shouldn't be serializable). (Nikita) + . Fixed bug #78263 (\ReflectionReference::fromArrayElement() returns null + while item is a reference). (Nikita) + . Fixed bug #78410 (Cannot "manually" unserialize class that is final and + extends an internal one). (Nikita) + . Fixed bug #78697 (ReflectionClass::implementsInterface - inaccurate error + message with traits). (villfa) + . Fixed bug #78774 (ReflectionNamedType on Typed Properties Crash). (Nikita) + +- Session: + . Fixed bug #78624 (session_gc return value for user defined session + handlers). (bshaffer) + +- SimpleXML: + . Implemented FR #65215 (SimpleXMLElement could register as implementing + Countable). (LeSuisse) + . Fixed bug #75245 (Don't set content of elements with only whitespaces). + (eriklundin) + +- Sockets: + . Fixed bug #67619 (Validate length on socket_write). (thiagooak) + . Fixed bug #78665 (Multicasting may leak memory). (cmb) + +- sodium: + . Fixed bug #77646 (sign_detached() strings not terminated). (Frank) + . Fixed bug #78510 (Partially uninitialized buffer returned by + sodium_crypto_generichash_init()). (Frank Denis, cmb) + . Fixed bug #78516 (password_hash(): Memory cost is not in allowed range). + (cmb, Nikita) + +- SPL: + . Fixed bug #77518 (SeekableIterator::seek() should accept 'int' typehint as + documented). (Nikita) + . Fixed bug #78409 (Segfault when creating instance of ArrayIterator without + constructor). (Nikita) + . Fixed bug #78436 (Missing addref in SplPriorityQueue EXTR_BOTH mode). + (Nikita) + . Fixed bug #78456 (Segfault when serializing SplDoublyLinkedList). (Nikita) + +- SQLite3: + . Unbundled libsqlite. (cmb) + . Raised requirements to SQLite 3.7.4. (cmb) + . Forbid (un)serialization of SQLite3, SQLite3Stmt and SQLite3Result. (cmb) + . Added support for the SQLite @name notation. (cmb, BohwaZ) + . Added SQLite3Stmt::getSQL() to retrieve the SQL of the statement. (Bohwaz) + . Implement FR ##70950 (Make SQLite3 Online Backup API available). (BohwaZ) + +- Standard: + . Implemented password hashing registry RFC: + https://wiki.php.net/rfc/password_registry. (Sara) + . Implemented RFC where password_hash() has argon2i(d) implementations from + ext/sodium when PHP is built without libargon: + https://wiki.php.net/rfc/sodium.argon.hash (Sara) + . Implemented FR #38301 (field enclosure behavior in fputcsv). (cmb) + . Implemented FR #51496 (fgetcsv should take empty string as an escape). (cmb) + . Fixed bug #73535 (php_sockop_write() returns 0 on error, can be used to + trigger Denial of Service). (Nikita) + . Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with + stream_socket_client). (Ville Hukkamäki) + . Fixed bug #76859 (stream_get_line skips data if used with data-generating + filter). (kkopachev) + . Implemented FR #77377 (No way to handle CTRL+C in Windows). (Anatol) + . Fixed bug #77930 (stream_copy_to_stream should use mmap more often). + (Nikita) + . Implemented FR #78177 (Make proc_open accept command array). (Nikita) + . Fixed bug #78208 (password_needs_rehash() with an unknown algo should always + return true). (Sara) + . Fixed bug #78241 (touch() does not handle dates after 2038 in PHP 64-bit). (cmb) + . Fixed bug #78282 (atime and mtime mismatch). (cmb) + . Fixed bug #78326 (improper memory deallocation on stream_get_contents() + with fixed length buffer). (Albert Casademont) + . Fixed bug #78346 (strip_tags no longer handling nested php tags). (cmb) + . Fixed bug #78506 (Error in a php_user_filter::filter() is not reported). + (Nikita) + . Fixed bug #78549 (Stack overflow due to nested serialized input). (Nikita) + . Fixed bug #78759 (array_search in $GLOBALS). (Nikita) + +- Testing: + . Fixed bug #78684 (PCRE bug72463_2 test is sending emails on Linux). (cmb) + +- Tidy: + . Added TIDY_TAG_* constants for HTML5 elements. (cmb) + . Fixed bug #76736 (wrong reflection for tidy_get_head, tidy_get_html, + tidy_get_root, and tidy_getopt) (tandre) + +- WDDX: + . Deprecated and unbundled the WDDX extension. (cmb) + +- Zip: + . Fixed bug #78641 (addGlob can modify given remove_path value). (cmb) + +21 Nov 2019, PHP 7.3.12 + +- Core: + . Fixed bug #78658 (Memory corruption using Closure::bindTo). (Nikita) + . Fixed bug #78656 (Parse errors classified as highest log-level). (Erik + Lundin) + . Fixed bug #78752 (Segfault if GC triggered while generator stack frame is + being destroyed). (Nikita) + . Fixed bug #78689 (Closure::fromCallable() doesn't handle + [Closure, '__invoke']). (Nikita) + +- COM: + . Fixed bug #78694 (Appending to a variant array causes segfault). (cmb) + +- Date: + . Fixed bug #70153 (\DateInterval incorrectly unserialized). (Maksim Iakunin) + . Fixed bug #78751 (Serialising DatePeriod converts DateTimeImmutable). (cmb) + +- Iconv: + . Fixed bug #78642 (Wrong libiconv version displayed). (gedas at martynas, + cmb). + +- OpCache: + . Fixed bug #78654 (Incorrectly computed opcache checksum on files with + non-ascii characters). (mhagstrand) + . Fixed bug #78747 (OpCache corrupts custom extension result). (Nikita) + +- OpenSSL: + . Fixed bug #78775 (TLS issues from HTTP request affecting other encrypted + connections). (Nikita) + +- Reflection: + . Fixed bug #78697 (ReflectionClass::ImplementsInterface - inaccurate error + message with traits). (villfa) + +- Sockets: + . Fixed bug #78665 (Multicasting may leak memory). (cmb) + +24 Oct 2019, PHP 7.3.11 + +- Core: + . Fixed bug #78535 (auto_detect_line_endings value not parsed as bool). + (bugreportuser) + . Fixed bug #78620 (Out of memory error). (cmb, Nikita) + +- Exif : + . Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7) + (Kalle) + +- FPM: + . Fixed bug #78599 (env_path_info underflow in fpm_main.c can lead to RCE). + (CVE-2019-11043) (Jakub Zelenka) + . Fixed bug #78413 (request_terminate_timeout does not take effect after + fastcgi_finish_request). (Sergei Turchanov) + +- MBString: + . Fixed bug #78633 (Heap buffer overflow (read) in mb_eregi). (cmb) + . Fixed bug #78579 (mb_decode_numericentity: args number inconsistency). + (cmb) + . Fixed bug #78609 (mb_check_encoding() no longer supports stringable + objects). (cmb) + +- MySQLi: + . Fixed bug #76809 (SSL settings aren't respected when persistent connections + are used). (fabiomsouto) + +- Mysqlnd: + . Fixed bug #78525 (Memory leak in pdo when reusing native prepared + statements). (Nikita) + +- PCRE: + . Fixed bug #78272 (calling preg_match() before pcntl_fork() will freeze + child process). (Nikita) + +- PDO_MySQL: + . Fixed bug #78623 (Regression caused by "SP call yields additional empty + result set"). (cmb) + +- Session: + . Fixed bug #78624 (session_gc return value for user defined session + handlers). (bshaffer) + +- Standard: + . Fixed bug #76342 (file_get_contents waits twice specified timeout). + (Thomas Calvet) + . Fixed bug #78612 (strtr leaks memory when integer keys are used and the + subject string shorter). (Nikita) + . Fixed bug #76859 (stream_get_line skips data if used with data-generating + filter). (kkopachev) + +- Zip: + . Fixed bug #78641 (addGlob can modify given remove_path value). (cmb) + +26 Sep 2019, PHP 7.3.10 + +- Core: + . Fixed bug #78220 (Can't access OneDrive folder). (cmb, ab) + . Fixed bug #77922 (Double release of doc comment on inherited shadow + property). (Nikita) + . Fixed bug #78441 (Parse error due to heredoc identifier followed by digit). + (cmb) + . Fixed bug #77812 (Interactive mode does not support PHP 7.3-style heredoc). + (cmb, Nikita) + +- FastCGI: + . Fixed bug #78469 (FastCGI on_accept hook is not called when using named + pipes on Windows). (Sergei Turchanov) + +- FPM: + . Fixed bug #78334 (fpm log prefix message includes wrong stdout/stderr + notation). (Tsuyoshi Sadakata) + +- Intl: + . Ensure IDNA2003 rules are used with idn_to_ascii() and idn_to_utf8() + when requested. (Sara) + +- MBString: + . Fixed bug #78559 (Heap buffer overflow in mb_eregi). (cmb) + +- MySQLnd: + . Fixed connect_attr issues and added the _server_host connection attribute. + (Qianqian Bu) + +- ODBC: + . Fixed bug #78473 (odbc_close() closes arbitrary resources). (cmb) + +- PDO_MySQL: + . Fixed bug #41997 (SP call yields additional empty result set). (cmb) + +- sodium: + . Fixed bug #78510 (Partially uninitialized buffer returned by + sodium_crypto_generichash_init()). (Frank Denis, cmb) + +29 Aug 2019, PHP 7.3.9 + +- Core: + . Fixed bug #78363 (Buffer overflow in zendparse). (Nikita) + . Fixed bug #78379 (Cast to object confuses GC, causes crash). (Dmitry) + . Fixed bug #78412 (Generator incorrectly reports non-releasable $this as GC + child). (Nikita) + +- Curl: + . Fixed bug #77946 (Bad cURL resources returned by curl_multi_info_read()). + (Abyr Valg) + +- Exif: + . Fixed bug #78333 (Exif crash (bus error) due to wrong alignment and + invalid cast). (Nikita) + +- FPM: + . Fixed bug #77185 (Use-after-free in FPM master event handling). + (Maksim Nikulin) + +- Iconv: + . Fixed bug #78342 (Bus error in configure test for iconv //IGNORE). (Rainer + Jung) + +- LiteSpeed: + . Updated to LiteSpeed SAPI V7.5 (Fixed clean shutdown). (George Wang) + +- MBString: + . Fixed bug #78380 (Oniguruma 6.9.3 fixes CVEs). (CVE-2019-13224) (Stas) + +- MySQLnd: + . Fixed bug #78179 (MariaDB server version incorrectly detected). (cmb) + . Fixed bug #78213 (Empty row pocket). (cmb) + +- Opcache: + . Fixed bug #77191 (Assertion failure in dce_live_ranges() when silencing is + used). (Nikita) + +- Standard: + . Fixed bug #69100 (Bus error from stream_copy_to_stream (file -> SSL stream) + with invalid length). (Nikita) + . Fixed bug #78282 (atime and mtime mismatch). (cmb) + . Fixed bug #78326 (improper memory deallocation on stream_get_contents() + with fixed length buffer). (Albert Casademont) + . Fixed bug #78346 (strip_tags no longer handling nested php tags). (cmb) + +01 Aug 2019, PHP 7.3.8 + +- Core: + . Added syslog.filter=raw option. (Erik Lundin) + . Fixed bug #78212 (Segfault in built-in webserver). (cmb) + +- Date: + . Fixed bug #69044 (discrepency between time and microtime). (krakjoe) + . Updated timelib to 2018.02. (Derick) + +- EXIF: + . Fixed bug #78256 (heap-buffer-overflow on exif_process_user_comment). + (CVE-2019-11042) (Stas) + . Fixed bug #78222 (heap-buffer-overflow on exif_scan_thumbnail). + (CVE-2019-11041) (Stas) + +- FTP: + . Fixed bug #78039 (FTP with SSL memory leak). (Nikita) + +- Libxml: + . Fixed bug #78279 (libxml_disable_entity_loader settings is shared between + requests (cgi-fcgi)). (Nikita) + +- LiteSpeed: + . Updated to LiteSpeed SAPI V7.4.3 (increased response header count limit from + 100 to 1000, added crash handler to cleanly shutdown PHP request, added + CloudLinux mod_lsapi mode). (George Wang) + . Fixed bug #76058 (After "POST data can't be buffered", using php://input + makes huge tmp files). (George Wang) + +- Openssl: + . Fixed bug #78231 (Segmentation fault upon stream_socket_accept of exported + socket-to-stream). (Nikita) + +- Opcache: + . Fixed bug #78189 (file cache strips last character of uname hash). (cmb) + . Fixed bug #78202 (Opcache stats for cache hits are capped at 32bit NUM). + (cmb) + . Fixed bug #78271 (Invalid result of if-else). (Nikita) + . Fixed bug #78291 (opcache_get_configuration doesn't list all directives). + (Andrew Collington) + . Fixed bug #78341 (Failure to detect smart branch in DFA pass). (Nikita) + +- PCRE: + . Fixed bug #78197 (PCRE2 version check in configure fails for "##.##-xxx" + version strings). (pgnet, Peter Kokot) + . Fixed bug #78338 (Array cross-border reading in PCRE). (cmb) + +- PDO_Sqlite: + . Fixed bug #78192 (SegFault when reuse statement after schema has changed). + (Vincent Quatrevieux) + +- Phar: + . Fixed bug #77919 (Potential UAF in Phar RSHUTDOWN). (cmb) + +- Phpdbg: + . Fixed bug #78297 (Include unexistent file memory leak). (Nikita) + +- SQLite: + . Upgraded to SQLite 3.28.0. (cmb) + +- Standard: + . Fixed bug #78241 (touch() does not handle dates after 2038 in PHP 64-bit). (cmb) + . Fixed bug #78269 (password_hash uses weak options for argon2). (Remi) + +04 Jul 2019, PHP 7.3.7 + +- Core: + . Fixed bug #76980 (Interface gets skipped if autoloader throws an exception). + (Nikita) + +- DOM: + . Fixed bug #78025 (segfault when accessing properties of DOMDocumentType). + (cmb) + +- MySQLi: + . Fixed bug #77956 (When mysqli.allow_local_infile = Off, use a meaningful + error message). (Sjon Hortensius) + . Fixed bug #38546 (bindParam incorrect processing of bool types). + (camporter) + +- MySQLnd: + . Fixed bug #77955 (Random segmentation fault in mysqlnd from php-fpm). + (Nikita) + +- Opcache: + . Fixed bug #78015 (Incorrect evaluation of expressions involving partials + arrays in SCCP). (Nikita) + . Fixed bug #78106 (Path resolution fails if opcache disabled during request). + (Nikita) + +- OpenSSL: + . Fixed bug #78079 (openssl_encrypt_ccm.phpt fails with OpenSSL 1.1.1c). + (Jakub Zelenka) + +- phpdbg: + . Fixed bug #78050 (SegFault phpdbg + opcache on include file twice). + (Nikita) + +- Sockets: + . Fixed bug #78038 (Socket_select fails when resource array contains + references). (Nikita) + +- Sodium: + . Fixed bug #78114 (segfault when calling sodium_* functions from eval). (cmb) + +- Standard: + . Fixed bug #77135 (Extract with EXTR_SKIP should skip $this). + (Craig Duncan, Dmitry) + . Fixed bug #77937 (preg_match failed). (cmb, Anatol) + +- Zip: + . Fixed bug #76345 (zip.h not found). (Michael Maroszek) + +30 May 2019, PHP 7.3.6 + +- cURL: + . Implemented FR #72189 (Add missing CURL_VERSION_* constants). (Javier + Spagnoletti) + +- Date: + . Fixed bug #77909 (DatePeriod::__construct() with invalid recurrence count + value). (Ignace Nyamagana Butera) + +- EXIF: + . Fixed bug #77988 (heap-buffer-overflow on php_jpg_get16). + (CVE-2019-11040) (Stas) + +- FPM: + . Fixed bug #77934 (php-fpm kill -USR2 not working). (Jakub Zelenka) + . Fixed bug #77921 (static.php.net doesn't work anymore). (Peter Kokot) + +- GD: + . Fixed bug #77943 (imageantialias($image, false); does not work). (cmb) + . Fixed bug #77973 (Uninitialized read in gdImageCreateFromXbm). + (CVE-2019-11038) (cmb) + +- Iconv: + . Fixed bug #78069 (Out-of-bounds read in iconv.c:_php_iconv_mime_decode() + due to integer overflow). (CVE-2019-11039). (maris dot adam) + +- JSON: + . Fixed bug #77843 (Use after free with json serializer). (Nikita) + +- Opcache: + . Fixed possible crashes, because of inconsistent PCRE cache and opcache + SHM reset. (Alexey Kalinin, Dmitry) + +- PDO_MySQL: + . Fixed bug #77944 (Wrong meta pdo_type for bigint on LLP64). (cmb) + +- Reflection: + . Fixed bug #75186 (Inconsistent reflection of Closure:::__invoke()). (Nikita) + +- Session: + . Fixed bug #77911 (Wrong warning for session.sid_bits_per_character). (cmb) + +- SOAP: + . Fixed bug #77945 (Segmentation fault when constructing SoapClient with + WSDL_CACHE_BOTH). (Nikita) + +- SPL: + . Fixed bug #77024 (SplFileObject::__toString() may return array). (Craig + Duncan) + +- SQLite: + . Fixed bug #77967 (Bypassing open_basedir restrictions via file uris). (Stas) + +- Standard: + . Fixed bug #77931 (Warning for array_map mentions wrong type). (Nikita) + . Fixed bug #78003 (strip_tags output change since PHP 7.3). (cmb) + +02 May 2019, PHP 7.3.5 + +- Core: + . Fixed bug #77903 (ArrayIterator stops iterating after offsetSet call). + (Nikita) + +- CLI: + . Fixed bug #77794 (Incorrect Date header format in built-in server). + (kelunik) + +- EXIF + . Fixed bug #77950 (Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG). + (CVE-2019-11036) (Stas) + +- Interbase: + . Fixed bug #72175 (Impossibility of creating multiple connections to + Interbase with php 7.x). (Nikita) + +- Intl: + . Fixed bug #77895 (IntlDateFormatter::create fails in strict mode if $locale + = null). (Nikita) + +- LDAP: + . Fixed bug #77869 (Core dump when using server controls) (mcmic) + +- Mail + . Fixed bug #77821 (Potential heap corruption in TSendMail()). (cmb) + +- mbstring: + . Implemented FR #72777 (Implement regex stack limits for mbregex functions). + (Yasuo Ohgaki, Stas) + +- MySQLi: + . Fixed bug #77773 (Unbuffered queries leak memory - MySQLi / mysqlnd). + (Nikita) + +- PCRE: + . Fixed bug #77827 (preg_match does not ignore \r in regex flags). (requinix, + cmb) + +- PDO: + . Fixed bug #77849 (Disable cloning of PDO handle/connection objects). + (camporter) + +- phpdbg: + . Fixed bug #76801 (too many open files). (alekitto) + . Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints). + (krakjoe) + . Fixed bug #77805 (phpdbg build fails when readline is shared). (krakjoe) + +- Reflection: + . Fixed bug #77772 (ReflectionClass::getMethods(null) doesn't work). (Nikita) + . Fixed bug #77882 (Different behavior: always calls destructor). (Nikita) + +- Standard: + . Fixed bug #77793 (Segmentation fault in extract() when overwriting + reference with itself). (Nikita) + . Fixed bug #77844 (Crash due to null pointer in parse_ini_string with + INI_SCANNER_TYPED). (Nikita) + . Fixed bug #77853 (Inconsistent substr_compare behaviour with empty + haystack). (Nikita) + +04 Apr 2019, PHP 7.3.4 + +- Core: + . Fixed bug #77738 (Nullptr deref in zend_compile_expr). (Laruence) + . Fixed bug #77660 (Segmentation fault on break 2147483648). (Laruence) + . Fixed bug #77652 (Anonymous classes can lose their interface information). + (Nikita) + . Fixed bug #77345 (Stack Overflow caused by circular reference in garbage + collection). (Alexandru Patranescu, Nikita, Dmitry) + . Fixed bug #76956 (Wrong value for 'syslog.filter' documented in php.ini). + (cmb) + +- Apache2Handler: + . Fixed bug #77648 (BOM in sapi/apache2handler/php_functions.c). (cmb) + +- Bcmath: + . Fixed bug #77742 (bcpow() implementation related to gcc compiler + optimization). (Nikita) + +- CLI Server: + . Fixed bug #77722 (Incorrect IP set to $_SERVER['REMOTE_ADDR'] on the + localhost). (Nikita) + +- COM: + . Fixed bug #77578 (Crash when php unload). (cmb) + +- EXIF: + . Fixed bug #77753 (Heap-buffer-overflow in php_ifd_get32s). (CVE-2019-11034) + (Stas) + . Fixed bug #77831 (Heap-buffer-overflow in exif_iif_add_value). + (CVE-2019-11035) (Stas) + +- FPM: + . Fixed bug #77677 (FPM fails to build on AIX due to missing WCOREDUMP). + (Kevin Adler) + +- GD: + . Fixed bug #77700 (Writing truecolor images as GIF ignores interlace flag). + (cmb) + +- MySQLi: + . Fixed bug #77597 (mysqli_fetch_field hangs scripts). (Nikita) + +- Opcache: + . Fixed bug #77743 (Incorrect pi node insertion for jmpznz with identical + successors). (Nikita) + +- PCRE: + . Fixed bug #76127 (preg_split does not raise an error on invalid UTF-8). + (Nikita) + +- Phar: + . Fixed bug #77697 (Crash on Big_Endian platform). (Laruence) + +- phpdbg: + . Fixed bug #77767 (phpdbg break cmd aliases listed in help do not match + actual aliases). (Miriam Lauter) + +- sodium: + . Fixed bug #77646 (sign_detached() strings not terminated). (Frank) + +- SQLite3: + . Added sqlite3.defensive INI directive. (BohwaZ) + +- Standard: + . Fixed bug #77664 (Segmentation fault when using undefined constant in + custom wrapper). (Laruence) + . Fixed bug #77669 (Crash in extract() when overwriting extracted array). + (Nikita) + . Fixed bug #76717 (var_export() does not create a parsable value for + PHP_INT_MIN). (Nikita) + . Fixed bug #77765 (FTP stream wrapper should set the directory as + executable). (Vlad Temian) + +07 Mar 2019, PHP 7.3.3 + +- Core: + . Fixed bug #77589 (Core dump using parse_ini_string with numeric sections). + (Laruence) + . Fixed bug #77329 (Buffer Overflow via overly long Error Messages). + (Dmitry) + . Fixed bug #77494 (Disabling class causes segfault on member access). + (Dmitry) + . Fixed bug #77498 (Custom extension Segmentation fault when declare static + property). (Nikita) + . Fixed bug #77530 (PHP crashes when parsing `(2)::class`). (Ekin) + . Fixed bug #77546 (iptcembed broken function). (gdegoulet) + . Fixed bug #77630 (rename() across the device may allow unwanted access + during processing). (Stas) + +- COM: + . Fixed bug #77621 (Already defined constants are not properly reported). + (cmb) + . Fixed bug #77626 (Persistence confusion in php_com_import_typelib()). (cmb) + +- EXIF: + . Fixed bug #77509 (Uninitialized read in exif_process_IFD_in_TIFF). (Stas) + . Fixed bug #77540 (Invalid Read on exif_process_SOFn). (Stas) + . Fixed bug #77563 (Uninitialized read in exif_process_IFD_in_MAKERNOTE). (Stas) + . Fixed bug #77659 (Uninitialized read in exif_process_IFD_in_MAKERNOTE). (Stas) + +- Mbstring: + . Fixed bug #77514 (mb_ereg_replace() with trailing backslash adds null byte). + (Nikita) + +- MySQL + . Disabled LOCAL INFILE by default, can be enabled using php.ini directive + mysqli.allow_local_infile for mysqli, or PDO::MYSQL_ATTR_LOCAL_INFILE + attribute for pdo_mysql. (Darek Slusarczyk) + +- OpenSSL: + . Fixed bug #77390 (feof might hang on TLS streams in case of fragmented TLS + records). (Abyl Valg, Jakub Zelenka) + +- PDO_OCI: + . Support Oracle Database tracing attributes ACTION, MODULE, + CLIENT_INFO, and CLIENT_IDENTIFIER. (Cameron Porter) + +- PHAR: + . Fixed bug #77396 (Null Pointer Dereference in phar_create_or_parse_filename). + (bishop) + . Fixed bug #77586 (phar_tar_writeheaders_int() buffer overflow). (bishop) + +- phpdbg: + . Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel) + +- SPL: + . Fixed bug #51068 (DirectoryIterator glob:// don't support current path + relative queries). (Ahmed Abdou) + . Fixed bug #77431 (openFile() silently truncates after a null byte). (cmb) + +- Standard: + . Fixed bug #77552 (Unintialized php_stream_statbuf in stat functions). + (John Stevenson) + . Fixed bug #77612 (setcookie() sets incorrect SameSite header if all of its + options filled). (Nikita) + +07 Feb 2019, PHP 7.3.2 + +- Core: + . Fixed bug #77369 (memcpy with negative length via crafted DNS response). (Stas) + . Fixed bug #77387 (Recursion detection broken when printing GLOBALS). + (Laruence) + . Fixed bug #77376 ("undefined function" message no longer includes + namespace). (Laruence) + . Fixed bug #77357 (base64_encode / base64_decode doest not work on nested + VM). (Nikita) + . Fixed bug #77339 (__callStatic may get incorrect arguments). (Dmitry) + . Fixed bug #77317 (__DIR__, __FILE__, realpath() reveal physical path for + subst virtual drive). (Anatol) + . Fixed bug #77263 (Segfault when using 2 RecursiveFilterIterator). (Dmitry) + . Fixed bug #77447 (PHP 7.3 built with ASAN crashes in + zend_cpu_supports_avx2). (Nikita) + . Fixed bug #77484 (Zend engine crashes when calling realpath in invalid + working dir). (Anatol) + +- Curl: + . Fixed bug #76675 (Segfault with H2 server push). (Pedro Magalhães) + +- Fileinfo: + . Fixed bug #77346 (webm files incorrectly detected as + application/octet-stream). (Anatol) + +- FPM: + . Fixed bug #77430 (php-fpm crashes with Main process exited, code=dumped, + status=11/SEGV). (Jakub Zelenka) + +- GD: + . Fixed bug #73281 (imagescale(…, IMG_BILINEAR_FIXED) can cause black border). + (cmb) + . Fixed bug #73614 (gdImageFilledArc() doesn't properly draw pies). (cmb) + . Fixed bug #77272 (imagescale() may return image resource on failure). (cmb) + . Fixed bug #77391 (1bpp BMPs may fail to be loaded). (Romain Déoux, cmb) + . Fixed bug #77479 (imagewbmp() segfaults with very large images). (cmb) + +- ldap: + . Fixed bug #77440 (ldap_bind using ldaps or ldap_start_tls()=exception in + libcrypto-1_1-x64.dll). (Anatol) + +- Mbstring: + . Fixed bug #77428 (mb_ereg_replace() doesn't replace a substitution + variable). (Nikita) + . Fixed bug #77454 (mb_scrub() silently truncates after a null byte). + (64796c6e69 at gmail dot com) + +- MySQLnd: + . Fixed bug #77308 (Unbuffered queries memory leak). (Dmitry) + . Fixed bug #75684 (In mysqlnd_ext_plugin.h the plugin methods family has + no external visibility). (Anatol) + +- Opcache: + . Fixed bug #77266 (Assertion failed in dce_live_ranges). (Laruence) + . Fixed bug #77257 (value of variable assigned in a switch() construct gets + lost). (Nikita) + . Fixed bug #77434 (php-fpm workers are segfaulting in zend_gc_addre). + (Nikita) + . Fixed bug #77361 (configure fails on 64-bit AIX when opcache enabled). + (Kevin Adler) + . Fixed bug #77287 (Opcache literal compaction is incompatible with EXT + opcodes). (Nikita) + +- PCRE: + . Fixed bug #77338 (get_browser with empty string). (Nikita) + +- PDO: + . Fixed bug #77273 (array_walk_recursive corrupts value types leading to PDO + failure). (Nikita) + +- PDO MySQL: + . Fixed bug #77289 (PDO MySQL segfaults with persistent connection). + (Lauri Kenttä) + +- SOAP: + . Fixed bug #77410 (Segmentation Fault when executing method with an empty + parameter). (Nikita) + +- Sockets: + . Fixed bug #76839 (socket_recvfrom may return an invalid 'from' address + on MacOS). (Michael Meyer) + +- SPL: + . Fixed bug #77298 (segfault occurs when add property to unserialized empty + ArrayObject). (jhdxr) + +- Standard: + . Fixed bug #77395 (segfault about array_multisort). (Laruence) + . Fixed bug #77439 (parse_str segfaults when inserting item into existing + array). (Nikita) + +10 Jan 2019, PHP 7.3.1 + +- Core: + . Fixed bug #76654 (Build failure on Mac OS X on 32-bit Intel). (Ryandesign) + . Fixed bug #71041 (zend_signal_startup() needs ZEND_API). + (Valentin V. Bartenev) + . Fixed bug #76046 (PHP generates "FE_FREE" opcode on the wrong line). + (Nikita) + . Fixed bug #77291 (magic methods inherited from a trait may be ignored). + (cmb) + +- CURL: + . Fixed bug #77264 (curl_getinfo returning microseconds, not seconds). + (Pierrick) + +- COM: + . Fixed bug #77177 (Serializing or unserializing COM objects crashes). (cmb) + +- Exif: + . Fixed bug #77184 (Unsigned rational numbers are written out as signed + rationals). (Colin Basnett) + +- GD: + . Fixed bug #77195 (Incorrect error handling of imagecreatefromjpeg()). (cmb) + . Fixed bug #77198 (auto cropping has insufficient precision). (cmb) + . Fixed bug #77200 (imagecropauto(…, GD_CROP_SIDES) crops left but not right). + (cmb) + . Fixed bug #77269 (efree() on uninitialized Heap data in imagescale leads to + use-after-free). (cmb) + . Fixed bug #77270 (imagecolormatch Out Of Bounds Write on Heap). (cmb) + +- MBString: + . Fixed bug #77367 (Negative size parameter in mb_split). (Stas) + . Fixed bug #77370 (Buffer overflow on mb regex functions - fetch_token). + (Stas) + . Fixed bug #77371 (heap buffer overflow in mb regex functions + - compile_string_node). (Stas) + . Fixed bug #77381 (heap buffer overflow in multibyte match_at). (Stas) + . Fixed bug #77382 (heap buffer overflow due to incorrect length in + expand_case_fold_string). (Stas) + . Fixed bug #77385 (buffer overflow in fetch_token). (Stas) + . Fixed bug #77394 (Buffer overflow in multibyte case folding - unicode). + (Stas) + . Fixed bug #77418 (Heap overflow in utf32be_mbc_to_code). (Stas) + +- OCI8: + . Fixed bug #76804 (oci_pconnect with OCI_CRED_EXT not working). (KoenigsKind) + . Added oci_set_call_timeout() for call timeouts. + . Added oci_set_db_operation() for the DBOP end-to-end-tracing attribute. + +- Opcache: + . Fixed bug #77215 (CFG assertion failure on multiple finalizing switch + frees in one block). (Nikita) + . Fixed bug #77275 (OPcache optimization problem for ArrayAccess->offsetGet). + (Nikita) + +- PCRE: + . Fixed bug #77193 (Infinite loop in preg_replace_callback). (Anatol) + +- PDO: + . Handle invalid index passed to PDOStatement::fetchColumn() as error. (Sergei + Morozov) + +- Phar: + . Fixed bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext). (Stas) + +- Soap: + . Fixed bug #77088 (Segfault when using SoapClient with null options). + (Laruence) + +- Sockets: + . Fixed bug #77136 (Unsupported IPV6_RECVPKTINFO constants on macOS). + (Mizunashi Mana) + +- Sodium: + . Fixed bug #77297 (SodiumException segfaults on PHP 7.3). (Nikita, Scott) + +- SPL: + . Fixed bug #77359 (spl_autoload causes segfault). (Lauri Kenttä) + . Fixed bug #77360 (class_uses causes segfault). (Lauri Kenttä) + +- SQLite3: + . Fixed bug #77051 (Issue with re-binding on SQLite3). (BohwaZ) + +- Xmlrpc: + . Fixed bug #77242 (heap out of bounds read in xmlrpc_decode()). (cmb) + . Fixed bug #77380 (Global out of bounds read in xmlrpc base64 code). (Stas) + +06 Dec 2018, PHP 7.3.0 + +- 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) + . 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) diff --git a/7.4.27/win/nghttp2.dll b/7.4.27/win/nghttp2.dll new file mode 100644 index 0000000..cff8509 Binary files /dev/null and b/7.4.27/win/nghttp2.dll differ diff --git a/7.4.27/win/phar.phar.bat b/7.4.27/win/phar.phar.bat new file mode 100644 index 0000000..aac3f76 --- /dev/null +++ b/7.4.27/win/phar.phar.bat @@ -0,0 +1 @@ +"%~dp0php.exe" "%~dp0pharcommand.phar" %* diff --git a/7.4.27/win/pharcommand.phar b/7.4.27/win/pharcommand.phar new file mode 100644 index 0000000..5c18293 Binary files /dev/null and b/7.4.27/win/pharcommand.phar differ diff --git a/7.4.27/win/php-cgi.exe b/7.4.27/win/php-cgi.exe new file mode 100644 index 0000000..36ae60f Binary files /dev/null and b/7.4.27/win/php-cgi.exe differ diff --git a/7.4.27/win/php-win.exe b/7.4.27/win/php-win.exe new file mode 100644 index 0000000..99d1b41 Binary files /dev/null and b/7.4.27/win/php-win.exe differ diff --git a/7.4.27/win/php.ini b/7.4.27/win/php.ini index 6382e80..752758b 100644 --- a/7.4.27/win/php.ini +++ b/7.4.27/win/php.ini @@ -758,7 +758,7 @@ user_dir = ; http://php.net/extension-dir ;extension_dir = "./" ; On windows: -;extension_dir = "ext" +extension_dir = "ext" ; Directory where the temporary files should be placed. ; Defaults to the system default (see sys_get_temp_dir) diff --git a/7.4.27/win/php7apache2_4.dll b/7.4.27/win/php7apache2_4.dll new file mode 100644 index 0000000..591ab9b Binary files /dev/null and b/7.4.27/win/php7apache2_4.dll differ diff --git a/7.4.27/win/php7embed.lib b/7.4.27/win/php7embed.lib new file mode 100644 index 0000000..ddd1a3b Binary files /dev/null and b/7.4.27/win/php7embed.lib differ diff --git a/7.4.27/win/php7phpdbg.dll b/7.4.27/win/php7phpdbg.dll new file mode 100644 index 0000000..048e1c0 Binary files /dev/null and b/7.4.27/win/php7phpdbg.dll differ diff --git a/7.4.27/win/phpdbg.exe b/7.4.27/win/phpdbg.exe new file mode 100644 index 0000000..accfa0f Binary files /dev/null and b/7.4.27/win/phpdbg.exe differ diff --git a/7.4.27/win/readme-redist-bins.txt b/7.4.27/win/readme-redist-bins.txt new file mode 100644 index 0000000..797619a --- /dev/null +++ b/7.4.27/win/readme-redist-bins.txt @@ -0,0 +1,668 @@ + 1. libmagic (ext/fileinfo) see ext/fileinfo/libmagic/LICENSE + 2. libmbfl (ext/mbstring) see ext/mbstring/libmbfl/LICENSE + 3. pcre2lib (ext/pcre) + 4. ext/standard crypt + 5. ext/standard crypt's blowfish implementation + 6. ext/standard/rand + 7. ext/standard/scanf + 8. ext/standard/strnatcmp.c + 9. ext/standard/uuencode +10. libxmlrpc ext/xmlrpc +11. main/snprintf.c +12. main/strlcat +13. main/strlcpy +14. libgd (ext/gd) +15. ext/phar portions of tar implementations +16. ext/phar/zip.c portion extracted from libzip +17. libbcmath (ext/bcmath) see ext/bcmath/libbcmath/LICENSE +18. ext/mbstring/ucgendat portions based on the ucgendat.c from the OpenLDAP + + +3. pcre2lib (ext/pcre) + +PCRE2 LICENCE +------------- + +PCRE2 is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + +Releases 10.00 and above of PCRE2 are distributed under the terms of the "BSD" +licence, as specified below, with one exemption for certain binary +redistributions. The documentation for PCRE2, supplied in the "doc" directory, +is distributed under the same terms as the software itself. The data in the +testdata directory is not copyrighted and is in the public domain. + +The basic library functions are written in C and are freestanding. Also +included in the distribution is a just-in-time compiler that can be used to +optimize pattern matching. This is an optional feature that can be omitted when +the library is built. + + +THE BASIC LIBRARY FUNCTIONS +--------------------------- + +Written by: Philip Hazel +Email local part: ph10 +Email domain: cam.ac.uk + +University of Cambridge Computing Service, +Cambridge, England. + +Copyright (c) 1997-2019 University of Cambridge +All rights reserved. + + +PCRE2 JUST-IN-TIME COMPILATION SUPPORT +-------------------------------------- + +Written by: Zoltan Herczeg +Email local part: hzmester +Email domain: freemail.hu + +Copyright(c) 2010-2019 Zoltan Herczeg +All rights reserved. + + +STACK-LESS JUST-IN-TIME COMPILER +-------------------------------- + +Written by: Zoltan Herczeg +Email local part: hzmester +Email domain: freemail.hu + +Copyright(c) 2009-2019 Zoltan Herczeg +All rights reserved. + + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notices, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notices, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the names of any + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES +------------------------------------------ + +The second condition in the BSD licence (covering binary redistributions) does +not apply all the way down a chain of software. If binary package A includes +PCRE2, it must respect the condition, but if package B is software that +includes package A, the condition is not imposed on package B unless it uses +PCRE2 independently. + +End + + +4. ext/standard crypt + +FreeSec: libcrypt for NetBSD + +Copyright (c) 1994 David Burren +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the author nor the names of other contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +5. ext/standard crypt's blowfish implementation + +The crypt_blowfish homepage is: + +http://www.openwall.com/crypt/ + +This code comes from John the Ripper password cracker, with reentrant +and crypt(3) interfaces added, but optimizations specific to password +cracking removed. + +Written by Solar Designer <solar at openwall.com> in 1998-2011. +No copyright is claimed, and the software is hereby placed in the public +domain. In case this attempt to disclaim copyright and place the software +in the public domain is deemed null and void, then the software is +Copyright (c) 1998-2011 Solar Designer and it is hereby released to the +general public under the following terms: + +Redistribution and use in source and binary forms, with or without +modification, are permitted. + +There's ABSOLUTELY NO WARRANTY, express or implied. + +It is my intent that you should be able to use this on your system, +as part of a software package, or anywhere else to improve security, +ensure compatibility, or for any other purpose. I would appreciate +it if you give credit where it is due and keep your modifications in +the public domain as well, but I don't require that in order to let +you place this code and any modifications you make under a license +of your choice. + +This implementation is mostly compatible with OpenBSD's bcrypt.c (prefix +"$2a$") by Niels Provos <provos at citi.umich.edu>, and uses some of his +ideas. The password hashing algorithm was designed by David Mazieres +<dm at lcs.mit.edu>. For more information on the level of compatibility, +please refer to the comments in BF_set_key() and to the crypt(3) man page +included in the crypt_blowfish tarball. + +There's a paper on the algorithm that explains its design decisions: + +http://www.usenix.org/events/usenix99/provos.html + +Some of the tricks in BF_ROUND might be inspired by Eric Young's +Blowfish library (I can't be sure if I would think of something if I +hadn't seen his code). + + +6. ext/standard/rand + +The following php_mt_...() functions are based on a C++ class MTRand by +Richard J. Wagner. For more information see the web page at +http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html + +Mersenne Twister random number generator -- a C++ class MTRand +Based on code by Makoto Matsumoto, Takuji Nishimura, and Shawn Cokus +Richard J. Wagner v1.0 15 May 2003 rjwagner@writeme.com + +The Mersenne Twister is an algorithm for generating random numbers. It +was designed with consideration of the flaws in various other generators. +The period, 2^19937-1, and the order of equidistribution, 623 dimensions, +are far greater. The generator is also fast; it avoids multiplication and +division, and it benefits from caches and pipelines. For more information +see the inventors' web page at http://www.math.keio.ac.jp/~matumoto/emt.html + +Reference +M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally +Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on +Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30. + +Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, +Copyright (C) 2000 - 2003, Richard J. Wagner +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +7. ext/standard/scanf + +scanf.c -- + +This file contains the base code which implements sscanf and by extension +fscanf. Original code is from TCL8.3.0 and bears the following copyright: + +This software is copyrighted by the Regents of the University of +California, Sun Microsystems, Inc., Scriptics Corporation, +and other parties. The following terms apply to all files associated +with the software unless explicitly disclaimed in individual files. + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. + +GOVERNMENT USE: If you are acquiring this software on behalf of the +U.S. government, the Government shall have only "Restricted Rights" +in the software and related documentation as defined in the Federal +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +are acquiring the software on behalf of the Department of Defense, the +software shall be classified as "Commercial Computer Software" and the +Government shall have only "Restricted Rights" as defined in Clause +252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the +authors grant the U.S. Government and others acting in its behalf +permission to use and distribute the software in accordance with the +terms specified in this license. + + +8. ext/standard/strnatcmp.c + +strnatcmp.c -- Perform 'natural order' comparisons of strings in C. +Copyright (C) 2000 by Martin Pool <mbp@humbug.org.au> + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + + +9. ext/standard/uuencode + +Portions of this code are based on Berkeley's uuencode/uudecode +implementation. + +Copyright (c) 1983, 1993 +The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: +This product includes software developed by the University of +California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +10. libxmlrpc ext/xmlrpc + +Copyright 2000 Epinions, Inc. + +Subject to the following 3 conditions, Epinions, Inc. permits you, free +of charge, to (a) use, copy, distribute, modify, perform and display this +software and associated documentation files (the "Software"), and (b) +permit others to whom the Software is furnished to do so as well. + +1) The above copyright notice and this permission notice shall be included +without modification in all copies or substantial portions of the +Software. + +2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF +ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY +IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE OR NONINFRINGEMENT. + +3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT +OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING +NEGLIGENCE), EVEN IF EPINIONS, INC. IS AWARE OF THE POSSIBILITY OF SUCH +DAMAGES. + + +11. main/snprintf.c + +Copyright (c) 2002, 2006 Todd C. Miller <Todd.Miller@courtesan.com> + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Sponsored in part by the Defense Advanced Research Projects +Agency (DARPA) and Air Force Research Laboratory, Air Force +Materiel Command, USAF, under agreement number F39502-99-1-0512. + +main/spprintf +Copyright (c) 1995-1998 The Apache Group. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the Apache Group + for use in the Apache HTTP server project (http://www.apache.org/)." + +4. The names "Apache Server" and "Apache Group" must not be used to + endorse or promote products derived from this software without + prior written permission. + +5. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the Apache Group + for use in the Apache HTTP server project (http://www.apache.org/)." + +THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +==================================================================== + +This software consists of voluntary contributions made by many +individuals on behalf of the Apache Group and was originally based +on public domain software written at the National Center for +Supercomputing Applications, University of Illinois, Urbana-Champaign. +For more information on the Apache Group and the Apache HTTP server +project, please see <http://www.apache.org/>. + +This code is based on, and used with the permission of, the +SIO stdio-replacement strx_* functions by Panos Tsirigotis +<panos@alumni.cs.colorado.edu> for xinetd. + + +12. main/strlcat +13. main/strlcpy + +Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +14. libgd (ext/gd) + +* Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, + 2002, 2003, 2004 by Cold Spring Harbor Laboratory. Funded under + Grant P41-RR02188 by the National Institutes of Health. + +* Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + 2004 by Boutell.Com, Inc. + +* Portions relating to GD2 format copyright 1999, 2000, 2001, 2002, + 2003, 2004 Philip Warner. + +* Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003, + 2004 Greg Roelofs. + +* Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002, + 2003, 2004 John Ellson (ellson@graphviz.org). + +* Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John + Ellson (ellson@graphviz.org). + +* Portions copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Pierre-Alain Joye (pierre@libgd.org). + +* Portions relating to JPEG and to color quantization copyright + 2000, 2001, 2002, 2003, 2004, Doug Becker and copyright (C) 1994, + 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas + G. Lane. This software is based in part on the work of the + Independent JPEG Group. See the file README-JPEG.TXT for more + information. + +* Portions relating to GIF compression copyright 1989 by Jef + Poskanzer and David Rowley, with modifications for thread safety + by Thomas Boutell. + +* Portions relating to GIF decompression copyright 1990, 1991, 1993 + by David Koblas, with modifications for thread safety by Thomas + Boutell. + +* Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004 + Maurice Szmurlo and Johan Van den Brande. + +* Portions relating to GIF animations copyright 2004 Jaakko Hyvätti + (jaakko.hyvatti@iki.fi) + +Permission has been granted to copy, distribute and modify gd in +any context without fee, including a commercial application, +provided that this notice is present in user-accessible supporting +documentation. + +This does not affect your ownership of the derived work itself, +and the intent is to assure proper credit for the authors of gd, +not to interfere with your productive use of gd. If you have +questions, ask. "Derived works" includes all programs that utilize +the library. Credit must be given in user-accessible +documentation. + +This software is provided "AS IS." The copyright holders disclaim +all warranties, either express or implied, including but not +limited to implied warranties of merchantability and fitness for a +particular purpose, with respect to this code and accompanying +documentation. + +Although their code does not appear in the current release, the +authors wish to thank David Koblas, David Rowley, and Hutchison +Avenue Software Corporation for their prior contributions. + +END OF COPYRIGHT STATEMENT + + +15. ext/phar portions of tar implementations + +portions of tar implementations in ext/phar - phar_tar_octal() are based on an +implementation by Tim Kientzle from libarchive, licensed with this license: + + Copyright (c) 2003-2007 Tim Kientzle + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +16. ext/phar/zip.c portion extracted from libzip + +zip_dirent.c -- read directory entry (local or central), clean dirent +Copyright (C) 1999, 2003, 2004, 2005 Dieter Baron and Thomas Klausner + +This function is part of libzip, a library to manipulate ZIP archives. +The authors can be contacted at <nih@giga.or.at> + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. +3. The names of the authors may not be used to endorse or promote + products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +18. ext/mbstring/ucgendat portions based on the ucgendat.c from the OpenLDAP + +The OpenLDAP Public License + Version 2.8, 17 August 2003 + +Redistribution and use of this software and associated documentation +("Software"), with or without modification, are permitted provided +that the following conditions are met: + +1. Redistributions in source form must retain copyright statements + and notices, + +2. Redistributions in binary form must reproduce applicable copyright + statements and notices, this list of conditions, and the following + disclaimer in the documentation and/or other materials provided + with the distribution, and + +3. Redistributions must contain a verbatim copy of this document. + +The OpenLDAP Foundation may revise this license from time to time. +Each revision is distinguished by a version number. You may use +this Software under terms of this license revision or under the +terms of any subsequent revision of the license. + +THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS +CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) +OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +The names of the authors and copyright holders must not be used in +advertising or otherwise to promote the sale, use or other dealing +in this Software without specific, written prior permission. Title +to copyright in this Software shall at all times remain with copyright +holders. + +OpenLDAP is a registered trademark of the OpenLDAP Foundation. + +Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, +California, USA. All Rights Reserved. Permission to copy and +distribute verbatim copies of this document is granted. diff --git a/7.4.27/win/sasl2/saslANONYMOUS.dll b/7.4.27/win/sasl2/saslANONYMOUS.dll new file mode 100644 index 0000000..902210b Binary files /dev/null and b/7.4.27/win/sasl2/saslANONYMOUS.dll differ diff --git a/7.4.27/win/sasl2/saslCRAMMD5.dll b/7.4.27/win/sasl2/saslCRAMMD5.dll new file mode 100644 index 0000000..22fea4d Binary files /dev/null and b/7.4.27/win/sasl2/saslCRAMMD5.dll differ diff --git a/7.4.27/win/sasl2/saslDIGESTMD5.dll b/7.4.27/win/sasl2/saslDIGESTMD5.dll new file mode 100644 index 0000000..5dc8b56 Binary files /dev/null and b/7.4.27/win/sasl2/saslDIGESTMD5.dll differ diff --git a/7.4.27/win/sasl2/saslLOGIN.dll b/7.4.27/win/sasl2/saslLOGIN.dll new file mode 100644 index 0000000..cb9040b Binary files /dev/null and b/7.4.27/win/sasl2/saslLOGIN.dll differ diff --git a/7.4.27/win/sasl2/saslNTLM.dll b/7.4.27/win/sasl2/saslNTLM.dll new file mode 100644 index 0000000..9b2f4d8 Binary files /dev/null and b/7.4.27/win/sasl2/saslNTLM.dll differ diff --git a/7.4.27/win/sasl2/saslOTP.dll b/7.4.27/win/sasl2/saslOTP.dll new file mode 100644 index 0000000..075b60e Binary files /dev/null and b/7.4.27/win/sasl2/saslOTP.dll differ diff --git a/7.4.27/win/sasl2/saslPLAIN.dll b/7.4.27/win/sasl2/saslPLAIN.dll new file mode 100644 index 0000000..d8967a3 Binary files /dev/null and b/7.4.27/win/sasl2/saslPLAIN.dll differ diff --git a/7.4.27/win/sasl2/saslSASLDB.dll b/7.4.27/win/sasl2/saslSASLDB.dll new file mode 100644 index 0000000..7451bef Binary files /dev/null and b/7.4.27/win/sasl2/saslSASLDB.dll differ diff --git a/7.4.27/win/sasl2/saslSCRAM.dll b/7.4.27/win/sasl2/saslSCRAM.dll new file mode 100644 index 0000000..5c279f8 Binary files /dev/null and b/7.4.27/win/sasl2/saslSCRAM.dll differ diff --git a/7.4.27/win/sasl2/saslSQLITE.dll b/7.4.27/win/sasl2/saslSQLITE.dll new file mode 100644 index 0000000..c290d26 Binary files /dev/null and b/7.4.27/win/sasl2/saslSQLITE.dll differ diff --git a/7.4.27/win/snapshot.txt b/7.4.27/win/snapshot.txt new file mode 100644 index 0000000..765216f --- /dev/null +++ b/7.4.27/win/snapshot.txt @@ -0,0 +1,142 @@ +This snapshot was automatically generated on +Tue, 14 Dec 2021 20:51:35 +0000 + +Version: 7.4.27 +Branch: HEAD +Build: C:\php-snap-build\php74\vc15\x64\obj\Release_TS + +Built-in Extensions +=========================== +Core +bcmath +calendar +ctype +date +filter +hash +iconv +json +SPL +pcre +readline +Reflection +session +standard +mysqlnd +tokenizer +zip +zlib +libxml +dom +PDO +openssl +SimpleXML +xml +wddx +xmlreader +xmlwriter +curl +ftp +sqlite3 +Phar +mbstring +mysqli + + +Dependency information: +Module: php7ts.dll +=========================== + imagehlp.dll + +Module: php_curl.dll +=========================== + libcrypto-1_1-x64.dll + libssl-1_1-x64.dll + libssh2.dll + nghttp2.dll + +Module: libssl-1_1-x64.dll +=========================== + libcrypto-1_1-x64.dll + +Module: libssh2.dll +=========================== + libcrypto-1_1-x64.dll + +Module: php_enchant.dll +=========================== + libenchant.dll + +Module: libenchant.dll +=========================== + glib-2.dll + gmodule-2.dll + +Module: gmodule-2.dll +=========================== + glib-2.dll + +Module: php_ftp.dll +=========================== + libcrypto-1_1-x64.dll + libssl-1_1-x64.dll + +Module: php_intl.dll +=========================== + icuuc66.dll + icuin66.dll + icuio66.dll + +Module: icuuc66.dll +=========================== + icudt66.dll + +Module: icuin66.dll +=========================== + icuuc66.dll + +Module: icuio66.dll +=========================== + icuuc66.dll + icuin66.dll + +Module: php_ldap.dll +=========================== + libsasl.dll + libcrypto-1_1-x64.dll + libssl-1_1-x64.dll + +Module: php_openssl.dll +=========================== + libcrypto-1_1-x64.dll + libssl-1_1-x64.dll + +Module: php_pgsql.dll +=========================== + libpq.dll + +Module: libpq.dll +=========================== + libssl-1_1-x64.dll + libcrypto-1_1-x64.dll + +Module: php_snmp.dll +=========================== + libcrypto-1_1-x64.dll + +Module: php_sodium.dll +=========================== + libsodium.dll + +Module: php_sqlite3.dll +=========================== + libsqlite3.dll + +Module: php_pdo_pgsql.dll +=========================== + libpq.dll + +Module: php_pdo_sqlite.dll +=========================== + libsqlite3.dll +