commit 4e62e853362aa5fd6620ffe177787b969dfc82ad Author: Pavel Shevaev Date: Thu Apr 27 18:57:11 2023 +0300 First commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..6b9fe6e --- /dev/null +++ b/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/deplister.exe b/deplister.exe new file mode 100644 index 0000000..8b58d26 Binary files /dev/null and b/deplister.exe differ diff --git a/dev/php7ts.lib b/dev/php7ts.lib new file mode 100644 index 0000000..26d2b30 Binary files /dev/null and b/dev/php7ts.lib differ diff --git a/ext/php_bz2.dll b/ext/php_bz2.dll new file mode 100644 index 0000000..f488e65 Binary files /dev/null and b/ext/php_bz2.dll differ diff --git a/ext/php_com_dotnet.dll b/ext/php_com_dotnet.dll new file mode 100644 index 0000000..2d69349 Binary files /dev/null and b/ext/php_com_dotnet.dll differ diff --git a/ext/php_curl.dll b/ext/php_curl.dll new file mode 100644 index 0000000..4eac1eb Binary files /dev/null and b/ext/php_curl.dll differ diff --git a/ext/php_dba.dll b/ext/php_dba.dll new file mode 100644 index 0000000..afe1dc4 Binary files /dev/null and b/ext/php_dba.dll differ diff --git a/ext/php_enchant.dll b/ext/php_enchant.dll new file mode 100644 index 0000000..ac95c77 Binary files /dev/null and b/ext/php_enchant.dll differ diff --git a/ext/php_exif.dll b/ext/php_exif.dll new file mode 100644 index 0000000..a355212 Binary files /dev/null and b/ext/php_exif.dll differ diff --git a/ext/php_ffi.dll b/ext/php_ffi.dll new file mode 100644 index 0000000..231f225 Binary files /dev/null and b/ext/php_ffi.dll differ diff --git a/ext/php_fileinfo.dll b/ext/php_fileinfo.dll new file mode 100644 index 0000000..b6b97c6 Binary files /dev/null and b/ext/php_fileinfo.dll differ diff --git a/ext/php_ftp.dll b/ext/php_ftp.dll new file mode 100644 index 0000000..dfd5845 Binary files /dev/null and b/ext/php_ftp.dll differ diff --git a/ext/php_gd2.dll b/ext/php_gd2.dll new file mode 100644 index 0000000..5bbbb42 Binary files /dev/null and b/ext/php_gd2.dll differ diff --git a/ext/php_gettext.dll b/ext/php_gettext.dll new file mode 100644 index 0000000..6c3636f Binary files /dev/null and b/ext/php_gettext.dll differ diff --git a/ext/php_gmp.dll b/ext/php_gmp.dll new file mode 100644 index 0000000..9deb8fb Binary files /dev/null and b/ext/php_gmp.dll differ diff --git a/ext/php_imap.dll b/ext/php_imap.dll new file mode 100644 index 0000000..d827905 Binary files /dev/null and b/ext/php_imap.dll differ diff --git a/ext/php_intl.dll b/ext/php_intl.dll new file mode 100644 index 0000000..cc54ec2 Binary files /dev/null and b/ext/php_intl.dll differ diff --git a/ext/php_ldap.dll b/ext/php_ldap.dll new file mode 100644 index 0000000..99affba Binary files /dev/null and b/ext/php_ldap.dll differ diff --git a/ext/php_mbstring.dll b/ext/php_mbstring.dll new file mode 100644 index 0000000..c9aa815 Binary files /dev/null and b/ext/php_mbstring.dll differ diff --git a/ext/php_mysqli.dll b/ext/php_mysqli.dll new file mode 100644 index 0000000..a993d6a Binary files /dev/null and b/ext/php_mysqli.dll differ diff --git a/ext/php_oci8_12c.dll b/ext/php_oci8_12c.dll new file mode 100644 index 0000000..e156f70 Binary files /dev/null and b/ext/php_oci8_12c.dll differ diff --git a/ext/php_odbc.dll b/ext/php_odbc.dll new file mode 100644 index 0000000..0665de4 Binary files /dev/null and b/ext/php_odbc.dll differ diff --git a/ext/php_opcache.dll b/ext/php_opcache.dll new file mode 100644 index 0000000..5d03926 Binary files /dev/null and b/ext/php_opcache.dll differ diff --git a/ext/php_openssl.dll b/ext/php_openssl.dll new file mode 100644 index 0000000..619a6b4 Binary files /dev/null and b/ext/php_openssl.dll differ diff --git a/ext/php_pdo_firebird.dll b/ext/php_pdo_firebird.dll new file mode 100644 index 0000000..8e9c78d Binary files /dev/null and b/ext/php_pdo_firebird.dll differ diff --git a/ext/php_pdo_mysql.dll b/ext/php_pdo_mysql.dll new file mode 100644 index 0000000..6031370 Binary files /dev/null and b/ext/php_pdo_mysql.dll differ diff --git a/ext/php_pdo_oci.dll b/ext/php_pdo_oci.dll new file mode 100644 index 0000000..5bfbcd9 Binary files /dev/null and b/ext/php_pdo_oci.dll differ diff --git a/ext/php_pdo_odbc.dll b/ext/php_pdo_odbc.dll new file mode 100644 index 0000000..a1a01b7 Binary files /dev/null and b/ext/php_pdo_odbc.dll differ diff --git a/ext/php_pdo_pgsql.dll b/ext/php_pdo_pgsql.dll new file mode 100644 index 0000000..f9b0453 Binary files /dev/null and b/ext/php_pdo_pgsql.dll differ diff --git a/ext/php_pdo_sqlite.dll b/ext/php_pdo_sqlite.dll new file mode 100644 index 0000000..b48ce6c Binary files /dev/null and b/ext/php_pdo_sqlite.dll differ diff --git a/ext/php_pgsql.dll b/ext/php_pgsql.dll new file mode 100644 index 0000000..ed01c03 Binary files /dev/null and b/ext/php_pgsql.dll differ diff --git a/ext/php_phpdbg_webhelper.dll b/ext/php_phpdbg_webhelper.dll new file mode 100644 index 0000000..d1c1dbf Binary files /dev/null and b/ext/php_phpdbg_webhelper.dll differ diff --git a/ext/php_shmop.dll b/ext/php_shmop.dll new file mode 100644 index 0000000..248da8e Binary files /dev/null and b/ext/php_shmop.dll differ diff --git a/ext/php_snmp.dll b/ext/php_snmp.dll new file mode 100644 index 0000000..00d20ce Binary files /dev/null and b/ext/php_snmp.dll differ diff --git a/ext/php_soap.dll b/ext/php_soap.dll new file mode 100644 index 0000000..314cb29 Binary files /dev/null and b/ext/php_soap.dll differ diff --git a/ext/php_sockets.dll b/ext/php_sockets.dll new file mode 100644 index 0000000..9bdbead Binary files /dev/null and b/ext/php_sockets.dll differ diff --git a/ext/php_sodium.dll b/ext/php_sodium.dll new file mode 100644 index 0000000..6c0a6ca Binary files /dev/null and b/ext/php_sodium.dll differ diff --git a/ext/php_sqlite3.dll b/ext/php_sqlite3.dll new file mode 100644 index 0000000..36d16e2 Binary files /dev/null and b/ext/php_sqlite3.dll differ diff --git a/ext/php_sysvshm.dll b/ext/php_sysvshm.dll new file mode 100644 index 0000000..60bd153 Binary files /dev/null and b/ext/php_sysvshm.dll differ diff --git a/ext/php_tidy.dll b/ext/php_tidy.dll new file mode 100644 index 0000000..a9c279f Binary files /dev/null and b/ext/php_tidy.dll differ diff --git a/ext/php_xdiff.dll b/ext/php_xdiff.dll new file mode 100644 index 0000000..30d3892 Binary files /dev/null and b/ext/php_xdiff.dll differ diff --git a/ext/php_xmlrpc.dll b/ext/php_xmlrpc.dll new file mode 100644 index 0000000..cd988fd Binary files /dev/null and b/ext/php_xmlrpc.dll differ diff --git a/ext/php_xsl.dll b/ext/php_xsl.dll new file mode 100644 index 0000000..150ca6c Binary files /dev/null and b/ext/php_xsl.dll differ diff --git a/ext/php_zend_test.dll b/ext/php_zend_test.dll new file mode 100644 index 0000000..bacd890 Binary files /dev/null and b/ext/php_zend_test.dll differ diff --git a/extras/ssl/openssl.cnf b/extras/ssl/openssl.cnf new file mode 100644 index 0000000..4acca4b --- /dev/null +++ b/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/glib-2.dll b/glib-2.dll new file mode 100644 index 0000000..6e92f08 Binary files /dev/null and b/glib-2.dll differ diff --git a/gmodule-2.dll b/gmodule-2.dll new file mode 100644 index 0000000..21cf2ca Binary files /dev/null and b/gmodule-2.dll differ diff --git a/lib/enchant/libenchant_ispell.dll b/lib/enchant/libenchant_ispell.dll new file mode 100644 index 0000000..6b1d3c0 Binary files /dev/null and b/lib/enchant/libenchant_ispell.dll differ diff --git a/lib/enchant/libenchant_myspell.dll b/lib/enchant/libenchant_myspell.dll new file mode 100644 index 0000000..13061b1 Binary files /dev/null and b/lib/enchant/libenchant_myspell.dll differ diff --git a/libcrypto-1_1-x64.dll b/libcrypto-1_1-x64.dll new file mode 100644 index 0000000..03008cf Binary files /dev/null and b/libcrypto-1_1-x64.dll differ diff --git a/libenchant.dll b/libenchant.dll new file mode 100644 index 0000000..102a65e Binary files /dev/null and b/libenchant.dll differ diff --git a/libpq.dll b/libpq.dll new file mode 100644 index 0000000..6568e70 Binary files /dev/null and b/libpq.dll differ diff --git a/libsasl.dll b/libsasl.dll new file mode 100644 index 0000000..410096c Binary files /dev/null and b/libsasl.dll differ diff --git a/libsodium.dll b/libsodium.dll new file mode 100644 index 0000000..0b3f4d4 Binary files /dev/null and b/libsodium.dll differ diff --git a/libsqlite3.dll b/libsqlite3.dll new file mode 100644 index 0000000..a5bdf47 Binary files /dev/null and b/libsqlite3.dll differ diff --git a/libssh2.dll b/libssh2.dll new file mode 100644 index 0000000..050556f Binary files /dev/null and b/libssh2.dll differ diff --git a/libssl-1_1-x64.dll b/libssl-1_1-x64.dll new file mode 100644 index 0000000..cee6061 Binary files /dev/null and b/libssl-1_1-x64.dll differ diff --git a/license.txt b/license.txt new file mode 100644 index 0000000..6a15be5 --- /dev/null +++ b/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/news.txt b/news.txt new file mode 100644 index 0000000..c27e069 --- /dev/null +++ b/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/nghttp2.dll b/nghttp2.dll new file mode 100644 index 0000000..cff8509 Binary files /dev/null and b/nghttp2.dll differ diff --git a/phar.phar.bat b/phar.phar.bat new file mode 100644 index 0000000..aac3f76 --- /dev/null +++ b/phar.phar.bat @@ -0,0 +1 @@ +"%~dp0php.exe" "%~dp0pharcommand.phar" %* diff --git a/pharcommand.phar b/pharcommand.phar new file mode 100644 index 0000000..5c18293 Binary files /dev/null and b/pharcommand.phar differ diff --git a/php-cgi.exe b/php-cgi.exe new file mode 100644 index 0000000..36ae60f Binary files /dev/null and b/php-cgi.exe differ diff --git a/php-win.exe b/php-win.exe new file mode 100644 index 0000000..99d1b41 Binary files /dev/null and b/php-win.exe differ diff --git a/php.exe b/php.exe new file mode 100644 index 0000000..0dfc0f2 Binary files /dev/null and b/php.exe differ diff --git a/php.ini b/php.ini new file mode 100644 index 0000000..00c40d9 --- /dev/null +++ b/php.ini @@ -0,0 +1,1948 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (usually C:\windows) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is the php.ini-development INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.sid_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to an empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; <? and ?> tags as PHP source which should be processed as such. It is +; generally recommended that <?php and ?> should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the <?= shorthand tag, which can be +; used regardless of this directive. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/short-open-tag +short_open_tag = Off + +; The number of significant digits displayed in floating point numbers. +; http://php.net/precision +precision = 14 + +; Output buffering is a mechanism for controlling how much output data +; (excluding headers and cookies) PHP should keep internally before pushing that +; data to the client. If your application's output exceeds this setting, PHP +; will send that data in chunks of roughly the size you specify. +; Turning on this setting and managing its maximum buffer size can yield some +; interesting side-effects depending on your application and web server. +; You may be able to send headers and cookies after you've already sent output +; through print or echo. You also may see performance benefits if your server is +; emitting less packets due to buffered output versus PHP streaming the output +; as it gets it. On production servers, 4096 bytes is a good setting for performance +; reasons. +; Note: Output buffering can also be controlled via Output Buffering Control +; functions. +; Possible Values: +; On = Enabled and buffer is unlimited. (Use with caution) +; Off = Disabled +; Integer = Enables the buffer and sets its maximum size in bytes. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 +; http://php.net/output-buffering +output_buffering = 4096 + +; You can redirect all of the output of your scripts to a function. For +; example, if you set output_handler to "mb_output_handler", character +; encoding will be transparently converted to the specified encoding. +; Setting any output handler automatically turns on output buffering. +; Note: People who wrote portable scripts should not depend on this ini +; directive. Instead, explicitly set the output handler using ob_start(). +; Using this ini directive may cause problems unless you know what script +; is doing. +; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" +; and you cannot use both "ob_gzhandler" and "zlib.output_compression". +; Note: output_handler must be empty if this is set 'On' !!!! +; Instead you must use zlib.output_handler. +; http://php.net/output-handler +;output_handler = + +; URL rewriter function rewrites URL on the fly by using +; output buffer. You can set target tags by this configuration. +; "form" tag is special tag. It will add hidden input tag to pass values. +; Refer to session.trans_sid_tags for usage. +; Default Value: "form=" +; Development Value: "form=" +; Production Value: "form=" +;url_rewriter.tags + +; URL rewriter will not rewrite absolute URL nor form by default. To enable +; absolute URL rewrite, allowed hosts must be defined at RUNTIME. +; Refer to session.trans_sid_hosts for more details. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;url_rewriter.hosts + +; Transparent output compression using the zlib library +; Valid values for this option are 'off', 'on', or a specific buffer size +; to be used for compression (default is 4KB) +; Note: Resulting chunk size may vary due to nature of compression. PHP +; outputs chunks that are few hundreds bytes each as a result of +; compression. If you prefer a larger chunk size for better +; performance, enable output_buffering in addition. +; Note: You need to use zlib.output_handler instead of the standard +; output_handler, or otherwise the output will be corrupted. +; http://php.net/zlib.output-compression +zlib.output_compression = Off + +; http://php.net/zlib.output-compression-level +;zlib.output_compression_level = -1 + +; You cannot specify additional output handlers if zlib.output_compression +; is activated here. This setting does the same as output_handler but in +; a different order. +; http://php.net/zlib.output-handler +;zlib.output_handler = + +; Implicit flush tells PHP to tell the output layer to flush itself +; automatically after every output block. This is equivalent to calling the +; PHP function flush() after each and every call to print() or echo() and each +; and every HTML block. Turning this option on has serious performance +; implications and is generally recommended for debugging purposes only. +; http://php.net/implicit-flush +; Note: This directive is hardcoded to On for the CLI SAPI +implicit_flush = Off + +; The unserialize callback function will be called (with the undefined class' +; name as parameter), if the unserializer finds an undefined class +; which should be instantiated. A warning appears if the specified function is +; not defined, or if the function doesn't include/implement the missing class. +; So only set this entry, if you really want to implement such a +; callback-function. +unserialize_callback_func = + +; The unserialize_max_depth specifies the default depth limit for unserialized +; structures. Setting the depth limit too high may result in stack overflows +; during unserialization. The unserialize_max_depth ini setting can be +; overridden by the max_depth option on individual unserialize() calls. +; A value of 0 disables the depth limit. +;unserialize_max_depth = 4096 + +; When floats & doubles are serialized, store serialize_precision significant +; digits after the floating point. The default value ensures that when floats +; are decoded with unserialize, the data will remain the same. +; The value is also used for json_encode when encoding double values. +; If -1 is used, then dtoa mode 0 is used which automatically select the best +; precision. +serialize_precision = -1 + +; open_basedir, if set, limits all file operations to the defined directory +; and below. This directive makes most sense if used in a per-directory +; or per-virtualhost web server configuration file. +; Note: disables the realpath cache +; http://php.net/open-basedir +;open_basedir = + +; This directive allows you to disable certain functions. +; It receives a comma-delimited list of function names. +; http://php.net/disable-functions +disable_functions = + +; This directive allows you to disable certain classes. +; It receives a comma-delimited list of class names. +; http://php.net/disable-classes +disable_classes = + +; Colors for Syntax Highlighting mode. Anything that's acceptable in +; <span style="color: ???????"> would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; Note: if open_basedir is set, the cache is disabled +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +; Allows to include or exclude arguments from stack traces generated for exceptions. +; In production, it is recommended to turn this setting on to prohibit the output +; of sensitive information in stack traces +; Default: Off +zend.exception_ignore_args = Off + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +;max_input_vars = 1000 + +; Maximum amount of memory a script may consume +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = On + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = On + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This is only effective in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; This directive is DEPRECATED. +; Default Value: Off +; Development Value: Off +; Production Value: Off +; http://php.net/track-errors +;track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; http://php.net/html-errors +;html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "<span style='color: #ff0000'>" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "</span>" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +; The syslog ident is a string which is prepended to every message logged +; to syslog. Only used when error_log is set to syslog. +;syslog.ident = php + +; The syslog facility is used to specify what type of program is logging +; the message. Only used when error_log is set to syslog. +;syslog.facility = user + +; Set this to disable filtering control characters (the default). +; Some loggers only accept NVT-ASCII, others accept anything that's not +; control characters. If your logger accepts everything, then no filtering +; is needed at all. +; Allowed values are: +; ascii (all printable ASCII characters and NL) +; no-ctrl (all characters except control characters) +; all (all characters) +; raw (like "all", but messages are not split at newlines) +; http://php.net/syslog.filter +;syslog.filter = ascii + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any effect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +;extension_dir = "./" +; On windows: +extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +;sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +;cgi.discard_path=1 + +; FastCGI under IIS supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename +; +; For example: +; +; extension=mysqli +; +; When the extension library to load is not located in the default extension +; directory, You may specify an absolute path to the library file: +; +; extension=/path/to/extension/mysqli.so +; +; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and +; 'extension='php_<ext>.dll') is supported for legacy reasons and may be +; deprecated in a future PHP major version. So, when it is possible, please +; move to the new ('extension=<ext>) syntax. +; +; Notes for Windows environments : +; +; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=bz2 +extension=curl +;extension=ffi +;extension=ftp +;extension=fileinfo +;extension=gd2 +;extension=gettext +;extension=gmp +;extension=intl +;extension=imap +;extension=ldap +extension=mbstring +;extension=exif ; Must be after mbstring as it depends on it +extension=mysqli +;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=odbc +extension=openssl +;extension=pdo_firebird +;extension=pdo_mysql +;extension=pdo_oci +;extension=pdo_odbc +;extension=pdo_pgsql +;extension=pdo_sqlite +;extension=pgsql +;extension=shmop +extension=xdiff + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=snmp + +;extension=soap +;extension=sockets +;extension=sodium +;extension=sqlite3 +;extension=tidy +;extension=xmlrpc +;extension=xsl + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < input_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +; Directory pointing to SQLite3 extensions +; http://php.net/sqlite3.extension-dir +;sqlite3.extension_dir = + +; SQLite defensive mode flag (only available from SQLite 3.26+) +; When the defensive flag is enabled, language features that allow ordinary +; SQL to deliberately corrupt the database file are disabled. This forbids +; writing directly to the schema, shadow tables (eg. FTS data tables), or +; the sqlite_dbpage virtual table. +; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html +; (for older SQLite versions, this flag has no use) +;sqlite3.defensive = 1 + +[Pcre] +; PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +; PCRE library recursion limit. +; Please note that if you set this value to a high number you may consume all +; the available process stack and eventually crash PHP (due to reaching the +; stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +; Enables or disables JIT compilation of patterns. This requires the PCRE +; library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = Off + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysqli_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysqli_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +mysqlnd.collect_memory_statistics = On + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept an uninitialized session ID, and +; regenerates the session ID if the browser sends an uninitialized session ID. +; Strict mode protects applications from session fixation via a session adoption +; vulnerability. It is disabled by default for maximum compatibility, but +; enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it +; inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF) +; Current valid values are "Strict", "Lax" or "None". When using "None", +; make sure to include the quotes, as `none` is interpreted like `false` in ini files. +; https://tools.ietf.org/html/draft-west-first-party-cookies-07 +session.cookie_samesite = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using gc_probability/gc_divisor, +; e.g. 1/100 means there is a 1% chance that the GC process starts on each request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using gc_probability/gc_divisor, +; e.g. 1/100 means there is a 1% chance that the GC process starts on each request. +; For high volume production servers, using a value of 1000 is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script is the equivalent of setting +; session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; <form> is special; if you include them here, the rewriter will +; add a hidden <input> field with the info which is otherwise appended +; to URLs. <form> tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute paths, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; <form> tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = 1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertionError on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a component's typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_translation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < input_encoding < mbstring.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +; This directive specifies maximum stack depth for mbstring regular expressions. It is similar +; to the pcre.recursion_limit for PCRE. +; Default: 100000 +;mbstring.regex_stack_limit=100000 + +; This directive specifies maximum retry count for mbstring regular expressions. It is similar +; to the pcre.backtrack_limit for PCRE. +; Default: 1000000 +;mbstring.regex_retry_limit=1000000 + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0x7FFFBFFF + +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Facilitates multiple OPcache instances per user (for Windows only). All PHP +; processes with the same cache ID and user share an OPcache instance. +;opcache.cache_id= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=0 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + +; Specifies a PHP script that is going to be compiled and executed at server +; start-up. +; http://php.net/opcache.preload +;opcache.preload= + +; Preloading code as root is not allowed for security reasons. This directive +; facilitates to let the preloading to be run as another user. +; http://php.net/opcache.preload_user +;opcache.preload_user= + +; Prevents caching files that are less than this number of seconds old. It +; protects from caching of incompletely updated files. In case all file updates +; on your site are atomic, you may increase performance by setting it to "0". +;opcache.file_update_protection=2 + +; Absolute path used to store shared lockfiles (for *nix only). +;opcache.lockfile_path=/tmp + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +[ffi] +; FFI API restriction. Possible values: +; "preload" - enabled in CLI scripts and preloaded files (default) +; "false" - always disabled +; "true" - always enabled +;ffi.enable=preload + +; List of headers files to preload, wildcard patterns allowed. +;ffi.preload= diff --git a/php7apache2_4.dll b/php7apache2_4.dll new file mode 100644 index 0000000..591ab9b Binary files /dev/null and b/php7apache2_4.dll differ diff --git a/php7embed.lib b/php7embed.lib new file mode 100644 index 0000000..ddd1a3b Binary files /dev/null and b/php7embed.lib differ diff --git a/php7phpdbg.dll b/php7phpdbg.dll new file mode 100644 index 0000000..048e1c0 Binary files /dev/null and b/php7phpdbg.dll differ diff --git a/php7ts.dll b/php7ts.dll new file mode 100644 index 0000000..b0b7650 Binary files /dev/null and b/php7ts.dll differ diff --git a/phpdbg.exe b/phpdbg.exe new file mode 100644 index 0000000..accfa0f Binary files /dev/null and b/phpdbg.exe differ diff --git a/readme-redist-bins.txt b/readme-redist-bins.txt new file mode 100644 index 0000000..797619a --- /dev/null +++ b/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/sasl2/saslANONYMOUS.dll b/sasl2/saslANONYMOUS.dll new file mode 100644 index 0000000..902210b Binary files /dev/null and b/sasl2/saslANONYMOUS.dll differ diff --git a/sasl2/saslCRAMMD5.dll b/sasl2/saslCRAMMD5.dll new file mode 100644 index 0000000..22fea4d Binary files /dev/null and b/sasl2/saslCRAMMD5.dll differ diff --git a/sasl2/saslDIGESTMD5.dll b/sasl2/saslDIGESTMD5.dll new file mode 100644 index 0000000..5dc8b56 Binary files /dev/null and b/sasl2/saslDIGESTMD5.dll differ diff --git a/sasl2/saslLOGIN.dll b/sasl2/saslLOGIN.dll new file mode 100644 index 0000000..cb9040b Binary files /dev/null and b/sasl2/saslLOGIN.dll differ diff --git a/sasl2/saslNTLM.dll b/sasl2/saslNTLM.dll new file mode 100644 index 0000000..9b2f4d8 Binary files /dev/null and b/sasl2/saslNTLM.dll differ diff --git a/sasl2/saslOTP.dll b/sasl2/saslOTP.dll new file mode 100644 index 0000000..075b60e Binary files /dev/null and b/sasl2/saslOTP.dll differ diff --git a/sasl2/saslPLAIN.dll b/sasl2/saslPLAIN.dll new file mode 100644 index 0000000..d8967a3 Binary files /dev/null and b/sasl2/saslPLAIN.dll differ diff --git a/sasl2/saslSASLDB.dll b/sasl2/saslSASLDB.dll new file mode 100644 index 0000000..7451bef Binary files /dev/null and b/sasl2/saslSASLDB.dll differ diff --git a/sasl2/saslSCRAM.dll b/sasl2/saslSCRAM.dll new file mode 100644 index 0000000..5c279f8 Binary files /dev/null and b/sasl2/saslSCRAM.dll differ diff --git a/sasl2/saslSQLITE.dll b/sasl2/saslSQLITE.dll new file mode 100644 index 0000000..c290d26 Binary files /dev/null and b/sasl2/saslSQLITE.dll differ diff --git a/snapshot.txt b/snapshot.txt new file mode 100644 index 0000000..765216f --- /dev/null +++ b/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 +