diff --git a/php/deplister.exe b/php/deplister.exe deleted file mode 100644 index 8466d25..0000000 Binary files a/php/deplister.exe and /dev/null differ diff --git a/php/dev/php5.lib b/php/dev/php5.lib deleted file mode 100644 index 4d26c8a..0000000 Binary files a/php/dev/php5.lib and /dev/null differ diff --git a/php/ext/php_bz2.dll b/php/ext/php_bz2.dll deleted file mode 100644 index e96f905..0000000 Binary files a/php/ext/php_bz2.dll and /dev/null differ diff --git a/php/ext/php_com_dotnet.dll b/php/ext/php_com_dotnet.dll deleted file mode 100644 index 227b2fa..0000000 Binary files a/php/ext/php_com_dotnet.dll and /dev/null differ diff --git a/php/ext/php_curl.dll b/php/ext/php_curl.dll deleted file mode 100644 index 6212215..0000000 Binary files a/php/ext/php_curl.dll and /dev/null differ diff --git a/php/ext/php_enchant.dll b/php/ext/php_enchant.dll deleted file mode 100644 index 5244be5..0000000 Binary files a/php/ext/php_enchant.dll and /dev/null differ diff --git a/php/ext/php_exif.dll b/php/ext/php_exif.dll deleted file mode 100644 index 6976fdb..0000000 Binary files a/php/ext/php_exif.dll and /dev/null differ diff --git a/php/ext/php_fileinfo.dll b/php/ext/php_fileinfo.dll deleted file mode 100644 index 1ae8e94..0000000 Binary files a/php/ext/php_fileinfo.dll and /dev/null differ diff --git a/php/ext/php_gd2.dll b/php/ext/php_gd2.dll deleted file mode 100644 index 6a92573..0000000 Binary files a/php/ext/php_gd2.dll and /dev/null differ diff --git a/php/ext/php_gettext.dll b/php/ext/php_gettext.dll deleted file mode 100644 index 6cc4972..0000000 Binary files a/php/ext/php_gettext.dll and /dev/null differ diff --git a/php/ext/php_gmp.dll b/php/ext/php_gmp.dll deleted file mode 100644 index 504f2bc..0000000 Binary files a/php/ext/php_gmp.dll and /dev/null differ diff --git a/php/ext/php_imap.dll b/php/ext/php_imap.dll deleted file mode 100644 index 56404d4..0000000 Binary files a/php/ext/php_imap.dll and /dev/null differ diff --git a/php/ext/php_interbase.dll b/php/ext/php_interbase.dll deleted file mode 100644 index 930f1a3..0000000 Binary files a/php/ext/php_interbase.dll and /dev/null differ diff --git a/php/ext/php_intl.dll b/php/ext/php_intl.dll deleted file mode 100644 index 98fa013..0000000 Binary files a/php/ext/php_intl.dll and /dev/null differ diff --git a/php/ext/php_ldap.dll b/php/ext/php_ldap.dll deleted file mode 100644 index 444e5df..0000000 Binary files a/php/ext/php_ldap.dll and /dev/null differ diff --git a/php/ext/php_mbstring.dll b/php/ext/php_mbstring.dll deleted file mode 100644 index b4aad2f..0000000 Binary files a/php/ext/php_mbstring.dll and /dev/null differ diff --git a/php/ext/php_mysql.dll b/php/ext/php_mysql.dll deleted file mode 100644 index 729adcd..0000000 Binary files a/php/ext/php_mysql.dll and /dev/null differ diff --git a/php/ext/php_mysqli.dll b/php/ext/php_mysqli.dll deleted file mode 100644 index b09d473..0000000 Binary files a/php/ext/php_mysqli.dll and /dev/null differ diff --git a/php/ext/php_oci8_12c.dll b/php/ext/php_oci8_12c.dll deleted file mode 100644 index 8e39028..0000000 Binary files a/php/ext/php_oci8_12c.dll and /dev/null differ diff --git a/php/ext/php_opcache.dll b/php/ext/php_opcache.dll deleted file mode 100644 index 0317125..0000000 Binary files a/php/ext/php_opcache.dll and /dev/null differ diff --git a/php/ext/php_openssl.dll b/php/ext/php_openssl.dll deleted file mode 100644 index 80ee2ed..0000000 Binary files a/php/ext/php_openssl.dll and /dev/null differ diff --git a/php/ext/php_pdo_firebird.dll b/php/ext/php_pdo_firebird.dll deleted file mode 100644 index 17d3518..0000000 Binary files a/php/ext/php_pdo_firebird.dll and /dev/null differ diff --git a/php/ext/php_pdo_mysql.dll b/php/ext/php_pdo_mysql.dll deleted file mode 100644 index c6a21d3..0000000 Binary files a/php/ext/php_pdo_mysql.dll and /dev/null differ diff --git a/php/ext/php_pdo_oci.dll b/php/ext/php_pdo_oci.dll deleted file mode 100644 index 69ab9c9..0000000 Binary files a/php/ext/php_pdo_oci.dll and /dev/null differ diff --git a/php/ext/php_pdo_odbc.dll b/php/ext/php_pdo_odbc.dll deleted file mode 100644 index 684d66a..0000000 Binary files a/php/ext/php_pdo_odbc.dll and /dev/null differ diff --git a/php/ext/php_pdo_pgsql.dll b/php/ext/php_pdo_pgsql.dll deleted file mode 100644 index c02fb37..0000000 Binary files a/php/ext/php_pdo_pgsql.dll and /dev/null differ diff --git a/php/ext/php_pdo_sqlite.dll b/php/ext/php_pdo_sqlite.dll deleted file mode 100644 index 53fc4ee..0000000 Binary files a/php/ext/php_pdo_sqlite.dll and /dev/null differ diff --git a/php/ext/php_pgsql.dll b/php/ext/php_pgsql.dll deleted file mode 100644 index 21e6f4a..0000000 Binary files a/php/ext/php_pgsql.dll and /dev/null differ diff --git a/php/ext/php_shmop.dll b/php/ext/php_shmop.dll deleted file mode 100644 index 7a5f7f3..0000000 Binary files a/php/ext/php_shmop.dll and /dev/null differ diff --git a/php/ext/php_snmp.dll b/php/ext/php_snmp.dll deleted file mode 100644 index 3ff2008..0000000 Binary files a/php/ext/php_snmp.dll and /dev/null differ diff --git a/php/ext/php_soap.dll b/php/ext/php_soap.dll deleted file mode 100644 index 8f696ae..0000000 Binary files a/php/ext/php_soap.dll and /dev/null differ diff --git a/php/ext/php_sockets.dll b/php/ext/php_sockets.dll deleted file mode 100644 index 44beac2..0000000 Binary files a/php/ext/php_sockets.dll and /dev/null differ diff --git a/php/ext/php_sqlite3.dll b/php/ext/php_sqlite3.dll deleted file mode 100644 index 69965fb..0000000 Binary files a/php/ext/php_sqlite3.dll and /dev/null differ diff --git a/php/ext/php_sybase_ct.dll b/php/ext/php_sybase_ct.dll deleted file mode 100644 index a885891..0000000 Binary files a/php/ext/php_sybase_ct.dll and /dev/null differ diff --git a/php/ext/php_tidy.dll b/php/ext/php_tidy.dll deleted file mode 100644 index 60ff431..0000000 Binary files a/php/ext/php_tidy.dll and /dev/null differ diff --git a/php/ext/php_xmlrpc.dll b/php/ext/php_xmlrpc.dll deleted file mode 100644 index 3626d7d..0000000 Binary files a/php/ext/php_xmlrpc.dll and /dev/null differ diff --git a/php/ext/php_xsl.dll b/php/ext/php_xsl.dll deleted file mode 100644 index 939d19b..0000000 Binary files a/php/ext/php_xsl.dll and /dev/null differ diff --git a/php/extras/ssl/openssl.cnf b/php/extras/ssl/openssl.cnf deleted file mode 100644 index 18760c6..0000000 --- a/php/extras/ssl/openssl.cnf +++ /dev/null @@ -1,350 +0,0 @@ -# -# OpenSSL example configuration file. -# This is mostly being used for generation of certificate requests. -# - -# This definition stops the following lines choking if HOME isn't -# defined. -HOME = . -RANDFILE = $ENV::HOME/.rnd - -# 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 ctificates 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 -RANDFILE = $dir/private/.rand # private random number file - -x509_extensions = usr_cert # The extentions 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 = 1024 -default_keyfile = privkey.pem -distinguished_name = req_distinguished_name -attributes = req_attributes -x509_extensions = v3_ca # The extentions 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 - -# This is what PKIX recommends but some broken software chokes on critical -# extensions. -#basicConstraints = critical,CA:true -# So we do this instead. -basicConstraints = 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) - -default_policy = tsa_policy1 # Policy if request did not specify it - # (optional) -other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional) -digests = md5, sha1 # 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) diff --git a/php/glib-2.dll b/php/glib-2.dll deleted file mode 100644 index 39f3aa3..0000000 Binary files a/php/glib-2.dll and /dev/null differ diff --git a/php/gmodule-2.dll b/php/gmodule-2.dll deleted file mode 100644 index 02f0c00..0000000 Binary files a/php/gmodule-2.dll and /dev/null differ diff --git a/php/icudt54.dll b/php/icudt54.dll deleted file mode 100644 index b8b3f30..0000000 Binary files a/php/icudt54.dll and /dev/null differ diff --git a/php/icuin54.dll b/php/icuin54.dll deleted file mode 100644 index cfe36b4..0000000 Binary files a/php/icuin54.dll and /dev/null differ diff --git a/php/icuio54.dll b/php/icuio54.dll deleted file mode 100644 index cfc9814..0000000 Binary files a/php/icuio54.dll and /dev/null differ diff --git a/php/icule54.dll b/php/icule54.dll deleted file mode 100644 index 71fe519..0000000 Binary files a/php/icule54.dll and /dev/null differ diff --git a/php/iculx54.dll b/php/iculx54.dll deleted file mode 100644 index 2978f66..0000000 Binary files a/php/iculx54.dll and /dev/null differ diff --git a/php/icutest54.dll b/php/icutest54.dll deleted file mode 100644 index fb71c50..0000000 Binary files a/php/icutest54.dll and /dev/null differ diff --git a/php/icutu54.dll b/php/icutu54.dll deleted file mode 100644 index 73bee12..0000000 Binary files a/php/icutu54.dll and /dev/null differ diff --git a/php/icuuc54.dll b/php/icuuc54.dll deleted file mode 100644 index 40d91d4..0000000 Binary files a/php/icuuc54.dll and /dev/null differ diff --git a/php/install.txt b/php/install.txt deleted file mode 100644 index 62378d9..0000000 --- a/php/install.txt +++ /dev/null @@ -1,1934 +0,0 @@ -Installing PHP - __________________________________________________________________ - - Table of Contents - Preface - 1. General Installation Considerations - 2. Installation on Windows systems - - Windows Installer - Manual Installation Steps - ActiveScript - Microsoft IIS - Apache 1.3.x on Microsoft Windows - Apache 2.0.x on Microsoft Windows - Sun, iPlanet and Netscape servers on Microsoft Windows - OmniHTTPd Server - Sambar Server on Microsoft Windows - Xitami on Microsoft Windows - Installation of extensions on Windows - - 3. Installation of PECL extensions - - Introduction to PECL Installations - Downloading PECL extensions - PECL for Windows users - Compiling shared PECL extensions with the pecl command - Compiling shared PECL extensions with phpize - Compiling PECL extensions statically into PHP - - 4. Problems? - - Read the FAQ - Other problems - Bug reports - - 5. Runtime Configuration - - The configuration file - How to change configuration settings - - 6. Installation FAQ - __________________________________________________________________ - -Preface - - These installation instructions were generated from the HTML version of - the PHP Manual so formatting and linking have been altered. See the - online and updated version at: http://php.net/install.windows - __________________________________________________________________ - -Chapter 1. General Installation Considerations - - Before starting the installation, first you need to know what do you - want to use PHP for. There are three main fields you can use PHP, as - described in the What can PHP do? section: - - * Websites and web applications (server-side scripting) - * Command line scripting - * Desktop (GUI) applications - - For the first and most common form, you need three things: PHP itself, - a web server and a web browser. You probably already have a web - browser, and depending on your operating system setup, you may also - have a web server (e.g. Apache on Linux and MacOS X; IIS on Windows). - You may also rent webspace at a company. This way, you don't need to - set up anything on your own, only write your PHP scripts, upload it to - the server you rent, and see the results in your browser. - - In case of setting up the server and PHP on your own, you have two - choices for the method of connecting PHP to the server. For many - servers PHP has a direct module interface (also called SAPI). These - servers include Apache, Microsoft Internet Information Server, Netscape - and iPlanet servers. Many other servers have support for ISAPI, the - Microsoft module interface (OmniHTTPd for example). If PHP has no - module support for your web server, you can always use it as a CGI or - FastCGI processor. This means you set up your server to use the CGI - executable of PHP to process all PHP file requests on the server. - - If you are also interested to use PHP for command line scripting (e.g. - write scripts autogenerating some images for you offline, or processing - text files depending on some arguments you pass to them), you always - need the command line executable. For more information, read the - section about writing command line PHP applications. In this case, you - need no server and no browser. - - With PHP you can also write desktop GUI applications using the PHP-GTK - extension. This is a completely different approach than writing web - pages, as you do not output any HTML, but manage Windows and objects - within them. For more information about PHP-GTK, please visit the site - dedicated to this extension. PHP-GTK is not included in the official - PHP distribution. - - From now on, this section deals with setting up PHP for web servers on - Unix and Windows with server module interfaces and CGI executables. You - will also find information on the command line executable in the - following sections. - - PHP source code and binary distributions for Windows can be found at - http://www.php.net/downloads.php. We recommend you to choose a mirror - nearest to you for downloading the distributions. - __________________________________________________________________ - -Chapter 2. Installation on Windows systems - - This section applies to Windows 98/Me and Windows NT/2000/XP/2003. PHP - will not work on 16 bit platforms such as Windows 3.1 and sometimes we - refer to the supported Windows platforms as Win32. Windows 95 is no - longer supported as of PHP 4.3.0. - - There are two main ways to install PHP for Windows: either manually or - by using the installer. - - If you have Microsoft Visual Studio, you can also build PHP from the - original source code. - - Once you have PHP installed on your Windows system, you may also want - to load various extensions for added functionality. - - Warning - - There are several all-in-one installers over the Internet, but none of - those are endorsed by PHP.net, as we believe that the manual - installation is the best choice to have your system secure and - optimised. - __________________________________________________________________ - -Windows Installer (PHP 5.2 and later) - - The Windows PHP installer for later versions of PHP is built using MSI - technology using the Wix Toolkit (http://wix.sourceforge.net/). It will - install and configure PHP and all the built-in and PECL extensions, as - well as configure many of the popular web servers such as IIS, Apache, - and Xitami. - - First, install your selected HTTP (web) server on your system, and make - sure that it works. Then proceed with one of the following install - types. - __________________________________________________________________ - -Normal Install - - Run the MSI installer and follow the instructions provided by the - installation wizard. You will be prompted to select the Web Server you - wish to configure first, along with any configuration details needed. - - You will then be prompted to select which features and extensions you - wish to install and enable. By selecting "Will be installed on local - hard drive" in the drop-down menu for each item you can trigger whether - to install the feature or not. By selecting "Entire feature will be - installed on local hard drive", you will be able to install all - sub-features of the included feature ( for example by selecting this - options for the feature "PDO" you will install all PDO Drivers ). - - Warning - - It is not recommended to install all extensions by default, since many - other them require dependencies from outside PHP in order to function - properly. Instead, use the Installation Repair Mode that can be - triggered thru the 'Add/Remove Programs' control panel to enable or - disable extensions and features after installation. - - The installer then sets up PHP to be used in Windows and the php.ini - file, and configures certain web servers to use PHP. The installer will - currently configure IIS (CGI mode only), Apache, Xitami, and Sambar - Server; if you are using a different web server you'll need to - configure it manually. - __________________________________________________________________ - -Silent Install - - The installer also supports a silent mode, which is helpful for Systems - Administrators to deploy PHP easily. To use silent mode: - msiexec.exe /i php-VERSION-win32-install.msi /q - - You can control the install directory by passing it as a parameter to - the install. For example, to install to e:\php: - msiexec.exe /i php-VERSION-win32-install.msi /q INSTALLDIR=e:\php - - You can also use the same syntax to specify the Apache Configuration - Directory (APACHEDIR), the Sambar Server directory (SAMBARDIR), and the - Xitami Server directory (XITAMIDIR). - - You can also specify what features to install. For example, to install - the mysqli extension and the CGI executable: - msiexec.exe /i php-VERSION-win32-install.msi /q ADDLOCAL=cgi,ext_php_mysqli - - The current list of Features to install is as follows: -MainExecutable - php.exe executable -ScriptExecutable - php-win.exe executable -ext_php_* - the various extensions ( for example: ext_php_mysql for MySQL ) -apache13 - Apache 1.3 module -apache20 - Apache 2.0 module -apache22 - Apache 2,2 module -apacheCGI - Apache CGI executable -iis4ISAPI - IIS ISAPI module -iis4CGI - IIS CGI executable -NSAPI - Sun/iPlanet/Netscape server module -Xitami - Xitami CGI executable -Sambar - Sambar Server ISAPI module -CGI - php-cgi.exe executable -PEAR - PEAR installer -Manual - PHP Manual in CHM Format - - For more information on installing MSI installers from the command - line, visit - http://msdn.microsoft.com/library/en-us/msi/setup/command_line_options. - asp - __________________________________________________________________ - -Windows Installer (PHP 5.1.0 and earlier) - - The Windows PHP installer is available from the downloads page at - http://www.php.net/downloads.php. This installs the CGI version of PHP - and for IIS and Xitami, it configures the web server as well. The - installer does not include any extra external PHP extensions - (php_*.dll) as you'll only find those in the Windows Zip Package and - PECL downloads. - - Note: While the Windows installer is an easy way to make PHP work, - it is restricted in many aspects as, for example, the automatic - setup of extensions is not supported. Use of the installer isn't the - preferred method for installing PHP. - - First, install your selected HTTP (web) server on your system, and make - sure that it works. - - Run the executable installer and follow the instructions provided by - the installation wizard. Two types of installation are supported - - standard, which provides sensible defaults for all the settings it can, - and advanced, which asks questions as it goes along. - - The installation wizard gathers enough information to set up the - php.ini file, and configure certain web servers to use PHP. One of the - web servers the PHP installer does not configure for is Apache, so - you'll need to configure it manually. - - Once the installation has completed, the installer will inform you if - you need to restart your system, restart the server, or just start - using PHP. - - Warning - - Be aware, that this setup of PHP is not secure. If you would like to - have a secure PHP setup, you'd better go on the manual way, and set - every option carefully. This automatically working setup gives you an - instantly working PHP installation, but it is not meant to be used on - online servers. - __________________________________________________________________ - -Manual Installation Steps - - This install guide will help you manually install and configure PHP - with a web server on Microsoft Windows. To get started you'll need to - download the zip binary distribution from the downloads page at - http://www.php.net/downloads.php. - - Although there are many all-in-one installation kits, and we also - distribute a PHP installer for Microsoft Windows, we recommend you take - the time to setup PHP yourself as this will provide you with a better - understanding of the system, and enables you to install PHP extensions - easily when needed. - - Upgrading from a previous PHP version: Previous editions of the - manual suggest moving various ini and DLL files into your SYSTEM - (i.e. C:\WINDOWS) folder and while this simplifies the installation - procedure it makes upgrading difficult. We advise you remove all of - these files (like php.ini and PHP related DLLs from the Windows - SYSTEM folder) before moving on with a new PHP installation. Be sure - to backup these files as you might break the entire system. The old - php.ini might be useful in setting up the new PHP as well. And as - you'll soon learn, the preferred method for installing PHP is to - keep all PHP related files in one directory and have this directory - available to your systems PATH. - - MDAC requirements: If you use Microsoft Windows 98/NT4 download the - latest version of the Microsoft Data Access Components (MDAC) for - your platform. MDAC is available at http://msdn.microsoft.com/data/. - This requirement exists because ODBC is built into the distributed - Windows binaries. - - The following steps should be completed on all installations before any - server specific instructions are performed: - - Extract the distribution file into a directory of your choice. If you - are installing PHP 4, extract to C:\, as the zip file expands to a - foldername like php-4.3.7-Win32. If you are installing PHP 5, extract - to C:\php as the zip file doesn't expand as in PHP 4. You may choose a - different location but do not have spaces in the path (like C:\Program - Files\PHP) as some web servers will crash if you do. - - The directory structure extracted from the zip is different for PHP - versions 4 and 5 and look like as follows: - - Example 2-2. PHP 5 package structure -c:\php - | - +--dev - | | - | |-php5ts.lib - | - +--ext -- extension DLLs for PHP - | | - | |-php_bz2.dll - | | - | |-php_cpdf.dll - | | - | |-.. - | - +--extras - | | - | +--mibs -- support files for SNMP - | | - | +--openssl -- support files for Openssl - | | - | +--pdf-related -- support files for PDF - | | - | |-mime.magic - | - +--pear -- initial copy of PEAR - | - | - |-go-pear.bat -- PEAR setup script - | - |-fdftk.dll - | - |-.. - | - |-php-cgi.exe -- CGI executable - | - |-php-win.exe -- executes scripts without an opened command prompt - | - |-php.exe -- CLI executable - ONLY for command line scripting - | - |-.. - | - |-php.ini-development -- development php.ini settings - | - |-php.ini-production -- recommended php.ini settings for production - | - |-php5activescript.dll - | - |-php5apache.dll - | - |-php5apache2.dll - | - |-.. - | - |-php5ts.dll -- core PHP DLL - | - |-... - - Notice the differences and similarities. Both PHP 4 and PHP 5 have a - CGI executable, a CLI executable, and server modules, but they are - located in different folders and/or have different names. While PHP 4 - packages have the server modules in the sapi folder, PHP 5 - distributions have no such directory and instead they're in the PHP - folder root. The supporting DLLs for the PHP 5 extensions are also not - in a separate directory. - - Note: In PHP 4, you should move all files located in the dll and - sapi folders to the main folder (e.g. C:\php). - - Here is a list of server modules shipped with PHP 5: - - * sapi/php5apache2_2.dll - Apache 2.2.x module. - * sapi/php5apache.dll (php5apache.dll) - Apache 1.x module - * sapi/php5apache2.dll (php5apache2.dll) - - Apache 2.0.x module. - * sapi/php5isapi.dll - ISAPI Module for ISAPI compliant web servers - like IIS 5.0 or newer. However the FCGI SAPI is recommended with - IIS - * sapi/php5nsapi.dll (php5nsapi.dll) - Sun/iPlanet/Netscape server - module. - - Server modules provide significantly better performance and additional - functionality compared to the CGI binary. The FastCGI is significantly - more stable and can be faster than the ISAPI module with IIS. - The CLI version is designed to let you use PHP for command line - scripting. More information about CLI is available in the chapter - about using PHP from the command line. - - Warning - - The SAPI modules have been significantly improved as of the 4.1 - release, however, in older systems you may encounter server errors or - other server modules failing, such as ASP. - - The CGI and CLI binaries, and the web server modules all require the - php5ts.dll file to be available to them. You have to make - sure that this file can be found by your PHP installation. The search - order for this DLL is as follows: - - * The same directory from where php.exe is called, or in case you use - a SAPI module, the web server's directory (e.g. C:\Program - Files\Apache Group\Apache2\bin). - * Any directory in your Windows PATH environment variable. - - To make php5ts.dll available you have three options: copy - the file to the Windows system directory, copy the file to the web - server's directory, or add your PHP directory, C:\php to the PATH. For - better maintenance, we advise you to follow the last option, add C:\php - to the PATH, because it will be simpler to upgrade PHP in the future. - Read more about how to add your PHP directory to PATH in the - corresponding FAQ entry (and then don't forget to restart the computer - - logoff isn't enough). - - The next step is to set up a valid configuration file for PHP, php.ini. - There are two ini files distributed in the zip file, php.ini-development - and php.ini-production. We advise you to use php.ini-production, - because we optimized the default settings in this file for performance, - and security. Read this well documented file carefully because it has - changes from php.ini-production that will drastically affect your setup. - Some examples are display_errors being off and magic_quotes_gpc being off. - In addition to reading these, study the ini settings and set every - element manually yourself. If you would like to achieve the best - security, then this is the way for you, although PHP works fine with - these default ini files. Copy your chosen ini-file to a directory that - PHP is able to find and rename it to php.ini. PHP searches for php.ini - in the locations described in the Section called The configuration file - in Chapter 5 section. - - If you are running Apache 2, the simpler option is to use the PHPIniDir - directive (read the installation on Apache 2 page), otherwise your best - option is to set the PHPRC environment variable. This process is - explained in the following FAQ entry. - - Note: If you're using NTFS on Windows NT, 2000, XP or 2003, make - sure that the user running the web server has read permissions to - your php.ini (e.g. make it readable by Everyone). - - The following steps are optional: - - * Edit your new php.ini file. If you plan to use OmniHTTPd, do not - follow the next step. Set the doc_root to point to your web servers - document_root. For example: - -doc_root = c:\inetpub\wwwroot // for IIS - -doc_root = c:\apache\htdocs // for Apache - - * Choose the extensions you would like to load when PHP starts. See - the section about Windows extensions, about how to set up one, and - what is already built in. Note that on a new installation it is - advisable to first get PHP working and tested without any - extensions before enabling them in php.ini. - - PHP is now setup on your system. The next step is to choose a web - server, and enable it to run PHP. Choose a web server from the table of - contents. - __________________________________________________________________ - -ActiveScript - - This section contains notes specific to the ActiveScript installation. - - ActiveScript is a Windows only SAPI that enables you to use PHP script - in any ActiveScript compliant host, like Windows Script Host, - ASP/ASP.NET, Windows Script Components or Microsoft Scriptlet control. - - As of PHP 5.0.1, ActiveScript has been moved to the PECL repository. - The DLL for this PECL extension may be downloaded from either the PHP - Downloads page or from http://pecl4win.php.net/ - - Note: You should read the manual installation steps first! - - After installing PHP, you should download the ActiveScript DLL - (php5activescript.dll) and place it in the main PHP folder (e.g. - C:\php). - - After having all the files needed, you must register the DLL on your - system. To achieve this, open a Command Prompt window (located in the - Start Menu). Then go to your PHP directory by typing something like cd - C:\php. To register the DLL just type regsvr32 php5activescript.dll. - - To test if ActiveScript is working, create a new file, named test.wsf - (the extension is very important) and type: - - - - - - - Save and double-click on the file. If you receive a little window - saying "Hello World!" you're done. - - Note: In PHP 4, the engine was named 'ActivePHP', so if you are - using PHP 4, you should replace 'PHPScript' with 'ActivePHP' in the - above example. - - Note: ActiveScript doesn't use the default php.ini file. Instead, it - will look only in the same directory as the .exe that caused it to - load. You should create php-activescript.ini and place it in that - folder, if you wish to load extensions, etc. - __________________________________________________________________ - -Microsoft IIS - - This section contains notes and hints specific to IIS (Microsoft - Internet Information Server). - - Warning - - By using the CGI setup, your server is open to several possible - attacks. Please read our CGI security section to learn how to defend - yourself from those attacks. - __________________________________________________________________ - -General considerations for all installations of PHP with IIS - - * First, read the Manual Installation Instructions. Do not skip this - step as it provides crucial information for installing PHP on - Windows. - * CGI users must set the cgi.force_redirect PHP directive to 0 inside - php.ini. Read the faq on cgi.force_redirect for important details. - Also, CGI users may want to set the cgi.redirect_status_env - directive. When using directives, be sure these directives aren't - commented out inside php.ini. - * The PHP 4 CGI is named php.exe while in PHP 5 it's php-cgi.exe. In - PHP 5, php.exe is the CLI, and not the CGI. - * Modify the Windows PATH environment variable to include the PHP - directory. This way the PHP DLL files and PHP executables can all - remain in the PHP directory without cluttering up the Windows - system directory. For more details, see the FAQ on Setting the - PATH. - * The IIS user (usually IUSR_MACHINENAME) needs permission to read - various files and directories, such as php.ini, docroot, and the - session tmp directory. - * Be sure the extension_dir and doc_root PHP directives are - appropriately set in php.ini. These directives depend on the system - that PHP is being installed on. In PHP 4, the extension_dir is - extensions while with PHP 5 it's ext. So, an example PHP 5 - extensions_dir value is "c:\php\ext" and an example IIS doc_root - value is "c:\Inetpub\wwwroot". - * PHP extension DLL files, such as php_mysql.dll and php_curl.dll, - are found in the zip package of the PHP download (not the PHP - installer). In PHP 5, many extensions are part of PECL and can be - downloaded in the "Collection of PECL modules" package. Files such - as php_zip.dll and php_ssh2.dll. Download PHP files here. - * When defining the executable, the 'check that file exists' box may - also be checked. For a small performance penalty, the IIS - will check that the script file exists and sort out authentication - before firing up PHP. This means that the web server will provide - sensible 404 style error messages instead of CGI errors complaining - that PHP did not output any data. - __________________________________________________________________ - -Windows NT/200x/XP and IIS 4 or newer - - PHP may be installed as a CGI binary, or with the ISAPI module. In - either case, you need to start the Microsoft Management Console (may - appear as 'Internet Services Manager', either in your Windows NT 4.0 - Option Pack branch or the Control Panel=>Administrative Tools under - Windows 2000/XP). Then right click on your Web server node (this will - most probably appear as 'Default Web Server'), and select 'Properties'. - - If you want to use the CGI binary, do the following: - - * Under 'Home Directory', 'Virtual Directory', or 'Directory', do the - following: - * Change the Execute Permissions to 'Scripts only' - * Click on the 'Configuration' button, and choose the Application - Mappings tab. Click Add and set the Executable path to the - appropriate CGI file. An example PHP 5 value is: C:\php\php-cgi.exe - Supply .php as the extension. Leave 'Method exclusions' blank, and - check the 'Script engine' checkbox. Now, click OK a few times. - * Set up the appropriate security. (This is done in Internet Service - Manager), and if your NT Server uses NTFS file system, add execute - rights for I_USR_ to the directory that contains php.exe / - php-cgi.exe. - - To use the ISAPI module, do the following: - - * If you don't want to perform HTTP Authentication using PHP, you can - (and should) skip this step. Under ISAPI Filters, add a new ISAPI - filter. Use PHP as the filter name, and supply a path to the - php5isapi.dll. - * Under 'Home Directory', 'Virtual Directory', or 'Directory', do the - following: - * Change the Execute Permissions to 'Scripts only' - * Click on the 'Configuration' button, and choose the Application - Mappings tab. Click Add and set the Executable path to the - appropriate ISAPI DLL. An example PHP 5 value is: - C:\php\php5isapi.dll Supply .php as the extension. Leave 'Method - exclusions' blank, and check the 'Script engine' checkbox. Now, - click OK a few times. - * Stop IIS completely (NET STOP iisadmin) - * Start IIS again (NET START w3svc) - - With IIS 6 (2003 Server), open up the IIS Manager, go to Web Service - Extensions, choose "Add a new Web service extension", enter in a name - such as PHP, choose the Add button and for the value browse to either - the ISAPI file (php5isapi.dll) or CGI (php.exe or - php-cgi.exe) then check "Set extension status to Allowed" and click OK. - - In order to use index.php as a default content page, do the following: - From within the Documents tab, choose Add. Type in index.php and click - OK. Adjust the order by choosing Move Up or Move Down. This is similar - to setting DirectoryIndex with Apache. - - The steps above must be repeated for each extension that is to be - associated with PHP scripts. .php is the most common although .php3 may - be required for legacy applications. - - If you experience 100% CPU usage after some time, turn off the IIS - setting Cache ISAPI Application. - __________________________________________________________________ - -Windows and IIS - -See http://www.php.net/install.windows - __________________________________________________________________ - -Apache 1.3.x on Microsoft Windows - - This section contains notes and hints specific to Apache 1.3.x installs - of PHP on Microsoft Windows systems. There are also instructions and - notes for Apache 2 on a separate page. - - Note: Please read the manual installation steps first! - - There are two ways to set up PHP to work with Apache 1.3.x on Windows. - One is to use the CGI binary (php.exe for PHP 4 and php-cgi.exe for PHP - 5), the other is to use the Apache Module DLL. In either case you need - to edit your httpd.conf to configure Apache to work with PHP, and then - restart the server. - - It is worth noting here that now the SAPI module has been made more - stable under Windows, we recommend it's use above the CGI binary, since - it is more transparent and secure. - - Although there can be a few variations of configuring PHP under Apache, - these are simple enough to be used by the newcomer. Please consult the - Apache Documentation for further configuration directives. - - After changing the configuration file, remember to restart the server, - for example, NET STOP APACHE followed by NET START APACHE, if you run - Apache as a Windows Service, or use your regular shortcuts. - - Note: Remember that when adding path values in the Apache - configuration files on Windows, all backslashes such as - c:\directory\file.ext must be converted to forward slashes, as - c:/directory/file.ext. A trailing slash may also be necessary for - directories. - __________________________________________________________________ - -Installing as an Apache module - - You should add the following lines to your Apache httpd.conf file: - - Example 2-3. PHP as an Apache 1.3.x module - - This assumes PHP is installed to c:\php. Adjust the path if this is not - the case. - - For PHP 5: -# Add to the end of the LoadModule section -LoadModule php5_module "C:/php/php5apache.dll" - -# Add to the end of the AddModule section -AddModule mod_php5.c - - For both: -# Add this line inside the conditional brace -AddType application/x-httpd-php .php - -# For syntax highlighted .phps files, also add -AddType application/x-httpd-php-source .phps - __________________________________________________________________ - -Installing as a CGI binary - - If you unzipped the PHP package to C:\php\ as described in the Manual - Installation Steps section, you need to insert these lines to your - Apache configuration file to set up the CGI binary: - - Example 2-4. PHP and Apache 1.3.x as CGI -ScriptAlias /php/ "c:/php/" -AddType application/x-httpd-php .php - -# For PHP 4 -Action application/x-httpd-php "/php/php.exe" - -# For PHP 5 -Action application/x-httpd-php "/php/php-cgi.exe" - -# specify the directory where php.ini is -SetEnv PHPRC C:/php - - Note that the second line in the list above can be found in the actual - versions of httpd.conf, but it is commented out. Remember also to - substitute the c:/php/ for your actual path to PHP. - - Warning - - By using the CGI setup, your server is open to several possible - attacks. Please read our CGI security section to learn how to defend - yourself from those attacks. - - If you would like to present PHP source files syntax highlighted, there - is no such convenient option as with the module version of PHP. If you - chose to configure Apache to use PHP as a CGI binary, you will need to - use the highlight_file() function. To do this simply create a PHP - script file and add this code: . - __________________________________________________________________ - -Apache 2.0.x on Microsoft Windows - - This section contains notes and hints specific to Apache 2.0.x installs - of PHP on Microsoft Windows systems. We also have instructions and - notes for Apache 1.3.x users on a separate page. - - Note: You should read the manual installation steps first! - - Apache 2.2.x Support: Users of Apache 2.2.x may use the - documentation below except the appropriate DLL file is named - php5apache2_2.dll and it only exists as of PHP 5.2.0. See also - http://snaps.php.net/ - - Warning - - We do not recommend using a threaded MPM in production with Apache2. - Use the prefork MPM instead, or use Apache1. For information on why, - read the related FAQ entry on using Apache2 with a threaded MPM - - You are highly encouraged to take a look at the Apache Documentation to - get a basic understanding of the Apache 2.0.x Server. Also consider to - read the Windows specific notes for Apache 2.0.x before reading on - here. - - PHP and Apache 2.0.x compatibility notes: The following versions of - PHP are known to work with the most recent version of Apache 2.0.x: - - * PHP 4.3.0 or later available at http://www.php.net/downloads.php. - * the latest stable development version. Get the source code - http://snaps.php.net/php5-latest.tar.gz or download binaries for - Windows http://snaps.php.net/win32/php5-win32-latest.zip. - * a prerelease version downloadable from http://qa.php.net/. - * you have always the option to obtain PHP through SVN. - - These versions of PHP are compatible to Apache 2.0.40 and later. - - Apache 2.0 SAPI-support started with PHP 4.2.0. PHP 4.2.3 works with - Apache 2.0.39, don't use any other version of Apache with PHP 4.2.3. - However, the recommended setup is to use PHP 4.3.0 or later with the - most recent version of Apache2. - - All mentioned versions of PHP will work still with Apache 1.3.x. - - Warning - - Apache 2.0.x is designed to run on Windows NT 4.0, Windows 2000 or - Windows XP. At this time, support for Windows 9x is incomplete. Apache - 2.0.x is not expected to work on those platforms at this time. - - Download the most recent version of Apache 2.0.x and a fitting PHP - version. Follow the Manual Installation Steps and come back to go on - with the integration of PHP and Apache. - - There are two ways to set up PHP to work with Apache 2.0.x on Windows. - One is to use the CGI binary the other is to use the Apache module DLL. - In either case you need to edit your httpd.conf to configure Apache to - work with PHP and then restart the server. - - Note: Remember that when adding path values in the Apache - configuration files on Windows, all backslashes such as - c:\directory\file.ext must be converted to forward slashes, as - c:/directory/file.ext. A trailing slash may also be necessary for - directories. - __________________________________________________________________ - -Installing as a CGI binary - - You need to insert these three lines to your Apache httpd.conf - configuration file to set up the CGI binary: - - Example 2-5. PHP and Apache 2.0 as CGI -ScriptAlias /php/ "c:/php/" -AddType application/x-httpd-php .php - -# For PHP 4 -Action application/x-httpd-php "/php/php.exe" - -# For PHP 5 -Action application/x-httpd-php "/php/php-cgi.exe" - - Warning - - By using the CGI setup, your server is open to several possible - attacks. Please read our CGI security section to learn how to defend - yourself from those attacks. - __________________________________________________________________ - -Installing as an Apache module - - You need to insert these two lines to your Apache httpd.conf - configuration file to set up the PHP module for Apache 2.0: - - Example 2-6. PHP and Apache 2.0 as Module - -# For PHP 5 do something like this: -LoadModule php5_module "c:/php/php5apache2.dll" -AddType application/x-httpd-php .php - -# configure the path to php.ini -PHPIniDir "C:/php" - - Note: Remember to substitute your actual path to PHP for the c:/php/ - in the above examples. Take care to use either - php5apache2.dll in your LoadModule directive and not php5apache.dll - as the latter ones are designed to run with Apache 1.3.x. - - Note: If you want to use content negotiation, read related FAQ. - - Warning - - Don't mix up your installation with DLL files from different PHP - versions. You have the only choice to use the DLL's and extensions that - ship with your downloaded PHP version. - __________________________________________________________________ - -Sun, iPlanet and Netscape servers on Microsoft Windows - - This section contains notes and hints specific to Sun Java System Web - Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP - on Windows. - - From PHP 4.3.3 on you can use PHP scripts with the NSAPI module to - generate custom directory listings and error pages. Additional - functions for Apache compatibility are also available. For support in - current web servers read the note about subrequests. - __________________________________________________________________ - -CGI setup on Sun, iPlanet and Netscape servers - - To install PHP as a CGI handler, do the following: - - * Copy php5ts.dll to your systemroot (the directory where you - installed Windows) - * Make a file association from the command line. Type the following - two lines: - -assoc .php=PHPScript -ftype PHPScript=c:\php\php.exe %1 %* - - * In the Netscape Enterprise Administration Server create a dummy - shellcgi directory and remove it just after (this step creates 5 - important lines in obj.conf and allow the web server to handle - shellcgi scripts). - * In the Netscape Enterprise Administration Server create a new mime - type (Category: type, Content-Type: magnus-internal/shellcgi, File - Suffix:php). - * Do it for each web server instance you want PHP to run - - More details about setting up PHP as a CGI executable can be found - here: http://benoit.noss.free.fr/php/install-php.html - __________________________________________________________________ - -NSAPI setup on Sun, iPlanet and Netscape servers - - To install PHP with NSAPI, do the following: - - * Copy php5ts.dll to your systemroot (the directory where you - installed Windows) - * Make a file association from the command line. Type the following - two lines: - -assoc .php=PHPScript -ftype PHPScript=c:\php\php.exe %1 %* - - * In the Netscape Enterprise Administration Server create a new mime - type (Category: type, Content-Type: magnus-internal/x-httpd-php, - File Suffix: php). - * Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6) - and add the following: You should place the lines after mime types - init. - -Init fn="load-modules" funcs="php5_init,php5_execute,php5_auth_trans" shlib="c:/ -php/sapi/php5nsapi.dll" -Init fn="php5_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_ -ini="c:/path/to/php.ini"] - - The php_ini parameter is optional but with it you - can place your php.ini in your web server configuration directory. - * Configure the default object in obj.conf (for virtual server - classes [Sun Web Server 6.0+] in their vserver.obj.conf): In the - section, place this line necessarily after - all 'ObjectType' and before all 'AddLog' lines: - -Service fn="php5_execute" type="magnus-internal/x-httpd-php" [inikey=value inike -y=value ...] - - As additional parameters you can add some special - php.ini-values, for example you can set a - docroot="/path/to/docroot" specific to the context php5_execute is - called. For boolean ini-keys please use 0/1 as value, not - "On","Off",... (this will not work correctly), e.g. - zlib.output_compression=1 instead of zlib.output_compression="On" - * This is only needed if you want to configure a directory that only - consists of PHP scripts (same like a cgi-bin directory): - - -ObjectType fn="force-type" type="magnus-internal/x-httpd-php" -Service fn=php5_execute [inikey=value inikey=value ...] - - - After that you can configure a directory in the Administration - server and assign it the style x-httpd-php. All files in it will - get executed as PHP. This is nice to hide PHP usage by renaming - files to .html. - * Restart your web service and apply changes - * Do it for each web server instance you want PHP to run - - Note: More details about setting up PHP as an NSAPI filter can be - found here: http://benoit.noss.free.fr/php/install-php4.html - - Note: The stacksize that PHP uses depends on the configuration of - the web server. If you get crashes with very large PHP scripts, it - is recommended to raise it with the Admin Server (in the section - "MAGNUS EDITOR"). - __________________________________________________________________ - -CGI environment and recommended modifications in php.ini - - Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE - WS/iPlanet/Netscape is a multithreaded web server. Because of that all - requests are running in the same process space (the space of the web - server itself) and this space has only one environment. If you want to - get CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct - way to try this in the old PHP 3.x way with getenv() or a similar way - (register globals to environment, $_ENV). You would only get the - environment of the running web server without any valid CGI variables! - - Note: Why are there (invalid) CGI variables in the environment? - - Answer: This is because you started the web server process from the - admin server which runs the startup script of the web server, you - wanted to start, as a CGI script (a CGI script inside of the admin - server!). This is why the environment of the started web server has - some CGI environment variables in it. You can test this by starting - the web server not from the administration server. Use the command - line as root user and start it manually - you will see there are no - CGI-like environment variables. - __________________________________________________________________ - -Special use for error pages or self-made directory listings (PHP >= 4.3.3) - - You can use PHP to generate the error pages for "404 Not Found" or - similar. Add the following line to the object in obj.conf for every - error page you want to overwrite: -Error fn="php5_execute" code=XXX script="/path/to/script.php" [inikey=value inik -ey=value...] - - where XXX is the HTTP error code. Please delete any other Error - directives which could interfere with yours. If you want to place a - page for all errors that could exist, leave the code parameter out. - Your script can get the HTTP status code with $_SERVER['ERROR_TYPE']. - - Another possibility is to generate self-made directory listings. Just - create a PHP script which displays a directory listing and replace the - corresponding default Service line for type="magnus-internal/directory" - in obj.conf with the following: -Service fn="php5_execute" type="magnus-internal/directory" script="/path/to/scri -pt.php" [inikey=value inikey=value...] - - For both error and directory listing pages the original URI and - translated URI are in the variables $_SERVER['PATH_INFO'] and - $_SERVER['PATH_TRANSLATED']. - __________________________________________________________________ - -Note about nsapi_virtual() and subrequests (PHP >= 4.3.3) - - The NSAPI module now supports the nsapi_virtual() function (alias: - virtual()) to make subrequests on the web server and insert the result - in the web page. The problem is, that this function uses some - undocumented features from the NSAPI library. - - Under Unix this is not a problem, because the module automatically - looks for the needed functions and uses them if available. If not, - nsapi_virtual() is disabled. - - Under Windows limitations in the DLL handling need the use of a - automatic detection of the most recent ns-httpdXX.dll file. This is - tested for servers till version 6.1. If a newer version of the Sun - server is used, the detection fails and nsapi_virtual() is disabled. - - If this is the case, try the following: Add the following parameter to - php5_init in magnus.conf/obj.conf: - Init fn=php5_init ... server_lib="ns-httpdXX.dll" - - where XX is the correct DLL version number. To get it, look in the - server-root for the correct DLL name. The DLL with the biggest filesize - is the right one. - - You can check the status by using the phpinfo() function. - - Note: But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!! - __________________________________________________________________ - -OmniHTTPd Server - - This section contains notes and hints specific to OmniHTTPd on Windows. - - Note: You should read the manual installation steps first! - - Warning - - By using the CGI setup, your server is open to several possible - attacks. Please read our CGI security section to learn how to defend - yourself from those attacks. - - You need to complete the following steps to make PHP work with - OmniHTTPd. This is a CGI executable setup. SAPI is supported by - OmniHTTPd, but some tests have shown that it is not so stable to use - PHP as an ISAPI module. - - Important for CGI users: Read the faq on cgi.force_redirect for - important details. This directive needs to be set to 0. - - 1. Install OmniHTTPd server. - 2. Right click on the blue OmniHTTPd icon in the system tray and - select Properties - 3. Click on Web Server Global Settings - 4. On the 'External' tab, enter: virtual = .php | actual = - c:\php\php.exe (use php-cgi.exe if installing PHP 5), and use the - Add button. - 5. On the Mime tab, enter: virtual = wwwserver/stdcgi | actual = .php, - and use the Add button. - 6. Click OK - - Repeat steps 2 - 6 for each extension you want to associate with PHP. - - __________________________________________________________________ - -Xitami on Microsoft Windows - - This section contains notes and hints specific to Xitami on Windows. - - Note: You should read the manual installation steps first! - - This list describes how to set up the PHP CGI binary to work with - Xitami on Windows. - - Important for CGI users: Read the faq on cgi.force_redirect for - important details. This directive needs to be set to 0. If you want - to use $_SERVER['PHP_SELF'] you have to enable the cgi.fix_pathinfo - directive. - - Warning - - By using the CGI setup, your server is open to several possible - attacks. Please read our CGI security section to learn how to defend - yourself from those attacks. - - * Make sure the web server is running, and point your browser to - xitamis admin console (usually http://127.0.0.1/admin), and click - on Configuration. - * Navigate to the Filters, and put the extension which PHP should - parse (i.e. .php) into the field File extensions (.xxx). - * In Filter command or script put the path and name of your PHP CGI - executable i.e. C:\php\php-cgi.exe. - * Press the 'Save' icon. - * Restart the server to reflect changes. - __________________________________________________________________ - -Installation of extensions on Windows - - After installing PHP and a web server on Windows, you will probably - want to install some extensions for added functionality. You can choose - which extensions you would like to load when PHP starts by modifying - your php.ini. You can also load a module dynamically in your script - using dl(). - - The DLLs for PHP extensions are prefixed with php_. - - Many extensions are built into the Windows version of PHP. This means - additional DLL files, and the extension directive, are not used to load - these extensions. The Windows PHP Extensions table lists extensions - that require, or used to require, additional PHP DLL files. Here's a - list of built in extensions: - - In PHP 5 (updated PHP 5.0.4), the following changes exist. Built in: - DOM, LibXML, Iconv, SimpleXML, SPL and SQLite. And the following are no - longer built in: MySQL and Overload. - - The default location PHP searches for extensions is C:\php5 in PHP 5. - To change this setting to reflect your setup of PHP edit your php.ini - file: - - * You will need to change the extension_dir setting to point to the - directory where your extensions lives, or where you have placed - your php_*.dll files. For example: - -extension_dir = C:\php\extensions - - * Enable the extension(s) in php.ini you want to use by uncommenting - the extension=php_*.dll lines in php.ini. This is done by deleting - the leading ; from the extension you want to load. - - Example 2-8. Enable Bzip2 extension for PHP-Windows -// change the following line from ... -;extension=php_bz2.dll - -// ... to -extension=php_bz2.dll - - * Some of the extensions need extra DLLs to work. Couple of them can - be found in the distribution package, in in the main folder in PHP 5, - but some, for example Oracle (php_oci8.dll) require DLLs which are - not bundled with the distribution package. - * Some of these DLLs are not bundled with the PHP distribution. See - each extensions documentation page for details. Also, read the - manual section titled Installation of PECL extensions for details - on PECL. An increasingly large number of PHP extensions are found - in PECL, and these extensions require a separate download. - - Note: If you are running a server module version of PHP remember to - restart your web server to reflect your changes to php.ini. - - The following table describes some of the extensions available and - required additional dlls. - - Table 2-1. PHP Extensions - Extension Description Notes - php_bz2.dll bzip2 compression functions None - php_calendar.dll Calendar conversion functions - php_cpdf.dll ClibPDF functions None - php_crack.dll Crack functions None - php_ctype.dll ctype family functions - php_curl.dll CURL, Client URL library functions Requires: libeay32.dll, - ssleay32.dll (bundled) - php_db.dll DBM functions Deprecated. Use DBA instead (php_dba.dll) - php_dba.dll DBA: DataBase (dbm-style) Abstraction layer functions None - php_dbase.dll dBase functions None - php_dbx.dll dbx functions - php_exif.dll EXIF functions php_mbstring.dll. And, php_exif.dll must be - loaded after php_mbstring.dll in php.ini. - php_fdf.dll FDF: Forms Data Format functions. Requires: fdftk.dll - (bundled) - php_filepro.dll filePro functions Read-only access - php_ftp.dll FTP functions - php_gd2.dll GD library image functions GD2 - php_gettext.dll Gettext functions, requires libintl-1.dll, - iconv.dll (bundled). - php_iconv.dll ICONV characterset conversion Requires: iconv.dll - php_imap.dll IMAP POP3 and NNTP functions None - php_interbase.dll InterBase functions Requires: gds32.dll (bundled) - php_ldap.dll LDAP functions requires libeay32.dll, ssleay32.dll (bundled) - php_mbstring.dll Multi-Byte String functions None - php_mcrypt.dll Mcrypt Encryption functions Requires: libmcrypt.dll - php_mime_magic.dll Mimetype functions Requires: magic.mime (bundled) - php_ming.dll Ming functions for Flash None - php_msql.dll mSQL functions Requires: msql.dll (bundled) - php_mssql.dll MSSQL functions Requires: ntwdblib.dll (bundled) - php_mysql.dll MySQL functions PHP >= 5.0.0, requires libmysql.dll - (bundled) - php_mysqli.dll MySQLi functions PHP >= 5.0.0, requires libmysql.dll - (libmysqli.dll in PHP <= 5.0.2) (bundled) - php_oci8.dll Oracle 8 functions Requires: Oracle 8.1+ client libraries - php_openssl.dll OpenSSL functions Requires: libeay32.dll (bundled) - php_oracle.dll Oracle functions Requires: Oracle 7 client libraries - php_pgsql.dll PostgreSQL functions None - php_printer.dll Printer functions None - php_shmop.dll Shared Memory functions None - php_snmp.dll SNMP get and walk functions NT only! - php_soap.dll SOAP functions PHP >= 5.0.0 - php_sockets.dll Socket functions None - php_sybase_ct.dll Sybase functions Requires: Sybase client libraries - php_tidy.dll Tidy functions PHP >= 5.0.0 - php_tokenizer.dll Tokenizer functions Built in since PHP 4.3.0 - php_xmlrpc.dll XML-RPC functions PHP >= 4.2.1 requires: iconv.dll - (bundled) - php_xslt.dll XSLT requires libxslt.dll, iconv.dll (bundled). - php_zip.dll Zip File functions - php_zlib.dll ZLib compression functions - __________________________________________________________________ - -Chapter 3. Installation of PECL extensions - -Introduction to PECL Installations - - PECL is a repository of PHP extensions that are made available to you - via the PEAR packaging system. This section of the manual is intended - to demonstrate how to obtain and install PECL extensions. - - These instructions assume /your/phpsrcdir/ is the path to the PHP - source distribution, and that extname is the name of the PECL - extension. Adjust accordingly. These instructions also assume a - familiarity with the pear command. The information in the PEAR manual - for the pear command also applies to the pecl command. - - To be useful, a shared extension must be built, installed, and loaded. - The methods described below provide you with various instructions on - how to build and install the extensions, but they do not automatically - load them. Extensions can be loaded by adding an extension directive. - To this php.ini file, or through the use of the dl() function. - - When building PHP modules, it's important to have known-good versions - of the required tools (autoconf, automake, libtool, etc.) See the - SVN Instructions for details on the required tools, and required - versions. - __________________________________________________________________ - -Downloading PECL extensions - - There are several options for downloading PECL extensions, such as: - - * http://pecl.php.net - The PECL web site contains information about the different - extensions that are offered by the PHP Development Team. The - information available here includes: ChangeLog, release notes, - requirements and other similar details. - * pecl download extname - PECL extensions that have releases listed on the PECL web site are - available for download and installation using the pecl command. - Specific revisions may also be specified. - * SVN - Most PECL extensions also reside in SVN. A web-based view may be - seen at http://svn.php.net/pecl/. To download straight from SVN, - the following sequence of commands may be used. - -$ svn co http://svn.php.net/repository/pecl//trunk - - * Windows downloads - Windows users may find compiled PECL binaries by downloading the - Collection of PECL modules from the PHP Downloads page, or by - retrieving a PECL Snapshot or an extension DLL on PECL4WIN. To - compile PHP under Windows, read the appropriate chapter. - __________________________________________________________________ - -PECL for Windows users - - As with any other PHP extension DLL, installation is as simple as - copying the PECL extension DLLs into the extension_dir folder and - loading them from php.ini. For example, add the following line to your - php.ini: - - extension=php_extname.dll - - After doing this, restart the web server. - __________________________________________________________________ - -Compiling shared PECL extensions with the pecl command - - PECL makes it easy to create shared PHP extensions. Using the pecl - command, do the following: - - $ pecl install extname - - This will download the source for extname, compile, and install - extname.so into your extension_dir. extname.so may then be loaded via - php.ini - - By default, the pecl command will not install packages that are marked - with the alpha or beta state. If no stable packages are available, you - may install a beta package using the following command: - - $ pecl install extname-beta - - You may also install a specific version using this variant: - - $ pecl install extname-0.1 - __________________________________________________________________ - -Compiling shared PECL extensions with phpize - - Sometimes, using the pecl installer is not an option. This could be - because you're behind a firewall, or it could be because the extension - you want to install is not available as a PECL compatible package, such - as unreleased extensions from SVN. If you need to build such an - extension, you can use the lower-level build tools to perform the build - manually. - - The phpize command is used to prepare the build environment for a PHP - extension. In the following sample, the sources for an extension are in - a directory named extname: - -$ cd extname -$ phpize -$ ./configure -$ make -# make install - - A successful install will have created extname.so and put it into the - PHP extensions directory. You'll need to and adjust php.ini and add an - extension=extname.so line before you can use the extension. - - If the system is missing the phpize command, and precompiled packages - (like RPM's) are used, be sure to also install the appropriate devel - version of the PHP package as they often include the phpize command - along with the appropriate header files to build PHP and its - extensions. - - Execute phpize --help to display additional usage information. - __________________________________________________________________ - -Compiling PECL extensions statically into PHP - - You might find that you need to build a PECL extension statically into - your PHP binary. To do this, you'll need to place the extension source - under the php-src/ext/ directory and tell the PHP build system to - regenerate its configure script. - -$ cd /your/phpsrcdir/ext -$ pecl download extname -$ gzip -d < extname.tgz | tar -xvf - -$ mv extname-x.x.x extname - - This will result in the following directory: - - /your/phpsrcdir/ext/extname - - From here, force PHP to rebuild the configure script, and then build - PHP as normal: - -$ cd /your/phpsrcdir -$ rm configure -$ ./buildconf --force -$ ./configure --help -$ ./configure --with-extname --enable-someotherext --with-foobar -$ make -$ make install - - Note: To run the 'buildconf' script you need autoconf 2.13 and - automake 1.4+ (newer versions of autoconf may work, but are not - supported). - - Whether --enable-extname or --with-extname is used depends on the - extension. Typically an extension that does not require external - libraries uses --enable. To be sure, run the following after buildconf: - - $ ./configure --help | grep extname - __________________________________________________________________ - -Chapter 4. Problems? - -Read the FAQ - - Some problems are more common than others. The most common ones are - listed in the PHP FAQ, part of this manual. - __________________________________________________________________ - -Other problems - - If you are still stuck, someone on the PHP installation mailing list - may be able to help you. You should check out the archive first, in - case someone already answered someone else who had the same problem as - you. The archives are available from the support page on - http://www.php.net/support.php. To subscribe to the PHP installation - mailing list, send an empty mail to - php-install-subscribe@lists.php.net. The mailing list address is - php-install@lists.php.net. - - If you want to get help on the mailing list, please try to be precise - and give the necessary details about your environment (which operating - system, what PHP version, what web server, if you are running PHP as - CGI or a server module, safe mode, etc...), and preferably enough code - to make others able to reproduce and test your problem. - __________________________________________________________________ - -Bug reports - - If you think you have found a bug in PHP, please report it. The PHP - developers probably don't know about it, and unless you report it, - chances are it won't be fixed. You can report bugs using the - bug-tracking system at http://bugs.php.net/. Please do not send bug - reports in mailing list or personal letters. The bug system is also - suitable to submit feature requests. - - Read the How to report a bug document before submitting any bug - reports! - __________________________________________________________________ - -Chapter 5. Runtime Configuration - -The configuration file - - The configuration file (called php3.ini in PHP 3, and simply php.ini as - of PHP 4) is read when PHP starts up. For the server module versions of - PHP, this happens only once when the web server is started. For the CGI - and CLI version, it happens on every invocation. - - php.ini is searched in these locations (in order): - - * SAPI module specific location (PHPIniDir directive in Apache 2, -c - command line option in CGI and CLI, php_ini parameter in NSAPI, - PHP_INI_PATH environment variable in THTTPD) - * The PHPRC environment variable. Before PHP 5.2.0 this was checked - after the registry key mentioned below. - * As of PHP 5.2.0, the following registry locations are searched in - order: HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z\IniFilePath, - HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y\IniFilePath and - HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x\IniFilePath, where x, y and z - mean the PHP major, minor and release versions. - * HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath (Windows Registry - location) - * Current working directory (except CLI) - * The web server's directory (for SAPI modules), or directory of PHP - (otherwise in Windows) - * Windows directory (C:\windows or C:\winnt) (for Windows), or - --with-config-file-path compile time option - - If php-SAPI.ini exists (where SAPI is used SAPI, so the filename is - e.g. php-cli.ini or php-apache.ini), it's used instead of php.ini. SAPI - name can be determined by php_sapi_name(). - - Note: The Apache web server changes the directory to root at startup - causing PHP to attempt to read php.ini from the root filesystem if - it exists. - - The php.ini directives handled by extensions are documented - respectively on the pages of the extensions themselves. The list of the - core directives is available in the appendix. Probably not all PHP - directives are documented in the manual though. For a complete list of - directives available in your PHP version, please read your well - commented php.ini file. Alternatively, you may find the latest - php.ini from SVN helpful too. - - Example 5-1. php.ini example -; any text on a line after an unquoted semicolon (;) is ignored -[php] ; section markers (text within square brackets) are also ignored -; Boolean values can be set to either: -; true, on, yes -; or false, off, no, none -html_errors = off -track_errors = yes - -; you can enclose strings in double-quotes -include_path = ".:/usr/local/lib/php" - -; backslashes are treated the same as any other character -include_path = ".;c:\php\lib" - - Since PHP 5.1.0, it is possible to refer to existing .ini variables - from within .ini files. Example: open_basedir = ${open_basedir} - ":/new/dir". - __________________________________________________________________ - -How to change configuration settings - -Running PHP as an Apache module - - When using PHP as an Apache module, you can also change the - configuration settings using directives in Apache configuration files - (e.g. httpd.conf) and .htaccess files. You will need "AllowOverride - Options" or "AllowOverride All" privileges to do so. - - With PHP 4 and PHP 5, there are several Apache directives that allow - you to change the PHP configuration from within the Apache - configuration files. For a listing of which directives are PHP_INI_ALL, - PHP_INI_PERDIR, or PHP_INI_SYSTEM, have a look at the List of php.ini - directives appendix. - - Note: With PHP 3, there are Apache directives that correspond to - each configuration setting in the php3.ini name, except the name is - prefixed by "php3_". - - php_value name value - Sets the value of the specified directive. Can be used only with - PHP_INI_ALL and PHP_INI_PERDIR type directives. To clear a - previously set value use none as the value. - - Note: Don't use php_value to set boolean values. php_flag (see - below) should be used instead. - - php_flag name on|off - Used to set a boolean configuration directive. Can be used only - with PHP_INI_ALL and PHP_INI_PERDIR type directives. - - php_admin_value name value - Sets the value of the specified directive. This can not be used - in .htaccess files. Any directive type set with php_admin_value - can not be overridden by .htaccess or virtualhost directives. To - clear a previously set value use none as the value. - - php_admin_flag name on|off - Used to set a boolean configuration directive. This can not be - used in .htaccess files. Any directive type set with - php_admin_flag can not be overridden by .htaccess or virtualhost - directives. - - Example 5-2. Apache configuration example - - php_value include_path ".:/usr/local/lib/php" - php_admin_flag engine on - - - Caution - - PHP constants do not exist outside of PHP. For example, in httpd.conf - you can not use PHP constants such as E_ALL or E_NOTICE to set the - error_reporting directive as they will have no meaning and will - evaluate to 0. Use the associated bitmask values instead. These - constants can be used in php.ini - __________________________________________________________________ - -Changing PHP configuration via the Windows registry - - When running PHP on Windows, the configuration values can be modified - on a per-directory basis using the Windows registry. The configuration - values are stored in the registry key HKLM\SOFTWARE\PHP\Per Directory - Values, in the sub-keys corresponding to the path names. For example, - configuration values for the directory c:\inetpub\wwwroot would be - stored in the key HKLM\SOFTWARE\PHP\Per Directory - Values\c\inetpub\wwwroot. The settings for the directory would be - active for any script running from this directory or any subdirectory - of it. The values under the key should have the name of the PHP - configuration directive and the string value. PHP constants in the - values are not parsed. However, only configuration values changeable in - PHP_INI_USER can be set this way, PHP_INI_PERDIR values can not. - __________________________________________________________________ - -Other interfaces to PHP - - Regardless of how you run PHP, you can change certain values at runtime - of your scripts through ini_set(). See the documentation on the - ini_set() page for more information. - - If you are interested in a complete list of configuration settings on - your system with their current values, you can execute the phpinfo() - function, and review the resulting page. You can also access the values - of individual configuration directives at runtime using ini_get() or - get_cfg_var(). - __________________________________________________________________ - -Chapter 6. Installation FAQ - - This section holds common questions about the way to install PHP. PHP - is available for almost any OS (except maybe for MacOS before OSX), and - almost any web server. - - To install PHP, follow the instructions in Installing PHP. - - 1. Why shouldn't I use Apache2 with a threaded MPM in a production - environment? - - 2. Unix/Windows: Where should my php.ini file be located? - 3. Unix: I installed PHP, but every time I load a document, I get the - message 'Document Contains No Data'! What's going on here? - - 4. Unix: I installed PHP using RPMS, but Apache isn't processing the - PHP pages! What's going on here? - - 5. Unix: I installed PHP 3 using RPMS, but it doesn't compile with the - database support I need! What's going on here? - - 6. Unix: I patched Apache with the FrontPage extensions patch, and - suddenly PHP stopped working. Is PHP incompatible with the - Apache FrontPage extensions? - - 7. Unix/Windows: I have installed PHP, but when I try to access a PHP - script file via my browser, I get a blank screen. - - 8. Unix/Windows: I have installed PHP, but when try to access a PHP - script file via my browser, I get a server 500 error. - - 9. Some operating systems: I have installed PHP without errors, but - when I try to start apache I get undefined symbol errors: - -[mybox:user /src/php5] root# apachectl configtest - apachectl: /usr/local/apache/bin/httpd Undefined symbols: - _compress - _uncompress - - 10. Windows: I have installed PHP, but when I to access a PHP script - file via my browser, I get the error: - -cgi error: - The specified CGI application misbehaved by not - returning a complete set of HTTP headers. - The headers it did return are: - - 11. Windows: I've followed all the instructions, but still can't get - PHP and IIS to work together! - - 12. When running PHP as CGI with IIS, OmniHTTPD or Xitami, I get - the following error: Security Alert! PHP CGI cannot be accessed - directly.. - - 13. How do I know if my php.ini is being found and read? It seems like - it isn't as my changes aren't being implemented. - - 14. How do I add my PHP directory to the PATH on Windows? - 15. How do I make the php.ini file available to PHP on windows? - 16. Is it possible to use Apache content negotiation (MultiViews - option) with PHP? - - 17. Is PHP limited to process GET and POST request methods only? - - 1. Why shouldn't I use Apache2 with a threaded MPM in a production - environment? - - PHP is glue. It is the glue used to build cool web applications by - sticking dozens of 3rd-party libraries together and making it all - appear as one coherent entity through an intuitive and easy to learn - language interface. The flexibility and power of PHP relies on the - stability and robustness of the underlying platform. It needs a working - OS, a working web server and working 3rd-party libraries to glue - together. When any of these stop working PHP needs ways to identify the - problems and fix them quickly. When you make the underlying framework - more complex by not having completely separate execution threads, - completely separate memory segments and a strong sandbox for each - request to play in, feet of clay are introduced into PHP's system. - - If you feel you have to use a threaded MPM, look at a FastCGI - configuration where PHP is running in its own memory space. - - And finally, this warning against using a threaded MPM is not as strong - for Windows systems because most libraries on that platform tend to be - threadsafe. - - 2. Unix/Windows: Where should my php.ini file be located? - - By default on Unix it should be in /usr/local/lib which is - /lib. Most people will want to change this at - compile-time with the --with-config-file-path flag. You would, for - example, set it with something like: - --with-config-file-path=/etc - - And then you would copy php.ini-production from the distribution to - /etc/php.ini and edit it to make any local changes you want. - --with-config-file-scan-dir=PATH - - On Windows the default path for the php.ini file is the Windows - directory. If you're using the Apache webserver, php.ini is first - searched in the Apaches install directory, e.g. c:\program files\apache - group\apache. This way you can have different php.ini files for - different versions of Apache on the same machine. - - See also the chapter about the configuration file. - - 3. Unix: I installed PHP, but every time I load a document, I get the - message 'Document Contains No Data'! What's going on here? - - This probably means that PHP is having some sort of problem and is - core-dumping. Look in your server error log to see if this is the case, - and then try to reproduce the problem with a small test case. If you - know how to use 'gdb', it is very helpful when you can provide a - backtrace with your bug report to help the developers pinpoint the - problem. If you are using PHP as an Apache module try something like: - - * Stop your httpd processes - * gdb httpd - * Stop your httpd processes - * > run -X -f /path/to/httpd.conf - * Then fetch the URL causing the problem with your browser - * > run -X -f /path/to/httpd.conf - * If you are getting a core dump, gdb should inform you of this now - * type: bt - * You should include your backtrace in your bug report. This should - be submitted to http://bugs.php.net/ - - If your script uses the regular expression functions (ereg() and - friends), you should make sure that you compiled PHP and Apache with - the same regular expression package. This should happen automatically - with PHP and Apache 1.3.x - - 4. Unix: I installed PHP using RPMS, but Apache isn't processing the - PHP pages! What's going on here? - - Assuming you installed both Apache and PHP from RPM packages, you need - to uncomment or add some or all of the following lines in your - httpd.conf file: -# Extra Modules -AddModule mod_php.c -AddModule mod_php3.c -AddModule mod_perl.c - -# Extra Modules -LoadModule php_module modules/mod_php.so -LoadModule perl_module modules/libperl.so - - And add: -AddType application/x-httpd-php3 .php3 # for PHP 3 -AddType application/x-httpd-php .php # for PHP 4 - - ... to the global properties, or to the properties of the VirtualDomain - you want to have PHP support added to. - - 5. Unix: I installed PHP 3 using RPMS, but it doesn't compile with the - database support I need! What's going on here? - - Due to the way PHP 3 built, it is not easy to build a complete flexible - PHP RPM. This issue is addressed in PHP 4. For PHP 3, we currently - suggest you use the mechanism described in the INSTALL.REDHAT file in - the PHP distribution. If you insist on using an RPM version of PHP 3, - read on... - - The RPM packagers are setting up the RPMS to install without database - support to simplify installations and because RPMS use /usr/ instead of - the standard /usr/local/ directory for files. You need to tell the RPM - spec file which databases to support and the location of the top-level - of your database server. - - This example will explain the process of adding support for the popular - MySQL database server, using the mod installation for Apache. - - Of course all of this information can be adjusted for any database - server that PHP supports. We will assume you installed MySQL and Apache - completely with RPMS for this example as well. - - * First remove mod_php3 : - -rpm -e mod_php3 - - * Then get the source rpm and INSTALL it, NOT --rebuild - -rpm -Uvh mod_php3-3.0.5-2.src.rpm - - * Then edit the /usr/src/redhat/SPECS/mod_php3.spec file - In the %build section add the database support you want, and the - path. - For MySQL you would add --with-mysql=/usr The %build section will - look something like this: - -./configure --prefix=/usr \ ---with-apxs=/usr/sbin/apxs \ ---with-config-file-path=/usr/lib \ ---enable-debug=no \ ---enable-safe-mode \ ---with-exec-dir=/usr/bin \ ---with-mysql=/usr \ ---with-system-regex - - * Once this modification is made then build the binary rpm as - follows: - -rpm -bb /usr/src/redhat/SPECS/mod_php3.spec - - * Then install the rpm - -rpm -ivh /usr/src/redhat/RPMS/i386/mod_php3-3.0.5-2.i386.rpm - - Make sure you restart Apache, and you now have PHP 3 with MySQL support - using RPM's. Note that it is probably much easier to just build from - the distribution tarball of PHP 3 and follow the instructions in - INSTALL.REDHAT found in that distribution. - - 6. Unix: I patched Apache with the FrontPage extensions patch, and - suddenly PHP stopped working. Is PHP incompatible with the Apache - FrontPage extensions? - - No, PHP works fine with the FrontPage extensions. The problem is that - the FrontPage patch modifies several Apache structures, that PHP relies - on. Recompiling PHP (using 'make clean ; make') after the FP patch is - applied would solve the problem. - - 7. Unix/Windows: I have installed PHP, but when I try to access a PHP - script file via my browser, I get a blank screen. - - Do a 'view source' in the web browser and you will probably find that - you can see the source code of your PHP script. This means that the web - server did not send the script to PHP for interpretation. Something is - wrong with the server configuration - double check the server - configuration against the PHP installation instructions. - - 8. Unix/Windows: I have installed PHP, but when try to access a PHP - script file via my browser, I get a server 500 error. - - Something went wrong when the server tried to run PHP. To get to see a - sensible error message, from the command line, change to the directory - containing the PHP executable (php.exe on Windows) and run php -i. If - PHP has any problems running, then a suitable error message will be - displayed which will give you a clue as to what needs to be done next. - If you get a screen full of HTML codes (the output of the phpinfo() - function) then PHP is working, and your problem may be related to your - server configuration which you should double check. - - 9. Some operating systems: I have installed PHP without errors, but - when I try to start apache I get undefined symbol errors: -[mybox:user /src/php5] root# apachectl configtest - apachectl: /usr/local/apache/bin/httpd Undefined symbols: - _compress - _uncompress - - This has actually nothing to do with PHP, but with the MySQL client - libraries. Some need --with-zlib, others do not. This is also covered - in the MySQL FAQ. - - 10. Windows: I have installed PHP, but when I to access a PHP script - file via my browser, I get the error: -cgi error: - The specified CGI application misbehaved by not - returning a complete set of HTTP headers. - The headers it did return are: - - This error message means that PHP failed to output anything at all. To - get to see a sensible error message, from the command line, change to - the directory containing the PHP executable (php.exe on Windows) and - run php -i. If PHP has any problems running, then a suitable error - message will be displayed which will give you a clue as to what needs - to be done next. If you get a screen full of HTML codes (the output of - the phpinfo() function) then PHP is working. - - Once PHP is working at the command line, try accessing the script via - the browser again. If it still fails then it could be one of the - following: - - * File permissions on your PHP script, php.exe, php5ts.dll, php.ini - or any PHP extensions you are trying to load are such that the - anonymous internet user ISUR_ cannot access them. - * The script file does not exist (or possibly isn't where you think - it is relative to your web root directory). Note that for IIS you - can trap this error by ticking the 'check file exists' box when - setting up the script mappings in the Internet Services Manager. If - a script file does not exist then the server will return a 404 - error instead. There is also the additional benefit that IIS will - do any authentication required for you based on the NTLanMan - permissions on your script file. - - 11. Windows: I've followed all the instructions, but still can't get - PHP and IIS to work together! - - Make sure any user who needs to run a PHP script has the rights to run - php.exe! IIS uses an anonymous user which is added at the time IIS is - installed. This user needs rights to php.exe. Also, any authenticated - user will also need rights to execute php.exe. And for IIS4 you need to - tell it that PHP is a script engine. Also, you will want to read this - faq. - - 12. When running PHP as CGI with IIS, OmniHTTPD or Xitami, I get - the following error: Security Alert! PHP CGI cannot be accessed - directly.. - - You must set the cgi.force_redirect directive to 0. It defaults to 1 so - be sure the directive isn't commented out (with a ;). Like all - directives, this is set in php.ini - - Because the default is 1, it's critical that you're 100% sure that the - correct php.ini file is being read. Read this faq for details. - - 13. How do I know if my php.ini is being found and read? It seems like - it isn't as my changes aren't being implemented. - - To be sure your php.ini is being read by PHP, make a call to phpinfo() - and near the top will be a listing called Configuration File (php.ini). - This will tell you where PHP is looking for php.ini and whether or not - it's being read. If just a directory PATH exists than it's not being - read and you should put your php.ini in that directory. If php.ini is - included within the PATH than it is being read. - - If php.ini is being read and you're running PHP as a module, then be - sure to restart your web server after making changes to php.ini - - 14. How do I add my PHP directory to the PATH on Windows? - - On Windows NT, 2000, XP and 2003: - - * Go to Control Panel and open the System icon (Start -> Settings -> - Control Panel -> System, or just Start -> Control Panel -> System - for Windows XP/2003) - * Go to the Advanced tab - * Click on the 'Environment Variables' button - * Look into the 'System Variables' pane - * Find the Path entry (you may need to scroll to find it) - * Double click on the Path entry - * Enter your PHP directory at the end, including ';' before (e.g. - ;C:\php) - * Press OK and restart your computer - - On Windows 98/Me you need to edit the autoexec.bat file: - - * Open the Notepad (Start -> Run and enter notepad) - * Open the C:\autoexec.bat file - * Locate the line with PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... and - add: ;C:\php to the end of the line - * Save the file and restart your computer - - Note: Be sure to reboot after following the steps above to ensure - that the PATH changes are applied. - - The PHP manual used to promote the copying of files into the Windows - system directory, this is because this directory (C:\Windows, C:\WINNT, - etc.) is by default in the systems PATH. Copying files into the Windows - system directory has long since been deprecated and may cause problems. - - 15. How do I make the php.ini file available to PHP on windows? - - There are several ways of doing this. If you are using Apache, read - their installation specific instructions (Apache 1, Apache 2), - otherwise you must set the PHPRC environment variable: - - On Windows NT, 2000, XP and 2003: - - * Go to Control Panel and open the System icon (Start -> Settings -> - Control Panel -> System, or just Start -> Control Panel -> System - for Windows XP/2003) - * Go to the Advanced tab - * Click on the 'Environment Variables' button - * Look into the 'System variables' pane - * Click on 'New' and enter 'PHPRC' as the variable name and the - directory where php.ini is located as the variable value (e.g. - C:\php) - * Press OK and restart your computer - - On Windows 98/Me you need to edit the autoexec.bat file: - - * Open the Notepad (Start -> Run and enter notepad) - * Open the C:\autoexec.bat file - * Add a new line to the end of the file: set PHPRC=C:\php (replace - C:\php with the directory where php.ini is located). Please note - that the path cannot contain spaces. For instance, if you have - installed PHP in C:\Program Files\PHP, you would enter - C:\PROGRA~1\PHP instead. - * Save the file and restart your computer - - 16. Is it possible to use Apache content negotiation (MultiViews - option) with PHP? - - If links to PHP files include extension, everything works perfect. This - FAQ is only for the case when links to PHP files don't include - extension and you want to use content negotiation to choose PHP files - from URL with no extension. In this case, replace the line AddType - application/x-httpd-php .php with: -# PHP 4 -AddHandler php-script php -AddType text/html php - -# PHP 5 -AddHandler php5-script php -AddType text/html php - - This solution doesn't work for Apache 1 as PHP module doesn't catch - php-script. - - 17. Is PHP limited to process GET and POST request methods only? - - No, it is possible to handle any request method, e.g. CONNECT. Proper - response status can be sent with header(). If only GET and POST methods - should be handled, it can be achieved with this Apache configuration: - -Deny from all - diff --git a/php/lib/enchant/libenchant_ispell.dll b/php/lib/enchant/libenchant_ispell.dll deleted file mode 100644 index fd72e4c..0000000 Binary files a/php/lib/enchant/libenchant_ispell.dll and /dev/null differ diff --git a/php/lib/enchant/libenchant_myspell.dll b/php/lib/enchant/libenchant_myspell.dll deleted file mode 100644 index e3f8578..0000000 Binary files a/php/lib/enchant/libenchant_myspell.dll and /dev/null differ diff --git a/php/libeay32.dll b/php/libeay32.dll deleted file mode 100644 index 9f06571..0000000 Binary files a/php/libeay32.dll and /dev/null differ diff --git a/php/libenchant.dll b/php/libenchant.dll deleted file mode 100644 index 95b577c..0000000 Binary files a/php/libenchant.dll and /dev/null differ diff --git a/php/libpq.dll b/php/libpq.dll deleted file mode 100644 index f4b88d7..0000000 Binary files a/php/libpq.dll and /dev/null differ diff --git a/php/libsasl.dll b/php/libsasl.dll deleted file mode 100644 index 2393613..0000000 Binary files a/php/libsasl.dll and /dev/null differ diff --git a/php/libssh2.dll b/php/libssh2.dll deleted file mode 100644 index 10a96e7..0000000 Binary files a/php/libssh2.dll and /dev/null differ diff --git a/php/license.txt b/php/license.txt deleted file mode 100644 index 648b08f..0000000 --- a/php/license.txt +++ /dev/null @@ -1,68 +0,0 @@ --------------------------------------------------------------------- - The PHP License, version 3.01 -Copyright (c) 1999 - 2015 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/php/news.txt b/php/news.txt deleted file mode 100644 index a9c7932..0000000 --- a/php/news.txt +++ /dev/null @@ -1,10442 +0,0 @@ -PHP NEWS -||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -14 May 2015, PHP 5.6.9 - -- Core: - . Fixed bug #69467 (Wrong checked for the interface by using Trait). - (Laruence) - . Fixed bug #69420 (Invalid read in zend_std_get_method). (Laruence) - . Fixed bug #60022 ("use statement [...] has no effect" depends on leading - backslash). (Nikita) - . Fixed bug #67314 (Segmentation fault in gc_remove_zval_from_buffer). - (Dmitry) - . Fixed bug #68652 (segmentation fault in destructor). (Dmitry) - . Fixed bug #69419 (Returning compatible sub generator produces a warning). - (Nikita) - . Fixed bug #69472 (php_sys_readlink ignores misc errors from - GetFinalPathNameByHandleA). (Jan Starke) - . Fixed bug #69364 (PHP Multipart/form-data remote dos Vulnerability). (Stas) - . Fixed bug #69403 (str_repeat() sign mismatch based memory corruption). - (Stas) - . Fixed bug #69418 (CVE-2006-7243 fix regressions in 5.4+). (Stas) - . Fixed bug #69522 (heap buffer overflow in unpack()). (Stas) - -- FTP: - . Fixed bug #69545 (Integer overflow in ftp_genlist() resulting in heap - overflow). (Stas) - -- ODBC: - . Fixed bug #69354 (Incorrect use of SQLColAttributes with ODBC 3.0). - (Anatol) - . Fixed bug #69474 (ODBC: Query with same field name from two tables returns - incorrect result). (Anatol) - . Fixed bug #69381 (out of memory with sage odbc driver). (Frederic Marchall, - Anatol Belski) - -- OpenSSL: - . Fixed bug #69402 (Reading empty SSL stream hangs until timeout). - (Daniel Lowrey) - -- PCNTL: - . Fixed bug #68598 (pcntl_exec() should not allow null char). (Stas) - -- PCRE - . Upgraded pcrelib to 8.37. - -- Phar: - . Fixed bug #69453 (Memory Corruption in phar_parse_tarfile when entry - filename starts with null). (Stas) - -16 Apr 2015, PHP 5.6.8 - -- Core: - . Fixed bug #66609 (php crashes with __get() and ++ operator in some cases). - (Dmitry, Laruence) - . Fixed bug #68021 (get_browser() browser_name_regex returns non-utf-8 - characters). (Tjerk) - . Fixed bug #68917 (parse_url fails on some partial urls). (Wei Dai) - . Fixed bug #69134 (Per Directory Values overrides PHP_INI_SYSTEM - configuration options). (Anatol Belski) - . Additional fix for bug #69152 (Type confusion vulnerability in - exception::getTraceAsString). (Stas) - . Fixed bug #69210 (serialize function return corrupted data when sleep has - non-string values). (Juan Basso) - . Fixed bug #69212 (Leaking VIA_HANDLER func when exception thrown in - __call/... arg passing). (Nikita) - . Fixed bug #69221 (Segmentation fault when using a generator in combination - with an Iterator). (Nikita) - . Fixed bug #69337 (php_stream_url_wrap_http_ex() type-confusion - vulnerability). (Stas) - . Fixed bug #69353 (Missing null byte checks for paths in various PHP - extensions). (Stas) - -- Apache2handler: - . Fixed bug #69218 (potential remote code execution with apache 2.4 - apache2handler). (Gerrit Venema) - -- cURL: - . Implemented FR#69278 (HTTP2 support). (Masaki Kagaya) - . Fixed bug #68739 (Missing break / control flow). (Laruence) - . Fixed bug #69316 (Use-after-free in php_curl related to - CURLOPT_FILE/_INFILE/_WRITEHEADER). (Laruence) - -- Date: - . Fixed bug #69336 (Issues with "last day of "). (Derick Rethans) - -- Enchant: - . Fixed bug #65406 (Enchant broker plugins are in the wrong place in windows - builds). (Anatol) - -- Ereg: - . Fixed bug #68740 (NULL Pointer Dereference). (Laruence) - -- Fileinfo: - . Fixed bug #68819 (Fileinfo on specific file causes spurious OOM and/or - segfault). (Anatol Belski) - -- Filter: - . Fixed bug #69202 (FILTER_FLAG_STRIP_BACKTICK ignored unless other - flags are used). (Jeff Welch) - . Fixed bug #69203 (FILTER_FLAG_STRIP_HIGH doesn't strip ASCII 127). (Jeff - Welch) - -- Mbstring: - . Fixed bug #68846 (False detection of CJK Unified Ideographs Extension E). - (Masaki Kagaya) - -- OPCache: - . Fixed bug #69297 (function_exists strange behavior with OPCache on - disabled function). (Laruence) - . Fixed bug #69281 (opcache_is_script_cached no longer works). (danack) - . Fixed bug #68677 (Use After Free). (CVE-2015-1351) (Laruence) - -- OpenSSL: - . Fixed bugs #68853, #65137 (Buffered crypto stream data breaks IO polling - in stream_select() contexts) (Chris Wright) - . Fixed bug #69197 (openssl_pkcs7_sign handles default value incorrectly) - (Daniel Lowrey) - . Fixed bug #69215 (Crypto servers should send client CA list) - (Daniel Lowrey) - . Add a check for RAND_egd to allow compiling against LibreSSL (Leigh) - -- Phar: - . Fixed bug #64343 (PharData::extractTo fails for tarball created by BSD tar). - (Mike) - . Fixed bug #64931 (phar_add_file is too restrictive on filename). (Mike) - . Fixed bug #65467 (Call to undefined method cli_arg_typ_string). (Mike) - . Fixed bug #67761 (Phar::mapPhar fails for Phars inside a path containing - ".tar"). (Mike) - . Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar). (Stas) - . Fixed bug #69441 (Buffer Overflow when parsing tar/zip/phar in - phar_set_inode). (Stas) - -- Postgres: - . Fixed bug #68741 (Null pointer dereference). (CVE-2015-1352) (Laruence) - -- SOAP: - . Fixed bug #69152 (Type Confusion Infoleak Vulnerability in unserialize() - with SoapFault). (Dmitry) - . Fixed bug #69293 (NEW segfault when using SoapClient::__setSoapHeader - (bisected, regression)). (Laruence) - -- SPL: - . Fixed bug #69227 (Use after free in zval_scan caused by - spl_object_storage_get_gc). (adam dot scarr at 99designs dot com) - -- Sqlite3: - . Fixed bug #68760 (SQLITE segfaults if custom collator throws an exception). - (Dan Ackroyd) - . Fixed bug #69287 (Upgrade bundled libsqlite to 3.8.8.3). (Anatol) - . Fixed bug #66550 (SQLite prepared statement use-after-free). (Sean Heelan) - -19 Mar 2015, PHP 5.6.7 - -- Core: - . Fixed bug #69174 (leaks when unused inner class use traits precedence). - (Laruence) - . Fixed bug #69139 (Crash in gc_zval_possible_root on unserialize). - (Laruence) - . Fixed bug #69121 (Segfault in get_current_user when script owner is not - in passwd with ZTS build). (dan at syneto dot net) - . Fixed bug #65593 (Segfault when calling ob_start from output buffering - callback). (Mike) - . Fixed bug #68986 (pointer returned by php_stream_fopen_temporary_file - not validated in memory.c). (nayana at ddproperty dot com) - . Fixed bug #68166 (Exception with invalid character causes segv). (Rasmus) - . Fixed bug #69141 (Missing arguments in reflection info for some builtin - functions). (kostyantyn dot lysyy at oracle dot com) - . Fixed bug #68976 (Use After Free Vulnerability in unserialize()). - (CVE-2015-2787) (Stas) - . Fixed bug #69134 (Per Directory Values overrides PHP_INI_SYSTEM - configuration options). (Anatol Belski) - . Fixed bug #69207 (move_uploaded_file allows nulls in path). (CVE-2015-2348) - (Stas) - -- CGI: - . Fixed bug #69015 (php-cgi's getopt does not see $argv). (Laruence) - -- CLI: - . Fixed bug #67741 (auto_prepend_file messes up __LINE__). (Reeze Xia) - -- cURL: - . Fixed bug #69088 (PHP_MINIT_FUNCTION does not fully initialize cURL on - Win32). (Grant Pannell) - . Add CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5_HOSTNAME constants if supported - by libcurl. (Linus Unneback) - -- Ereg: - . Fixed bug #69248 (heap overflow vulnerability in regcomp.c). (CVE-2015-2305) - (Stas) - -- FPM: - . Fixed bug #68822 (request time is reset too early). (honghu069 at 163 dot com) - -- ODBC: - . Fixed bug #68964 (Allowed memory size exhausted with odbc_exec). (Anatol) - -- Opcache: - . Fixed bug #69159 (Opcache causes problem when passing a variable variable - to a function). (Dmitry, Laruence) - . Fixed bug #69125 (Array numeric string as key). (Laruence) - . Fixed bug #69038 (switch(SOMECONSTANT) misbehaves). (Laruence) - -- OpenSSL: - . Fixed bug #68912 (Segmentation fault at openssl_spki_new). (Laruence) - . Fixed bug #61285, #68329, #68046, #41631 (encrypted streams don't observe - socket timeouts). (Brad Broerman) - . Fixed bug #68920 (use strict peer_fingerprint input checks) - (Daniel Lowrey) - . Fixed bug #68879 (IP Address fields in subjectAltNames not used) - (Daniel Lowrey) - . Fixed bug #68265 (SAN match fails with trailing DNS dot) (Daniel Lowrey) - . Fixed bug #67403 (Add signatureType to openssl_x509_parse) (Daniel Lowrey) - . Fixed bug (#69195 Inconsistent stream crypto values across versions) - (Daniel Lowrey) - -- pgsql: - . Fixed bug #68638 (pg_update() fails to store infinite values). - (william dot welter at 4linux dot com dot br, Laruence) - -- Readline: - . Fixed bug #69054 (Null dereference in readline_(read|write)_history() without - parameters). (Laruence) - -- SOAP: - . Fixed bug #69085 (SoapClient's __call() type confusion through - unserialize()). (andrea dot palazzo at truel dot it, Laruence) - -- SPL: - . Fixed bug #69108 ("Segmentation fault" when (de)serializing - SplObjectStorage). (Laruence) - . Fixed bug #68557 (RecursiveDirectoryIterator::seek(0) broken after - calling getChildren()). (Julien) - -- ZIP: - . Fixed bug #69253 (ZIP Integer Overflow leads to writing past heap - boundary). (CVE-2015-2331) (Stas) - -19 Feb 2015, PHP 5.6.6 - -- Core: - . Removed support for multi-line headers, as the are deprecated by RFC 7230. - (Stas) - . Fixed bug #67068 (getClosure returns somethings that's not a closure). - (Danack at basereality dot com) - . Fixed bug #68942 (Use after free vulnerability in unserialize() with - DateTimeZone). (CVE-2015-0273) (Stas) - . Fixed bug #68925 (Mitigation for CVE-2015-0235 – GHOST: glibc gethostbyname - buffer overflow). (Stas) - . Fixed Bug #67988 (htmlspecialchars() does not respect default_charset - specified by ini_set) (Yasuo) - . Added NULL byte protection to exec, system and passthru. (Yasuo) - -- Dba: - . Fixed bug #68711 (useless comparisons). (bugreports at internot dot info) - -- Enchant: - . Fixed bug #68552 (heap buffer overflow in enchant_broker_request_dict()). - (CVE-2014-9705) (Antony) - -- Fileinfo: - . Fixed bug #68827 (Double free with disabled ZMM). (Joshua Rogers) - . Fixed bug #67647 (Bundled libmagic 5.17 does not detect quicktime files - correctly). (Anatol) - . Fixed bug #68731 (finfo_buffer doesn't extract the correct mime with some - gifs). (Anatol) - -- FPM: - . Fixed bug #66479 (Wrong response to FCGI_GET_VALUES). (Frank Stolle) - . Fixed bug #68571 (core dump when webserver close the socket). - (redfoxli069 at gmail dot com, Laruence) - -- JSON: - . Fixed bug #50224 (json_encode() does not always encode a float as a float) - by adding JSON_PRESERVE_ZERO_FRACTION. (Juan Basso) - -- LIBXML: - . Fixed bug #64938 (libxml_disable_entity_loader setting is shared - between threads). (Martin Jansen) - -- Mysqli: - . Fixed bug #68114 (linker error on some OS X machines with fixed - width decimal support) (Keyur Govande) - . Fixed bug #68657 (Reading 4 byte floats with Mysqli and libmysqlclient - has rounding errors) (Keyur Govande) - -- Opcache: - . Fixed bug with try blocks being removed when extended_info opcode - generation is turned on. (Laruence) - -- PDO_mysql: - . Fixed bug #68750 (PDOMysql with mysqlnd does not allow the usage of - named pipes). (steffenb198 at aol dot com) - -- Phar: - . Fixed bug #68901 (use after free). (CVE-2015-2301) - (bugreports at internot dot info) - -- Pgsql: - . Fixed Bug #65199 (pg_copy_from() modifies input array variable) (Yasuo) - -- Session: - . Fixed bug #68941 (mod_files.sh is a bash-script) (bugzilla at ii.nl, Yasuo) - . Fixed Bug #66623 (no EINTR check on flock) (Yasuo) - . Fixed bug #68063 (Empty session IDs do still start sessions) (Yasuo) - -- Sqlite3: - . Fixed bug #68260 (SQLite3Result::fetchArray declares wrong - required_num_args). (Julien) - -- Standard: - . Fixed bug #65272 (flock() out parameter not set correctly in windows). - (Daniel Lowrey) - . Fixed bug #69033 (Request may get env. variables from previous requests - if PHP works as FastCGI). (Anatol) - -- Streams: - . Fixed bug which caused call after final close on streams filter. (Bob) - -22 Jan 2015, PHP 5.6.5 - -- Core: - . Upgraded crypt_blowfish to version 1.3. (Leigh) - . Fixed bug #60704 (unlink() bug with some files path). - . Fixed bug #65419 (Inside trait, self::class != __CLASS__). (Julien) - . Fixed bug #68536 (pack for 64bits integer is broken on bigendian). (Remi) - . Fixed bug #55541 (errors spawn MessageBox, which blocks test automation). - (Anatol) - . Fixed bug #68297 (Application Popup provides too few information). (Anatol) - . Fixed bug #65769 (localeconv() broken in TS builds). (Anatol) - . Fixed bug #65230 (setting locale randomly broken). (Anatol) - . Fixed bug #66764 (configure doesn't define EXPANDED_DATADIR / PHP_DATADIR - correctly). (Ferenc) - . Fixed bug #68583 (Crash in timeout thread). (Anatol) - . Fixed bug #65576 (Constructor from trait conflicts with inherited - constructor). (dunglas at gmail dot com) - . Fixed bug #68676 (Explicit Double Free). (CVE-2014-9425) (Kalle) - . Fixed bug #68710 (Use After Free Vulnerability in PHP's unserialize()). - (CVE-2015-0231) (Stefan Esser) - -- CGI: - . Fixed bug #68618 (out of bounds read crashes php-cgi). (CVE-2014-9427) - (Stas) - -- CLI server: - . Fixed bug #68745 (Invalid HTTP requests make web server segfault). (Adam) - -- cURL: - . Fixed bug #67643 (curl_multi_getcontent returns '' when - CURLOPT_RETURNTRANSFER isn't set). (Jille Timmermans) - -- Date: - . Implemented FR #68268 (DatePeriod: Getter for start date, end date and - interval). (Marc Bennewitz) - -- EXIF: - . Fixed bug #68799: Free called on uninitialized pointer. (CVE-2015-0232) - (Stas) - -- Fileinfo: - . Fixed bug #68398 (msooxml matches too many archives). (Anatol) - . Fixed bug #68665 (invalid free in libmagic). (Joshua Rogers, Anatol Belski) - . Fixed bug #68671 (incorrect expression in libmagic). - (Joshua Rogers, Anatol Belski) - . Removed readelf.c and related code from libmagic sources - (Remi, Anatol) - . Fixed bug #68735 (fileinfo out-of-bounds memory access). (CVE-2014-9652) - (Anatol) - -- FPM: - . Fixed request #68526 (Implement POSIX Access Control List for UDS). (Remi) - . Fixed bug #68751 (listen.allowed_clients is broken). (Remi) - -- GD: - . Fixed bug #68601 (buffer read overflow in gd_gif_in.c). (CVE-2014-9709) - (Jan Bee, Remi) - . Fixed request #68656 (Report gd library version). (Remi) - -- mbstring: - . Fixed bug #68504 (--with-libmbfl configure option not present on Windows). - (Ashesh Vashi) - -- Opcache: - . Fixed bug #68644 (strlen incorrect : mbstring + func_overload=2 +UTF-8 - + Opcache). (Laruence) - . Fixed bug #67111 (Memory leak when using "continue 2" inside two foreach - loops). (Nikita) - -- OpenSSL: - . Improved handling of OPENSSL_KEYTYPE_EC keys. (Dominic Luechinger) - -- pcntl: - . Fixed bug #60509 (pcntl_signal doesn't decrease ref-count of old handler - when setting SIG_DFL). (Julien) - -- PCRE: - . Fixed bug #66679 (Alignment Bug in PCRE 8.34 upstream). - (Rainer Jung, Anatol Belski) - -- pgsql: - . Fixed bug #68697 (lo_export return -1 on failure). (Ondřej Surý) - -- PDO: - . Fixed bug #68371 (PDO#getAttribute() cannot be called with platform-specifi - attribute names). (Matteo) - -- PDO_mysql: - . Fixed bug #68424 (Add new PDO mysql connection attr to control multi - statements option). (peter dot wolanin at acquia dot com) - -- SPL: - . Fixed bug #66405 (RecursiveDirectoryIterator::CURRENT_AS_PATHNAME - breaks the RecursiveIterator). (Paul Garvin) - . Fixed bug #68479 (Added escape parameter to SplFileObject::fputcsv). (Salathe) - -- SQLite: - . Fixed bug #68120 (Update bundled libsqlite to 3.8.7.2). (Anatol) - -- Streams: - . Fixed bug #68532 (convert.base64-encode omits padding bytes). - (blaesius at krumedia dot de) - -18 Dec 2014, PHP 5.6.4 - -- Core: - . Fixed bug #68091 (Some Zend headers lack appropriate extern "C" blocks). - (Adam) - . Fixed bug #68104 (Segfault while pre-evaluating a disabled function). - (Laruence) - . Fixed bug #68185 ("Inconsistent insteadof definition."- incorrectly - triggered). (Julien) - . Fixed bug #68355 (Inconsistency in example php.ini comments). - (Chris McCafferty) - . Fixed bug #68370 ("unset($this)" can make the program crash). (Laruence) - . Fixed bug #68422 (Incorrect argument reflection info for array_multisort()). - (Alexander Lisachenko) - . Fixed bug #68545 (NULL pointer dereference in unserialize.c). (Anatol) - . Fixed bug #68446 (Array constant not accepted for array parameter default). - (Bob, Dmitry) - . Fixed bug #68594 (Use after free vulnerability in unserialize()). - (CVE-2014-8142) (Stefan Esser) - -- Date: - . Fixed day_of_week function as it could sometimes return negative values - internally. (Derick) - -- FPM: - . Fixed bug #68381 (fpm_unix_init_main ignores log_level). - (David Zuelke, Remi) - . Fixed bug #68420 (listen=9000 listens to ipv6 localhost instead of all - addresses). (Remi) - . Fixed bug #68421 (access.format='%R' doesn't log ipv6 address). (Remi) - . Fixed bug #68423 (PHP-FPM will no longer load all pools). (Remi) - . Fixed bug #68428 (listen.allowed_clients is IPv4 only). (Remi) - . Fixed bug #68452 (php-fpm man page is oudated). (Remi) - . Fixed request #68458 (Change pm.start_servers default warning to - notice). (David Zuelke, Remi) - . Fixed bug #68463 (listen.allowed_clients can silently result - in no allowed access). (Remi) - . Fixed request #68391 (php-fpm conf files loading order). - (Florian Margaine, Remi) - . Fixed bug #68478 (access.log don't use prefix). (Remi) - -- Mcrypt: - . Fixed possible read after end of buffer and use after free. (Dmitry) - -- GMP: - . Fixed bug #68419 (build error with gmp 4.1). (Remi) - -- PDO_pgsql: - . Fixed bug #67462 (PDO_PGSQL::beginTransaction() wrongly throws exception - when not in transaction) (Matteo) - . Fixed bug #68351 (PDO::PARAM_BOOL and ATTR_EMULATE_PREPARES misbehaving) - (Matteo) - -- Session: - . Fixed bug #68331 (Session custom storage callable functions not being called) - (Yasuo Ohgaki) - -- SOAP: - . Fixed bug #68361 (Segmentation fault on SoapClient::__getTypes). - (Laruence) - -- zlib: - . Fixed bug #53829 (Compiling PHP with large file support will replace - function gzopen by gzopen64) (Sascha Kettler, Matteo) - -13 Nov 2014, PHP 5.6.3 - -- Core: - . Implemented 64-bit format codes for pack() and unpack(). (Leigh) - . Fixed bug #51800 (proc_open on Windows hangs forever). (Anatol) - . Fixed bug #67633 (A foreach on an array returned from a function not doing - copy-on-write). (Nikita) - . Fixed bug #67739 (Windows 8.1/Server 2012 R2 OS build number reported - as 6.2 (instead of 6.3)). (Christian Wenz) - . Fixed bug #67949 (DOMNodeList elements should be accessible through - array notation) (Florian) - . Fixed bug #68095 (AddressSanitizer reports a heap buffer overflow in - php_getopt()). (Stas) - . Fixed bug #68118 ($a->foo .= 'test'; can leave $a->foo undefined). (Nikita) - . Fixed bug #68129 (parse_url() - incomplete support for empty usernames - and passwords) (Tjerk) - . Fixed bug #68365 (zend_mm_heap corrupted after memory overflow in - zend_hash_copy). (Dmitry) - -- CURL: - . Add CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, and - CURL_SSLVERSION_TLSv1_2 constants if supported by libcurl (Rasmus) - -- Fileinfo: - . Fixed bug #66242 (libmagic: don't assume char is signed). (ArdB) - . Fixed bug #68224 (buffer-overflow in libmagic/readcdf.c caught by - AddressSanitizer). (Remi) - . Fixed bug #68283 (fileinfo: out-of-bounds read in elf note headers). - (CVE-2014-3710) (Remi) - -- FPM: - . Fixed bug #65641 (PHP-FPM incorrectly defines the SCRIPT_NAME variable - when using Apache, mod_proxy-fcgi and ProxyPass). (Remi) - . Implemented FR #55508 (listen and listen.allowed_clients should take IPv6 - addresses). (Robin Gloster) - -- GD: - . Fixed bug #65171 (imagescale() fails without height param). (Remi) - -- GMP: - . Implemented gmp_random_range() and gmp_random_bits(). (Leigh) - . Fixed bug #63595 (GMP memory management conflicts with other libraries - using GMP). (Remi) - -- Mysqli: - . Fixed bug #68114 (linker error on some OS X machines with fixed width - decimal support) (Keyur Govande) - -- ODBC: - . Fixed bug #68087 (ODBC not correctly reading DATE column when preceded by - a VARCHAR column) (Keyur Govande) - -- OpenSSL: - . Fixed bug #68074 (Allow to use system cipher list instead of hardcoded - value). (Remi) - -- PDO_pgsql: - . Fixed bug #68199 (PDO::pgsqlGetNotify doesn't support NOTIFY payloads) - (Matteo, Alain Laporte) - . Fixed bug #66584 (Segmentation fault on statement deallocation) (Matteo) - -- OpenSSL: - . Revert regression introduced by fix of bug #41631 - -- Reflection: - . Fixed bug #68103 (Duplicate entry in Reflection for class alias). (Remi) - -- SPL: - . Fixed bug #68128 (Regression in RecursiveRegexIterator) (Tjerk) - -16 Oct 2014, PHP 5.6.2 - -- Core: - . Fixed bug #68044 (Integer overflow in unserialize() (32-bits only)). - (CVE-2014-3669) (Stas) - -- cURL: - . Fixed bug #68089 (NULL byte injection - cURL lib). (Stas) - -- EXIF: - . Fixed bug #68113 (Heap corruption in exif_thumbnail()). (CVE-2014-3670) - (Stas) - -- XMLRPC: - . Fixed bug #68027 (Global buffer overflow in mkgmtime() function). - (CVE-2014-3668) (Stas) - -02 Oct 2014, PHP 5.6.1 - -- Core: - . Implemented FR #38409 (parse_ini_file() looses the type of booleans). (Tjerk) - . Fixed bug #65463 (SIGSEGV during zend_shutdown()). (Keyur Govande) - . Fixed bug #66036 (Crash on SIGTERM in apache process). (Keyur Govande) - . Fixed bug #67878 (program_prefix not honoured in man pages). (Remi) - . Fixed bug #67938 (Segfault when extending interface method with variadic). - (Nikita) - . Fixed bug #67985 (Incorrect last used array index copied to new array after - unset). (Tjerk) - . Fixed bug #68088 (New Posthandler Potential Illegal efree() vulnerability). - (Mike) (CVE-2014-3622) - -- DOM: - . Made DOMNode::textContent writeable. (Tjerk) - -- Fileinfo: - . Fixed bug #67731 (finfo::file() returns invalid mime type - for binary files). (Anatol) - -- GD: - . Made fontFetch's path parser thread-safe. (Sara) - -- GMP: - . Fixed bug #67917 (Using GMP objects with overloaded operators can cause - memory exhaustion). (Nikita) - . Fixed bug #50175 (gmp_init() results 0 on given base and number starting - with 0x or 0b). (Nikita) - . Implemented gmp_import() and gmp_export(). (Leigh, Nikita) - -- MySQLi: - . Fixed bug #67839 (mysqli does not handle 4-byte floats correctly). (Keyur) - -- OpenSSL: - . Fixed bug #67850 (extension won't build if openssl compiled without SSLv3). - (Daniel Lowrey) - -- phpdbg: - . Fixed issue krakjoe/phpdbg#111 (compile error without ZEND_SIGNALS). (Bob) - -- SOAP: - . Fixed bug #67955 (SoapClient prepends 0-byte to cookie names). (Philip Hofstetter) - -- Session: - . Fixed bug #67972 (SessionHandler Invalid memory read create_sid()). (Adam) - -- Sysvsem: - . Implemented FR #67990 (Add optional nowait argument to sem_acquire). - (Matteo) - -28 Aug 2014, PHP 5.6.0 - -- Apache2 Handler SAPI: - . Fixed Apache log issue caused by APR's lack of support for %zu - (APR issue https://issues.apache.org/bugzilla/show_bug.cgi?id=56120). - (Jeff Trawick) - -- CLI server: - . Added some MIME types to the CLI web server. (Chris Jones) - . Fixed bug #67079 (Missing MIME types for XML/XSL files). (Anatol) - . Fixed bug #66830 (Empty header causes PHP built-in web server to hang). - (Adam) - . Fixed bug #67594 (Unable to access to apache_request_headers() elements). - (Tjerk) - . Implemented FR #67429 (CLI server is missing some new HTTP response codes). - (Adam) - . Fixed Bug #67406 (built-in web-server segfaults on startup). (Remi) - -- COM: - . Fixed bug #41577 (DOTNET is successful once per server run) - (Aidas Kasparas) - . Fixed missing type checks in com_event_sink (Yussuf Khalil, Stas). - . Fixed bug #66431 (Special Character via COM Interface (CP_UTF8)). (Anatol) - -- Core: - . Improved phpinfo() stylesheets. (Colin Viebrock) - . Fixed bug #67693 (incorrect push to the empty array). (Tjerk) - . Removed inconsistency regarding behaviour of array in constants at - run-time. (Bob) - . Fixed bug #67497 (eval with parse error causes segmentation fault in - generator). (Nikita) - . Fixed bug #67151 (strtr with empty array crashes). (Nikita) - . Fixed bug #67407 (Windows 8.1/Server 2012 R2 reported as Windows 8/Server - 2012). (Christian Wenz) - . Fixed bug #66608 (Incorrect behavior with nested "finally" blocks). - (Laruence, Dmitry) - . Implemented FR #34407 (ucwords and Title Case). (Tjerk) - . Fixed bug #67091 (make install fails to install libphp5.so on FreeBSD 10.0). - (Ferenc) - . Fixed bug #67368 (Memory leak with immediately dereferenced array in class - constant). (Laruence) - . Fixed bug #67468 (Segfault in highlight_file()/highlight_string()). - (Andreas Ferber) - . Fixed bug #67498 (phpinfo() Type Confusion Information Leak Vulnerability). - (Stefan Esser) - . Fixed bug #67551 (php://input temp file will be located in sys_temp_dir - instead of upload_tmp_dir). (Mike) - . Fixed bug #67169 (array_splice all elements, then []= gives wrong index). - (Nikita) - . Fixed bug #67198 (php://input regression). (Mike) - . Fixed bug #67247 (spl_fixedarray_resize integer overflow). (Stas) - . Fixed bug #67250 (iptcparse out-of-bounds read). (Stas) - . Fixed bug #67252 (convert_uudecode out-of-bounds read). (Stas) - . Fixed bug #67249 (printf out-of-bounds read). (Stas) - . Implemented FR #64744 (Differentiate between member function call on a null - and non-null, non-objects). (Boro Sitnikovski) - . Fixed bug #67436 (Autoloader isn't called if two method definitions don't - match). (Bob) - . Fixed bug #66622 (Closures do not correctly capture the late bound class - (static::) in some cases). (Levi Morrison) - . Fixed bug #67390 (insecure temporary file use in the configure script). - (Remi) (CVE-2014-3981) - . Fixed bug #67392 (dtrace breaks argument unpack). (Nikita) - . Fixed bug #67428 (header('Location: foo') will override a 308-399 response - code). (Adam) - . Fixed bug #67433 (SIGSEGV when using count() on an object implementing - Countable). (Matteo) - . Fixed bug #67399 (putenv with empty variable may lead to crash). (Stas) - . Expose get_debug_info class hook as __debugInfo() magic method. (Sara) - . Implemented unified default encoding - (RFC: https://wiki.php.net/rfc/default_encoding). (Yasuo Ohgaki) - . Added T_POW (**) operator - (RFC: https://wiki.php.net/rfc/pow-operator). (Tjerk Meesters) - . Improved IS_VAR operands fetching. (Laruence, Dmitry) - . Improved empty string handling. Now ZE uses an interned string instead of - allocation new empty string each time. (Laruence, Dmitry) - . Implemented internal operator overloading - (RFC: https://wiki.php.net/rfc/operator_overloading_gmp). (Nikita) - . Made calls from incompatible context issue an E_DEPRECATED warning instead - of E_STRICT (phase 1 of RFC: https://wiki.php.net/rfc/incompat_ctx). - (Gustavo) - . Uploads equal or greater than 2GB in size are now accepted. - (Ralf Lang, Mike) - . Reduced POST data memory usage by 200-300%. Changed INI setting - always_populate_raw_post_data to throw a deprecation warning when enabling - and to accept -1 for never populating the $HTTP_RAW_POST_DATA global - variable, which will be the default in future PHP versions. (Mike) - . Implemented dedicated syntax for variadic functions - (RFC: https://wiki.php.net/rfc/variadics). (Nikita) - . Fixed bug #50333 Improving multi-threaded scalability by using - emalloc/efree/estrdup (Anatol, Dmitry) - . Implemented constant scalar expressions (with support for constants) - (RFC: https://wiki.php.net/rfc/const_scalar_exprs). (Bob) - . Fixed bug #65784 (Segfault with finally). (Laruence, Dmitry) - . Fixed bug #66509 (copy() arginfo has changed starting from 5.4). (willfitch) - . Allow zero length comparison in substr_compare() (Tjerk) - . Fixed bug #60602 (proc_open() changes environment array) (Tjerk) - . Fixed bug #61019 (Out of memory on command stream_get_contents). (Mike) - . Fixed bug #64330 (stream_socket_server() creates wrong Abstract Namespace - UNIX sockets). (Mike) - . Fixed bug #66182 (exit in stream filter produces segfault). (Mike) - . Fixed bug #66736 (fpassthru broken). (Mike) - . Fixed bug #66822 (Cannot use T_POW in const expression) (Tjerk) - . Fixed bug #67043 (substr_compare broke by previous change) (Tjerk) - . Fixed bug #65701 (copy() doesn't work when destination filename is created - by tempnam()). (Boro Sitnikovski) - . Fixed bug #66015 (Unexpected array indexing in class's static property). (Bob) - . Added (constant) string/array dereferencing to static scalar expressions - to complete the set; now possible thanks to bug #66015 being fixed. (Bob) - . Fixed bug #66568 (Update reflection information for unserialize() function). - (Ferenc) - . Fixed bug #66660 (Composer.phar install/update fails). (Ferenc) - . Fixed bug #67024 (getimagesize should recognize BMP files with negative - height). (Gabor Buella) - . Fixed bug #67064 (Countable interface prevents using 2nd parameter - ($mode) of count() function). (Bob) - . Fixed bug #67072 (Echoing unserialized "SplFileObject" crash). (Anatol) - . Fixed bug #67033 (Remove reference to Windows 95). (Anatol) - -- Curl: - . Implemented FR #65646 (re-enable CURLOPT_FOLLOWLOCATION with open_basedir - or safe_mode). (Adam) - . Check for openssl.cafile ini directive when loading CA certs. (Daniel Lowrey) - . Remove cURL close policy related constants as these have no effect and are - no longer used in libcurl. (Chris Wright) - . Fixed bug #66109 (Can't reset CURLOPT_CUSTOMREQUEST to default behaviour) - (Tjerk) - . Fix compilation on libcurl versions between 7.10.5 and 7.12.2, inclusive. - (Adam) - . Fixed bug #64247 (CURLOPT_INFILE doesn't allow reset). (Mike) - . Fixed bug #66562 (curl_exec returns differently than curl_multi_getcontent). - (Freek Lijten) - -- Date: - . Fixed bug #66060 (Heap buffer over-read in DateInterval). (CVE-2013-6712) - (Remi) - . Fixed bug #66091 (memory leaks in DateTime constructor) (Tjerk). - . Fixed bug #67308 (Serialize of DateTime truncates fractions of second). - (Adam) - . Fixed regression in fix for bug #67118 (constructor can't be called twice). - (Remi) - . Fixed bug #67251 (date_parse_from_format out-of-bounds read). (Stas) - . Fixed bug #67253 (timelib_meridian_with_check out-of-bounds read). (Stas) - . Added DateTimeImmutable::createFromMutable to create a DateTimeImmutable - object from an existing DateTime (mutable) object (Derick) - . Fixed bug #66721 (__wakeup of DateTime segfaults when invalid object data is - supplied). (Boro Sitnikovski) - . Fixed bug #67118 (DateTime constructor crash with invalid data). (Anatol) - -- DOM: - . Fixed bug #67081 (DOMDocumentType->internalSubset returns entire DOCTYPE tag, - not only the subset). (Anatol) - -- Embed: - . Fixed bug #65715 (php5embed.lib isn't provided anymore). (Anatol). - -- Fileinfo: - . Fixed bug #67716 (Segfault in cdf.c). (CVE-2014-3587) (Remi) - . Fixed bug #67705 (extensive backtracking in rule regular expression). - (CVE-2014-3538) (Remi) - . Fixed bug #67327 (fileinfo: CDF infinite loop in nelements DoS). - (CVE-2014-0238) - . Fixed bug #67328 (fileinfo: fileinfo: numerous file_printf calls resulting in - performance degradation). (CVE-2014-0237) - . Fixed bug #67326 (fileinfo: cdf_read_short_sector insufficient boundary check). - (CVE-2014-0207) - . Fixed bug #67329 (fileinfo: NULL pointer deference flaw by processing certain - CDF files). (CVE-2014-0236) - . Fixed bug #67410 (fileinfo: mconvert incorrect handling of truncated pascal - string size). (CVE-2014-3478) (Francisco Alonso, Jan Kaluza, Remi) - . Fixed bug #67411 (fileinfo: cdf_check_stream_offset insufficient boundary - check). (CVE-2014-3479) (Francisco Alonso, Jan Kaluza, Remi) - . Fixed bug #67412 (fileinfo: cdf_count_chain insufficient boundary check). - (CVE-2014-3480) (Francisco Alonso, Jan Kaluza, Remi) - . Fixed bug #67413 (fileinfo: cdf_read_property_info insufficient boundary - check). (CVE-2014-3487) (Francisco Alonso, Jan Kaluza, Remi) - . Upgraded to libmagic-5.17 (Anatol) - . Fixed bug #66731 (file: infinite recursion). (CVE-2014-1943) (Remi) - . Fixed bug #66820 (out-of-bounds memory access in fileinfo). - (CVE-2014-2270). (Remi) - . Fixed bug #66946 (fileinfo: extensive backtracking in awk rule regular - expression). (CVE-2013-7345) (Remi) - . Fixed bug #66987 (Memory corruption in fileinfo ext / bigendian). - (Remi) - . Fixed bug #66907 (Solaris 10 is missing strcasestr and needs substitute). - (Anatol) - . Fixed bug #66307 (Fileinfo crashes with powerpoint files). (Anatol) - -- FPM: - . Fixed bug #67606 (revised fix 67541, broke mod_fastcgi BC). (David Zuelke) - . Fixed bug #67530 (error_log=syslog ignored). (Remi) - . Fixed bug #67635 (php links to systemd libraries without using pkg-config). - (pacho at gentoo dot org, Remi) - . Fixed bug #67531 (syslog cannot be set in pool configuration). (Remi) - . Fixed bug #67541 (Fix Apache 2.4.10+ SetHandler proxy:fcgi:// - incompatibilities). (David Zuelke) - . Included apparmor support in fpm - (RFC: https://wiki.php.net/rfc/fpm_change_hat). (Gernot Vormayr) - . Added clear_env configuration directive to disable clearenv() call. - (Github PR# 598, Paul Annesley) - . Fixed bug #66482 (unknown entry 'priority' in php-fpm.conf). - . Fixed bug #66908 (php-fpm reload leaks epoll_create() file descriptor). - (Julio Pintos) - . Fixed bug #67060 (sapi/fpm: possible privilege escalation due to insecure - default configuration) (CVE-2014-0185). (Stas) - -- GD - . Fixed bug #67730 (Null byte injection possible with imagexxx functions). - (CVE-2014-5120) (Ryan Mauger) - . Fixed bug #66901 (php-gd 'c_color' NULL pointer dereference). - (CVE-2014-2497) (Remi) - . Fixed bug #67248 (imageaffinematrixget missing check of parameters). (Stas) - . Fixed imagettftext to load the correct character map rather than the last one. - (Scott) - . Fixed bug #66356 (Heap Overflow Vulnerability in imagecrop()). - (CVE-2013-7226) - . Fixed bug #66815 (imagecrop(): insufficient fix for NULL defer). - (CVE-2013-7327). (Tomas Hoger, Remi). - . Fixed bug #66869 (Invalid 2nd argument crashes imageaffinematrixget) (Pierre) - . Fixed bug #66887 (imagescale - poor quality of scaled image). (Remi) - . Fixed bug #66890 (imagescale segfault). (Remi) - . Fixed bug #66893 (imagescale ignore method argument). (Remi) - -- GMP: - . Fixed bug #66872 (invalid argument crashes gmp_testbit) (Pierre) - . Fixed crashes in serialize/unserialize. (Stas) - . Moved GMP to use object as the underlying structure and implemented various - improvements based on this. - (RFC: https://wiki.php.net/rfc/operator_overloading_gmp). (Nikita) - . Added gmp_root() and gmp_rootrem() functions for calculating nth roots. - (Nikita) - -- Hash: - . Added gost-crypto (CryptoPro S-box) GOST hash algo. (Manuel Mausz) - . Fixed bug #66698 (Missing FNV1a32 and FNV1a64 hash functions). - (Michael M Slusarz). - . Implemented timing attack safe string comparison function - (RFC: https://wiki.php.net/rfc/timing_attack). (Rouven Weßling) - . hash_pbkdf2() now works correctly if the $length argument is not specified. - (Nikita) - -- Intl: - . Fixed bug #66873 (A reproductible crash in UConverter when given invalid - encoding) (Stas) - . Fixed bug #66921 (Wrong argument type hint for function - intltz_from_date_time_zone). (Stas) - . Fixed bug #67052 (NumberFormatter::parse() resets LC_NUMERIC setting). - (Stas) - . Fixed bug #67349 (Locale::parseLocale Double Free). (Stas) - . Fixed bug #67397 (Buffer overflow in locale_get_display_name and - uloc_getDisplayName (libicu 4.8.1)). (Stas) - -- JSON: - . Fixed case part of bug #64874 ("json_decode handles whitespace and - case-sensitivity incorrectly") - . Fixed bug #65753 (JsonSerializeable couldn't implement on module extension) - (chobieeee@php.net) - . Fixed bug #66021 (Blank line inside empty array/object when - JSON_PRETTY_PRINT is set). (Kevin Israel) - -- ldap - . Added new function ldap_modify_batch(). (Ondrej Hosek) - . Fixed issue with null bytes in LDAP bindings. (Matthew Daley) - -- litespeed - . Updated LiteSpeed SAPI code to V6.6 (George Wang) - . Fixed bug #63228 (-Werror=format-security error in lsapi code). - (Elan Ruusamäe, George) - -- Mail: - . Fixed bug #66535 (Don't add newline after X-PHP-Originating-Script) (Tjerk) - -- Mcrypt: - . No longer allow invalid key sizes, invalid IV sizes or missing required IV - in mcrypt_encrypt, mcrypt_decrypt and the deprecated mode functions. - (Nikita) - . Use /dev/urandom as the default source for mcrypt_create_iv(). (Nikita) - -- Mbstring: - . Upgraded to oniguruma 5.9.5 (Anatol) - . Fixed bug #67199 (mb_regex_encoding mismatch). (Yasuo) - -- Milter: - . Fixed bug #67715 (php-milter does not build and crashes randomly). (Mike) - -- mysqli - . Added new function mysqli_get_links_stats() as well as new INI variable - mysqli.rollback_on_cached_plink of type bool (Andrey) - . Fixed bug #66762 (Segfault in mysqli_stmt::bind_result() when link closed) - (Remi) - . Fixed building against an external libmysqlclient. (Adam) - -- mysqlnd: - . Disabled flag for SP OUT variables for 5.5+ servers as they are not natively - supported by the overlying APIs. (Andrey) - . Added a new fetching mode to mysqlnd. (Andrey) - . Added support for gb18030 from MySQL 5.7. (Andrey) - -- Network: - . Fixed bug #67717 (segfault in dns_get_record). (CVE-2014-3597) (Remi) - . Fixed bug #67432 (Fix potential segfault in dns_get_record()). - (CVE-2014-4049). (Sara) - -- OCI8 - . Fixed Bug #66875 (Improve performance of multi-row OCI_RETURN_LOB queries) - (Perrier, Chris Jones) - -- ODBC: - . Fixed bug #60616 (odbc_fetch_into returns junk at end of multi-byte char - fields). (Keyur Govande) - -- OpenSSL: - . Fixed bug #41631 (socket timeouts not honored in blocking SSL reads) - (Daniel Lowrey). - . Fixed missing type checks in OpenSSL options (Yussuf Khalil, Stas). - . Fixed bug #67609 (TLS connections fail behind HTTP proxy). (Daniel Lowrey) - . Fixed broken build against OpenSSL older than 0.9.8 where ECDH unavailable. - (Lior Kaplan) - . Fixed bug #67666 (Subject altNames doesn't support wildcard matching). (Tjerk) - . Fixed bug #67224 (Fall back to crypto_type from context if not specified - explicitly in stream_socket_enable_crypto). (Chris Wright) - . Fixed bug #65698 (certificates validity parsing does not work past 2050). - (Paul Oehler) - . Fixed bug #66636 (openssl_x509_parse warning with V_ASN1_GENERALIZEDTIME). - (Paul Oehler) - . Peer certificates now verified by default in client socket operations - (RFC: https://wiki.php.net/rfc/tls-peer-verification). (Daniel Lowrey) - . New openssl.cafile and openssl.capath ini directives. (Daniel Lowrey) - . Added crypto_method option for the ssl stream context. (Martin Jansen) - . Added certificate fingerprint support. (Tjerk Meesters) - . Added explicit TLSv1.1 and TLSv1.2 stream transports. (Daniel Lowrey) - . Fixed bug #65729 (CN_match gives false positive). (Tjerk Meesters) - . Peer name verification matches SAN DNS names for certs using - the Subject Alternative Name x509 extension. (Daniel Lowrey) - . Fixed segfault when built against OpenSSL>=1.0.1 (Daniel Lowrey) - . Added SPKAC support. (Jason Gerfen) - . Fallback to Windows CA cert store for peer verification if no openssl.cafile - ini directive or "cafile" SSL context option specified in Windows. - (Chris Wright) - . The openssl.cafile and openssl.capath ini directives introduced in alpha2 - now have PHP_INI_PERDIR accessibility (was PHP_INI_ALL). (Daniel Lowrey) - . New "peer_name" SSL context option replaces "CN_match" (which still works - as before but triggers E_DEPRECATED). (Daniel Lowrey) - . Fixed segfault when accessing non-existent context for client SNI use - (Daniel Lowrey) - . Fixed bug #66501 (Add EC key support to php_openssl_is_private_key). - (Mark Zedwood) - . Fixed Bug #47030 (add new boolean "verify_peer_name" SSL context option - allowing clients to verify cert names separately from the cert itself). - "verify_peer_name" is enabled by default for client streams. - (Daniel Lowrey) - . Fixed Bug #65538 ("cafile" SSL context option now supports stream - wrappers). (Daniel Lowrey) - . New openssl_get_cert_locations() function to aid CA file and peer - verification debugging. (Daniel Lowrey) - . Encrypted stream wrappers now disable TLS compression by default. - (Daniel Lowrey) - . New "capture_session_meta" SSL context option allows encrypted client and - server streams access to negotiated protocol/cipher information. - (Daniel Lowrey) - . New "honor_cipher_order" SSL context option allows servers to prioritize - cipher suites of their choosing when negotiating SSL/TLS handshakes. - (Daniel Lowrey) - . New "single_ecdh_use" and "single_dh_use" SSL context options allow for - improved forward secrecy in encrypted stream servers. (Daniel Lowrey) - . New "dh_param" SSL context option allows stream servers control over - the parameters when negotiating DHE cipher suites. (Daniel Lowrey) - . New "ecdh_curve" SSL context option allowing stream servers to specify - the curve to use when negotiating ephemeral ECDHE ciphers (defaults to - NIST P-256). (Daniel Lowrey) - . New "rsa_key_size" SSL context option gives stream servers control - over the key size (in bits) used for RSA key agreements. (Daniel Lowrey) - . Crypto methods for encrypted client and server streams now use - bitwise flags for fine-grained protocol support. (Daniel Lowrey) - . Added new tlsv1.0 stream wrapper to specify TLSv1 client/server method. - tls wrapper now negotiates TLSv1, TLSv1.1 or TLSv1.2. (Daniel Lowrey) - . Encrypted client streams now enable SNI by default. (Daniel Lowrey) - . Encrypted streams now prioritize ephemeral key agreement and high strength - ciphers by default. (Daniel Lowrey) - . New OPENSSL_DEFAULT_STREAM_CIPHERS constant exposes default cipher - list. (Daniel Lowrey) - . New STREAM_CRYPTO_METHOD_* constants for enhanced control over the crypto - methods negotiated encrypted server/client sessions. (Daniel Lowrey) - . Encrypted stream servers now automatically mitigate potential DoS vector - arising from client-initiated TLS renegotiation. New "reneg_limit", - "reneg_window" and "reneg_limit_callback" SSL context options for custom - renegotiation limiting control. (Daniel Lowrey) - . Fixed memory leak in windows cert verification on verify failure. - (Chris Wright) - . Peer certificate capturing via SSL context options now functions even if - peer verification fails. (Daniel Lowrey) - . Encrypted TLS servers now support the server name indication TLS extension - via the new "SNI_server_certs" SSL context option. (Daniel Lowrey) - . Fixed bug #66833 (Default disgest algo is still MD5, switch to SHA1). (Remi) - . Fixed bug #66942 (memory leak in openssl_seal()). (Chuan Ma) - . Fixed bug #66952 (memory leak in openssl_open()). (Chuan Ma) - . Fixed bug #66840 (Fix broken build when extension built separately). - (Daniel Lowrey) - -- OPcache: - . Added an optimization of class constants and constant calls to some - internal functions (Laruence, Dmitry) - . Added an optimization pass to convert FCALL_BY_NAME into DO_FCALL. - (Laruence, Dmitry) - . Added an optimization pass to merged identical constants (and related - cache_slots) in op_array->literals table. (Laruence, Dmitry) - . Added script level constant replacement optimization pass. (Dmitry) - . Added function opcache_is_script_cached(). (Danack) - . Added information about interned strings usage. (Terry, Julien, Dmitry) - . Fixed bug #67215 (php-cgi work with opcache, may be segmentation fault - happen) (Dmitry, Laruence) - -- PCRE: - . Fixed bug #67238 (Ungreedy and min/max quantifier bug, applied patch - from the upstream). (Anatol) - . Upgraded to PCRE 8.34. (Anatol) - . Added support for (*MARK) backtracking verbs. (Nikita) - -- pgsql: - . Fixed bug #67550 (Error in code "form" instead of "from", pgsql.c, line 756), - which affected builds against libpq < 7.3. (Adam) - . pg_insert()/pg_select()/pg_update()/pg_delete() are no longer EXPERIMENTAL. - (Yasuo) - . Impremented FR #25854 Return value for pg_insert should be resource instead of bool. - (Yasuo) - . Implemented FR #41146 - Add "description" with exteneded flag pg_meta_data(). - pg_meta_data(resource $conn, string $table [, bool extended]) - It also made pg_meta_data() return "is enum" always. - (Yasuo) - . Read-only access to the socket stream underlying database connections is - exposed via a new pg_socket() function to allow read/write polling when - establishing asynchronous connections and executing queries in non-blocking - applications. (Daniel Lowrey) - . Asynchronous connections are now possible using the PGSQL_CONNECT_ASYNC - flag in conjunction with a new pg_connect_poll() function and connection - polling status constants. (Daniel Lowrey) - . New pg_flush() and pg_consume_input() functions added to manually complete - non-blocking reads/writes to underlying connection sockets. (Daniel Lowrey) - . pg_version() returns full report which obtained by PQparameterStatus(). - (Yasuo) - . Added pg_lo_truncate(). (Yasuo) - . Added 64bit large object support for PostgreSQL 9.3 and later. (Yasuo) - . Fixed bug #67555 (Cannot build against libpq 7.3). (Adam) - -- phpdbg - . Fixed bug #67575 (Compilation fails for phpdbg when the - build directory != src directory). (Andy Thompson) - . Fixed Bug #67499 (readline feature not enabled when build with libedit). (Remi) - . Fix issue krakjoe/phpdbg#94 (List behavior is inconsistent). (Bob) - . Fix issue krakjoe/phpdbg#97 (The prompt should always ensure it is on a - newline). (Bob) - . Fix issue krakjoe/phpdbg#98 (break if does not seem to work). (Bob) - . Fix issue krakjoe/phpdbg#99 (register function has the same behavior as - run). (Bob) - . Fix issue krakjoe/phpdbg#100 (No way to list the current stack/frames) - (Help entry was missing). (Bob) - . Fixed bug which caused phpdbg to fail immediately on startup in non-debug - builds. (Bob) - . Fixed bug #67212 (phpdbg uses non-standard TIOCGWINSZ). (Ferenc) - . Included phpdbg sapi (RFC: https://wiki.php.net/rfc/phpdbg). - (Felipe Pena, Joe Watkins and Bob Weinand) - . Added watchpoints (watch command). (Bob) - . Renamed some commands (next => continue and how to step). (Joe) - . Fixed issue #85 (https://github.com/krakjoe/phpdbg/issues/85) - (Added stdin/stdout/stderr constants and their php:// wrappers). (Bob) - -- PDO: - . Fixed bug #66604 ('pdo/php_pdo_error.h' not copied to the include dir). - (Matteo) - -- PDO-ODBC: - . Fixed bug #50444 (PDO-ODBC changes for 64-bit). - -- PDO_pgsql: - . Fixed Bug #42614 (PDO_pgsql: add pg_get_notify support). (Matteo) - . Fixed Bug #63657 (pgsqlCopyFromFile, pgsqlCopyToArray use Postgres < 7.3 - syntax). (Matteo) - . Cleaned up code by increasing the requirements to libpq versions providing - PQexecParams, PQprepare, PQescapeStringConn, PQescapeByteaConn. According - to the release notes that means 8.0.8+ or 8.1.4+. (Matteo) - . Deprecated PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT, an - undocument constant effectively equivalent to PDO::ATTR_EMULATE_PREPARES. - (Matteo) - . Added PDO::PGSQL_ATTR_DISABLE_PREPARES constant to execute the queries - without preparing them, while still passing parameters separately from - the command text using PQexecParams. (Matteo) - -- PDO_firebird: - . Fixed Bug #66071 (memory corruption in error handling) (Popa) - -- Phar: - . Fixed bug #64498 ($phar->buildFromDirectory can't compress file with an accent - in its name). (PR #588) - . Fixed bug #67587 (Redirection loop on nginx with FPM). (Christian Weiske) - -- readline: - . Fixed bug #55496 (Interactive mode doesn't force a newline before the - prompt). (Bob, Johannes) - . Fixed bug #67496 (Save command history when exiting interactive shell - with control-c). (Dmitry Saprykin, Johannes) - -- Reflection: - . Implemented FR #67713 (loosen the restrictions on - ReflectionClass::newInstanceWithoutConstructor()). (Ferenc) - -- Session: - . Fixed bug #67694 (Regression in session_regenerate_id()). (Tjerk) - . Fixed missing type checks in php_session_create_id (Yussuf Khalil, Stas). - . Fixed bug #66827 (Session raises E_NOTICE when session name variable is array). - (Yasuo) - . Fixed Bug #65315 (session.hash_function silently fallback to default md5) - (Yasuo) - . Implemented Request #17860 (Session write short circuit). (Yasuo) - . Implemented Request #20421 (session_abort() and session_reset() function). - (Yasuo) - . Remove session_gc() and session_serializer_name() wich were introduced in the first 5.6.0 alpha. - -- SimpleXML: - . Fixed bug #66084 (simplexml_load_string() mangles empty node name) - (Anatol) - -- SQLite: - . Updated the bundled libsqlite to the version 3.8.3.1 (Anatol) - . Fixed bug #66967 (Updated bundled libsqlite to 3.8.4.3). (Anatol) - -- SOAP: - . Implemented FR #49898 (Add SoapClient::__getCookies()). (Boro Sitnikovski) - -- SPL: - . Revert fix for bug #67064 (BC issues). (Bob) - . Fixed bug #67539 (ArrayIterator use-after-free due to object change during - sorting). (CVE-2014-4698) (research at insighti dot org, Laruence) - . Fixed bug #67538 (SPL Iterators use-after-free). (CVE-2014-4670) (Laruence) - . Fixed bug #67492 (unserialize() SPL ArrayObject / SPLObjectStorage Type - Confusion) (CVE-2014-3515). (Stefan Esser) - . Fixed bug #67359 (Segfault in recursiveDirectoryIterator). (Laruence) - . Fixed bug #66127 (Segmentation fault with ArrayObject unset). (Stas) - . Fixed request #67453 (Allow to unserialize empty data). (Remi) - . Added feature #65545 (SplFileObject::fread()) (Tjerk) - . Fixed bug #66834 (empty() does not work on classes that extend ArrayObject) (Tjerk) - . Fixed bug #66702 (RegexIterator::INVERT_MATCH does not invert). (Joshua - Thijssen) - -- Standard: - . Implemented FR #65634 (HTTP wrapper is very slow with protocol_version - 1.1). (Adam) - . Implemented Change crypt() behavior w/o salt RFC. (Yasuo) - https://wiki.php.net/rfc/crypt_function_salt - . Implemented request #49824 (Change array_fill() to allow creating empty - array). (Nikita) - -- Streams: - . Fixed bug #67430 (http:// wrapper doesn't follow 308 redirects). (Adam) - -- Tokenizer: - . Fixed bug #67395 (token_name() does not return name for T_POW and T_POW_EQUAL - token). (Ferenc) - -- XMLReader: - . Fixed bug #55285 (XMLReader::getAttribute/No/Ns methods inconsistency). - (Mike) - -- XSL: - . Fixed bug #53965 ( cannot find files with relative paths - when loaded with "file://"). (Anatol) - -- Zip: - . update libzip to version 1.11.2. - PHP don't use any ilibzip private symbol anymore. (Pierre, Remi) - . new method ZipArchive::setPassword($password). (Pierre) - . add --with-libzip option to build with system libzip. (Remi) - . new methods: - ZipArchive::setExternalAttributesName($name, $opsys, $attr [, $flags]) - ZipArchive::setExternalAttributesIndex($idx, $opsys, $attr [, $flags]) - ZipArchive::getExternalAttributesName($name, &$opsys, &$attr [, $flags]) - ZipArchive::getExternalAttributesIndex($idx, &$opsys, &$attr [, $flags]) - -- Zlib: - . Fixed bug #67865 (internal corruption phar error). Mike - . Fixed bug #67724 (chained zlib filters silently fail with large amounts of - data). (Mike) - -21 Aug 2014, PHP 5.5.16 - -- COM: - . Fixed missing type checks in com_event_sink (Yussuf Khalil, Stas). - -- Fileinfo: - . Fixed bug #67705 (extensive backtracking in rule regular expression). - (CVE-2014-3538) (Remi) - . Fixed bug #67716 (Segfault in cdf.c). (CVE-2014-3587) (Remi) - -- FPM: - . Fixed bug #67635 (php links to systemd libraries without using pkg-config). - (pacho at gentoo dot org, Remi) - -- GD: - . Fixed bug #66901 (php-gd 'c_color' NULL pointer dereference). - (CVE-2014-2497) (Remi) - . Fixed bug #67730 (Null byte injection possible with imagexxx functions). - (CVE-2014-5120) (Ryan Mauger) - -- Milter: - . Fixed bug #67715 (php-milter does not build and crashes randomly). (Mike) - -- Network: - . Fixed bug #67717 (segfault in dns_get_record). (CVE-2014-3597) (Remi) - -- OpenSSL: - . Fixed missing type checks in OpenSSL options. (Yussuf Khalil, Stas) - -- readline: - . Fixed bug #55496 (Interactive mode doesn't force a newline before the - prompt). (Bob, Johannes) - . Fixed bug #67496 (Save command history when exiting interactive shell - with control-c). (Dmitry Saprykin, Johannes) - -- Sessions: - . Fixed missing type checks in php_session_create_id (Yussuf Khalil, Stas). - -- Core: - . Fixed bug #67693 (incorrect push to the empty array) (Tjerk) - -- ODBC: - . Fixed bug #60616 (odbc_fetch_into returns junk data at end of multi-byte - char fields). (Keyur) - -24 Jul 2014, PHP 5.5.15 - -- Core: - . Fixed bug #67428 (header('Location: foo') will override a 308-399 response - code). (Adam) - . Fixed bug #67436 (Autoloader isn't called if two method definitions don't - match). (Bob) - . Fixed bug #67091 (make install fails to install libphp5.so on FreeBSD 10.0). - (Ferenc) - . Fixed bug #67497 (eval with parse error causes segmentation fault in - generator). (Nikita) - . Fixed bug #67151 (strtr with empty array crashes). (Nikita) - . Fixed bug #67407 (Windows 8.1/Server 2012 R2 reported as Windows 8/Server - 2012). (Christian Wenz) - . Fixed bug #66608 (Incorrect behavior with nested "finally" blocks). - (Laruence, Dmitry) - . Implemented FR #34407 (ucwords and Title Case). (Tjerk) - -- CLI server: - . Implemented FR #67429 (CLI server is missing some new HTTP response codes). - (Adam) - . Fixed bug #66830 (Empty header causes PHP built-in web server to hang). - (Adam) - . Fixed bug #67594 (Unable to access to apache_request_headers() elements). - (Tjerk) - -- FPM: - . Fixed bug #67530 (error_log=syslog ignored). (Remi) - . Fixed bug #67531 (syslog cannot be set in pool configuration). (Remi) - -- Intl: - . Fixed bug #66921 (Wrong argument type hint for function - intltz_from_date_time_zone). (Stas) - . Fixed bug #67052 (NumberFormatter::parse() resets LC_NUMERIC setting). - (Stas) - -- OPCache: - . Fixed bug #67215 (php-cgi work with opcache, may be segmentation fault - happen) (Dmitry, Laruence) - -- pgsql: - . Fixed bug #67550 (Error in code "form" instead of "from", pgsql.c, line 756), - which affected builds against libpq < 7.3. (Adam) - -- Phar: - . Fixed bug #67587 (Redirection loop on nginx with FPM). (Christian Weiske) - -- SPL: - . Fixed bug #67539 (ArrayIterator use-after-free due to object change during - sorting). (CVE-2014-4698) (research at insighti dot org, Laruence) - . Fixed bug #67538 (SPL Iterators use-after-free). (CVE-2014-4670) (Laruence) - -- Streams: - . Fixed bug #67430 (http:// wrapper doesn't follow 308 redirects). (Adam) - -- Session: - . Fixed bug #66827 (Session raises E_NOTICE when session name variable is array). - (Yasuo) - -27 Jun 2014, PHP 5.5.14 - -- Core: - . Fixed BC break introduced by patch for bug #67072. (Anatol, Stas) - . Fixed bug #66622 (Closures do not correctly capture the late bound class - (static::) in some cases). (Levi Morrison) - . Fixed bug #67390 (insecure temporary file use in the configure script). - (Remi) (CVE-2014-3981) - . Fixed bug #67399 (putenv with empty variable may lead to crash). (Stas) - -- CLI server: - . Fixed Bug #67406 (built-in web-server segfaults on startup). (Remi) - -- Date: - . Fixed bug #67308 (Serialize of DateTime truncates fractions of second). - (Adam) - . Fixed regression in fix for bug #67118 (constructor can't be called twice). - (Remi) - -- Fileinfo: - . Fixed bug #67326 (fileinfo: cdf_read_short_sector insufficient boundary check). - . Fixed bug #67410 (fileinfo: mconvert incorrect handling of truncated pascal - string size). (Francisco Alonso, Jan Kaluza, Remi) - . Fixed bug #67411 (fileinfo: cdf_check_stream_offset insufficient boundary - check). (Francisco Alonso, Jan Kaluza, Remi) - . Fixed bug #67412 (fileinfo: cdf_count_chain insufficient boundary check). - (Francisco Alonso, Jan Kaluza, Remi) - . Fixed bug #67413 (fileinfo: cdf_read_property_info insufficient boundary - check). (Francisco Alonso, Jan Kaluza, Remi) - -- Network: - . Fixed bug #67432 (Fix potential segfault in dns_get_record()). - (CVE-2014-4049). (Sara) - -- OPCache: - . Fixed issue #183 (TMP_VAR is not only used once). (Dmitry, Laruence) - -- OpenSSL: - . Fixed bug #65698 (certificates validity parsing does not work past 2050). - (Paul Oehler) - . Fixed bug #66636 (openssl_x509_parse warning with V_ASN1_GENERALIZEDTIME). - (Paul Oehler) - -- PDO-ODBC: - . Fixed bug #50444 (PDO-ODBC changes for 64-bit). - -- SOAP: - . Implemented FR #49898 (Add SoapClient::__getCookies()). (Boro Sitnikovski) - -- SPL: - . Fixed bug #66127 (Segmentation fault with ArrayObject unset). (Stas) - . Fixed bug #67359 (Segfault in recursiveDirectoryIterator). (Laruence) - . Fixed bug #67360 (Missing element after ArrayObject::getIterator). (Adam) - . Fixed bug #67492 (unserialize() SPL ArrayObject / SPLObjectStorage Type - Confusion). (CVE-2014-3515) (Stefan Esser) - -29 May 2014, PHP 5.5.13 - -- CLI server: - . Fixed bug #67079 (Missing MIME types for XML/XSL files). (Anatol) - -- COM: - . Fixed bug #66431 (Special Character via COM Interface (CP_UTF8)). (Anatol) - -- Core: - . Fixed bug #65701 (copy() doesn't work when destination filename is created - by tempnam()). (Boro Sitnikovski) - . Fixed bug #67072 (Echoing unserialized "SplFileObject" crash). (Anatol) - . Fixed bug #67245 (usage of memcpy() with overlapping src and dst in - zend_exceptions.c). (Bob) - . Fixed bug #67247 (spl_fixedarray_resize integer overflow). (Stas) - . Fixed bug #67249 (printf out-of-bounds read). (Stas) - . Fixed bug #67250 (iptcparse out-of-bounds read). (Stas) - . Fixed bug #67252 (convert_uudecode out-of-bounds read). (Stas) - -- Curl: - . Fixed bug #64247 (CURLOPT_INFILE doesn't allow reset). (Mike) - -- Date: - . Fixed bug #67118 (DateTime constructor crash with invalid data). (Anatol) - . Fixed bug #67251 (date_parse_from_format out-of-bounds read). (Stas) - . Fixed bug #67253 (timelib_meridian_with_check out-of-bounds read). (Stas) - -- DOM: - . Fixed bug #67081 (DOMDocumentType->internalSubset returns entire DOCTYPE tag, - not only the subset). (Anatol) - -- Fileinfo: - . Fixed bug #66307 (Fileinfo crashes with powerpoint files). (Anatol) - . Fixed bug #67327 (fileinfo: CDF infinite loop in nelements DoS) (CVE-2014-0238). - . Fixed bug #67328 (fileinfo: fileinfo: numerous file_printf calls resulting in - performance degradation) (CVE-2014-0237). - -- FPM: - . Fixed bug #66908 (php-fpm reload leaks epoll_create() file descriptor). - (Julio Pintos) - -- GD: - . Fixed bug #67248 (imageaffinematrixget missing check of parameters). (Stas) - -- PCRE: - . Fixed bug #67238 (Ungreedy and min/max quantifier bug, applied patch - from the upstream). (Anatol) - -- Phar: - . Fix bug #64498 ($phar->buildFromDirectory can't compress file with an accent - in its name). (PR #588) - -30 Apr 2014, PHP 5.5.12 -- Core: - . Fixed bug #61019 (Out of memory on command stream_get_contents). (Mike) - . Fixed bug #64330 (stream_socket_server() creates wrong Abstract Namespace - UNIX sockets). (Mike) - . Fixed bug #66182 (exit in stream filter produces segfault). (Mike) - . Fixed bug #66736 (fpassthru broken). (Mike) - . Fixed bug #67024 (getimagesize should recognize BMP files with negative - height). (Gabor Buella) - . Fixed bug #67043 (substr_compare broke by previous change) (Tjerk) - . Fixed bug #67033 (Remove reference to Windows 95). (Anatol) - -- cURL: - . Fixed bug #66562 (curl_exec returns differently than curl_multi_getcontent). - (Freek Lijten) - -- Date: - . Fixed bug #66721 (__wakeup of DateTime segfaults when invalid object data is - supplied). (Boro Sitnikovski) - -- Embed: - . Fixed bug #65715 (php5embed.lib isn't provided anymore). (Anatol). - -- Fileinfo: - . Fixed bug #66987 (Memory corruption in fileinfo ext / bigendian). - (Remi) - -- FPM: - . Fixed bug #66482 (unknown entry 'priority' in php-fpm.conf). - . Fixed bug #67060 (sapi/fpm: possible privilege escalation due to insecure - default configuration) (CVE-2014-0185). (Stas) - -- JSON: - . Fixed bug #66021 (Blank line inside empty array/object when - JSON_PRETTY_PRINT is set). (Kevin Israel) - -- LDAP: - . Fixed issue with null bytes in LDAP bindings. (Matthew Daley) - -- mysqli: - . Fixed problem in mysqli_commit()/mysqli_rollback() with second parameter - (extra comma) and third parameters (lack of escaping). (Andrey) - -- OpenSSL: - . Fix bug #66942 (memory leak in openssl_seal()). (Chuan Ma) - . Fix bug #66952 (memory leak in openssl_open()). (Chuan Ma) - -- SimpleXML: - . Fixed bug #66084 (simplexml_load_string() mangles empty node name) - (Anatol) - -- SQLite: - . Fixed bug #66967 (Updated bundled libsqlite to 3.8.4.3). (Anatol) - -- XSL: - . Fixed bug #53965 ( cannot find files with relative paths - when loaded with "file://"). (Anatol) - -- Apache2 Handler SAPI: - . Fixed Apache log issue caused by APR's lack of support for %zu - (APR issue https://issues.apache.org/bugzilla/show_bug.cgi?id=56120). - (Jeff Trawick) - -03 Apr 2014, PHP 5.5.11 - -- Core: - . Allow zero length comparison in substr_compare() (Tjerk) - . Fixed bug #60602 (proc_open() changes environment array) (Tjerk) - -- SPL: - . Added feature #65545 (SplFileObject::fread()) (Tjerk) - . Fixed bug #66702 (RegexIterator::INVERT_MATCH does not invert). (Joshua - Thijssen) - -- cURL: - . Fixed bug #66109 (Can't reset CURLOPT_CUSTOMREQUEST to default behaviour) (Tjerk) - . Fix compilation on libcurl versions between 7.10.5 and 7.12.2, inclusive. - (Adam) - -- Fileinfo: - . Fixed bug #66946i (fileinfo: extensive backtracking in awk rule regular - expression). (CVE-2013-7345) (Remi) - -- FPM: - . Added clear_env configuration directive to disable clearenv() call. - (Github PR# 598, Paul Annesley) - -- GD: - . Fixed bug #66714 (imageconvolution breakage). (Brad Daily) - . Fixed bug #66869 (Invalid 2nd argument crashes imageaffinematrixget) (Pierre) - . Fixed bug #66887 (imagescale - poor quality of scaled image). (Remi) - . Fixed bug #66890 (imagescale segfault). (Remi) - . Fixed bug #66893 (imagescale ignore method argument). (Remi) - -- Hash: - . hash_pbkdf2() now works correctly if the $length argument is not specified. - (Nikita) - -- Intl: - . Fixed bug #66873 (A reproductible crash in UConverter when given invalid - encoding) (Stas) - -- Mail: - . Fixed bug #66535 (Don't add newline after X-PHP-Originating-Script) (Tjerk) - -- MySQLi: - . Fixed bug #66762 (Segfault in mysqli_stmt::bind_result() when link closed) - (Remi) - -- OPCache - . Added function opcache_is_script_cached(). (Danack) - . Added information about interned strings usage. (Terry, Julien, Dmitry) - -- Openssl: - . Fixed bug #66833 (Default disgest algo is still MD5, switch to SHA1). (Remi) - -- GMP - . Fixed bug #66872 (invalid argument crashes gmp_testbit) (Pierre) - -- SQLite: - . Updated bundled libsqlite to 3.8.3.1 (Anatol) - -06 Mar 2014, PHP 5.5.10 - -- Core: - . Fixed Request #66574i (Allow multiple paths in php_ini_scanned_path). (Remi) - -- Date: - . Fixed bug #45528 (Allow the DateTimeZone constructor to accept timezones - per offset too). (Derick) - -- Fileinfo: - . Bug #66731 (file: infinite recursion) (CVE-2014-1943). (Remi) - . Fixed bug #66820 (out-of-bounds memory access in fileinfo) - (CVE-2014-2270). (Remi) - -- GD - . Fixed Bug #66815 (imagecrop(): insufficient fix for NULL defer - CVE-2013-7327). (Tomas Hoger, Remi) - -- JSON: - . Fixed bug #65753 (JsonSerializeable couldn't implement on module extension) - (chobieeee@php.net) - -- LDAP: - . Implemented ldap_modify_batch (https://wiki.php.net/rfc/ldap_modify_batch). - (Ondřej Hošek) - -- Openssl: - . Fixed bug #66501 (Add EC key support to php_openssl_is_private_key). - (Mark Zedwood) - -- PCRE: - . Upgraded to PCRE 8.34. (Anatol) - -- Pgsql: - . Added warning for dangerous client encoding and remove possible injections - for pg_insert()/pg_update()/pg_delete()/pg_select(). (Yasuo) - - -06 Feb 2014, PHP 5.5.9 - -- Core: - . Fixed bug #66509 (copy() arginfo has changed starting from 5.4). (willfitch) - -- GD: - . Fixed bug #66356 (Heap Overflow Vulnerability in imagecrop()). - (Laruence, Remi) - -- OPCache: - . Fixed bug #66474 (Optimizer bug in constant string to boolean conversion). - (Dmitry) - . Fixed bug #66461 (PHP crashes if opcache.interned_strings_buffer=0). - (Dmitry) - . Fixed bug #66298 (ext/opcache/Optimizer/zend_optimizer.c has dos-style - ^M as lineend). (Laruence) - -- PDO_pgsql: - . Fixed bug #62479 (PDO-psql cannot connect if password contains -spaces) (willfitch, iliaa) - -- Readline - . Fixed Bug #66412 (readline_clear_history() with libedit causes segfault after - #65714). (Remi) - -- Session - . Fixed bug #66469 (Session module is sending multiple set-cookie headers when - session.use_strict_mode=1) (Yasuo) - . Fixed bug #66481 (Segfaults on session_name()). - (cmcdermottroe at engineyard dot com, Yasuo) - -- Standard - . Fixed bug #66395 (basename function doesn't remove drive letter). (Anatol) - -- Sockets: - . Fixed bug #66381 (__ss_family was changed on AIX 5.3). (Felipe) - -- Zend Engine - . Fixed bug #66009 (Failed compilation of PHP extension with C++ std - library using VS 2012). (Anatol) - -09 Jan 2014, PHP 5.5.8 - -- Core: - . Disallowed JMP into a finally block. (Laruence) - . Added validation of class names in the autoload process. (Dmitry) - . Fixed invalid C code in zend_strtod.c. (Lior Kaplan) - . Fixed ZEND_MM_MEM_TYPE=mmap_zero. (Dmitry, Tony) - . Fixed bug #66041 (list() fails to unpack yielded ArrayAccess object). - (Nikita) - . Fixed bug #65764 (generators/throw_rethrow FAIL with - ZEND_COMPILE_EXTENDED_INFO). (Nikita) - . Fixed bug #61645 (fopen and O_NONBLOCK). (Mike) - . Fixed bug #66218 (zend_register_functions breaks reflection). (Remi) - -- Date: - . Fixed bug #66060 (Heap buffer over-read in DateInterval) (CVE-2013-6712). - (Remi) - . Fixed bug #65768 (DateTimeImmutable::diff does not work). (Nikita Nefedov) - -- DOM: - . Fixed bug #65196 (Passing DOMDocumentFragment to DOMDocument::saveHTML() - Produces invalid Markup). (Mike) - -- Exif: - . Fixed bug #65873 (Integer overflow in exif_read_data()). (Stas) - -- Filter: - . Fixed bug #66229 (128.0.0.0/16 isn't reserved any longer). (Adam) - -- GD: - . Fixed bug #64405 (Use freetype-config for determining freetype2 dir(s)). - (Adam) - -- PDO_odbc: - . Fixed bug #66311 (Stack smashing protection kills PDO/ODBC queries). - (michael at orlitzky dot com) - -- MySQLi: - . Fixed bug #65486 (mysqli_poll() is broken on win x64). (Anatol) - -- OPCache: - . Fixed revalidate_path=1 behavior to avoid caching of symlinks values. - (Dmitry) - . Fixed Issue #140: "opcache.enable_file_override" doesn't respect - "opcache.revalidate_freq". (Dmitry). - -- SNMP: - . Fixed SNMP_ERR_TOOBIG handling for bulk walk operations. (Boris Lytochkin) - -- SOAP - . Fixed bug #66112 (Use after free condition in SOAP extension). - (martin dot koegler at brz dot gv dot at) - -- Sockets: - . Fixed bug #65923 (ext/socket assumes AI_V4MAPPED is defined). (Felipe) - -- XSL - . Fixed bug #49634 (Segfault throwing an exception in a XSL registered - function). (Mike) - -- ZIP: - . Fixed Bug #66321 (ZipArchive::open() ze_obj->filename_len not real). (Remi) - -12 Dec 2013, PHP 5.5.7 - -- CLI server: - . Added some MIME types to the CLI web server (Chris Jones) - . Implemented FR #65917 (getallheaders() is not supported by the built-in web - server) - also implements apache_response_headers() (Andrea Faulds) - -- Core: - . Fixed bug #66094 (unregister_tick_function tries to cast a Closure to a - string). (Laruence) - . Fixed bug #65969 (Chain assignment with T_LIST failure). (Dmitry) - -- OPCache - . Fixed bug #66176 (Invalid constant substitution). (Dmitry) - . Fixed bug #65915 (Inconsistent results with require return value). (Dmitry) - . Fixed bug #65559 (Opcache: cache not cleared if changes occur while - running). (Dmitry) - -- readline - . Fixed Bug #65714 (PHP cli forces the tty to cooked mode). (Remi) - -- Openssl: - . Fixed memory corruption in openssl_x509_parse() (CVE-2013-6420). - (Stefan Esser). - -14 Nov 2013, PHP 5.5.6 - -- Core: - . Fixed bug #65947 (basename is no more working after fgetcsv in certain - situation). (Laruence) - . Improved performance of array_merge() and func_get_args() by eliminating - useless copying. (Dmitry) - . Fixed bug #65939 (Space before ";" breaks php.ini parsing). - (brainstorm at nopcode dot org) - . Fixed bug #65911 (scope resolution operator - strange behavior with $this). - (Bob Weinand) - . Fixed bug #65936 (dangling context pointer causes crash). (Tony) - -- FPM: - . Changed default listen() backlog to 65535. (Tony) - -- JSON - . Fixed whitespace part of bug #64874 ("json_decode handles whitespace and - case-sensitivity incorrectly"). (Andrea Faulds) - -- MySQLi: - . Fixed bug #66043 (Segfault calling bind_param() on mysqli). (Laruence) - -- OPcache - . Increased limit for opcache.max_accelerated_files to 1,000,000. (Chris) - . Fixed issue #115 (path issue when using phar). (Dmitry) - . Fixed issue #149 (Phar mount points not working with OPcache enabled). - (Dmitry) - -- ODBC - . Fixed bug #65950 (Field name truncation if the field name is bigger than - 32 characters). (patch submitted by: michael dot y at zend dot com, Yasuo) - -- PDO: - . Fixed bug #66033 (Segmentation Fault when constructor of PDO statement - throws an exception). (Laruence) - . Fixed bug 65946 (sql_parser permanently converts values bound to strings) - -- Standard: - . Fixed bug #64760 (var_export() does not use full precision for floating-point - numbers) (Yasuo) - - -17 Oct 2013, PHP 5.5.5 - -- Core: - . Fixed bug #64979 (Wrong behavior of static variables in closure generators). - (Nikita) - . Fixed bug #65322 (compile time errors won't trigger auto loading). (Nikita) - . Fixed bug #65821 (By-ref foreach on property access of string offset - segfaults). (Nikita) - -- CLI server: - . Fixed bug #65633 (built-in server treat some http headers as - case-sensitive). (Adam) - . Fixed bug #65818 (Segfault with built-in webserver and chunked transfer - encoding). (Felipe) - . Added application/pdf to PHP CLI Web Server mime types (Chris Jones) - -- Datetime: - . Fixed bug #64157 (DateTime::createFromFormat() reports confusing error - message). (Boro Sitnikovski) - . Fixed bug #65502 (DateTimeImmutable::createFromFormat returns DateTime). - (Boro Sitnikovski) - . Fixed bug #65548 (Comparison for DateTimeImmutable doesn't work). - (Boro Sitnikovski) - -- DBA extension: - . Fixed bug #65708 (dba functions cast $key param to string in-place, - bypassing copy on write). (Adam) - -- Filter: - . Add RFC 6598 IPs to reserved addresses. (Sebastian Nohn) - . Fixed bug #64441 (FILTER_VALIDATE_URL rejects fully qualified domain names). - (Syra) - -- FTP: - . Fixed bug #65667 (ftp_nb_continue produces segfault). (Philip Hofstetter) - -- GD - . Ensure that the defined interpolation method is used with the generic - scaling methods. (Pierre) - -- IMAP: - . Fixed bug #65721 (configure script broken in 5.5.4 and 5.4.20 when enabling - imap). (ryotakatsuki at gmail dot com) - -- OPcache: - . Added support for GNU Hurd. (Svante Signell) - . Added function opcache_compile_file() to load PHP scripts into cache - without execution. (Julien) - . Fixed bug #65845 (Error when Zend Opcache Optimizer is fully enabled). - (Dmitry) - . Fixed bug #65665 (Exception not properly caught when opcache enabled). - (Laruence) - . Fixed bug #65510 (5.5.2 crashes in _get_zval_ptr_ptr_var). (Dmitry) - . Fixed issue #135 (segfault in interned strings if initial memory is too - low). (Julien) - -- Sockets: - . Fixed bug #65808 (the socket_connect() won't work with IPv6 address). - (Mike) - -- SPL: - . Fix bug #64782 (SplFileObject constructor make $context optional / give it - a default value). (Nikita) - -- Standard: - . Fixed bug #61548 (content-type must appear at the end of headers for 201 - Location to work in http). (Mike) - -- XMLReader: - . Fixed bug #51936 (Crash with clone XMLReader). (Mike) - . Fixed bug #64230 (XMLReader does not suppress errors). (Mike) - -- Build system: - . Fixed bug #51076 (race condition in shtool's mkdir -p implementation). - (Mike, Raphael Geissert) - . Fixed bug #62396 ('make test' crashes starting with 5.3.14 (missing - gzencode())). (Mike) - - -19 Sep 2013, PHP 5.5.4 - -- Core: - . Fixed bug #60598 (cli/apache sapi segfault on objects manipulation). - (Laruence) - . Improved fputcsv() to allow specifying escape character. - . Fixed bug #65490 (Duplicate calls to get lineno & filename for - DTRACE_FUNCTION_*). (Chris Jones) - . Fixed bug #65483 (quoted-printable encode stream filter incorrectly encoding - spaces). (Michael M Slusarz) - . Fixed bug #65481 (shutdown segfault due to serialize) (Mike) - . Fixed bug #65470 (Segmentation fault in zend_error() with - --enable-dtrace). (Chris Jones, Kris Van Hees) - . Fixed bug #65225 (PHP_BINARY incorrectly set). (Patrick Allaert) - . Fixed bug #62692 (PHP fails to build with DTrace). (Chris Jones, Kris Van Hees) - . Fixed bug #61759 (class_alias() should accept classes with leading - backslashes). (Julien) - . Fixed bug #46311 (Pointer aliasing issue results in miscompile on gcc4.4). - (Nikita Popov) - -- cURL: - . Fixed bug #65458 (curl memory leak). (Adam) - -- Datetime: - . Fixed bug #65554 (createFromFormat broken when weekday name is followed - by some delimiters). (Valentin Logvinskiy, Stas). - . Fixed bug #65564 (stack-buffer-overflow in DateTimeZone stuff caught - by AddressSanitizer). (Remi). - -- OPCache: - . Fixed bug #65561 (Zend Opcache on Solaris 11 x86 needs ZEND_MM_ALIGNMENT=4). - (Terry Ellison) - -- Openssl: - . Fixed bug #64802 (openssl_x509_parse fails to parse subject properly in - some cases). (Mark Jones) - -- PDO: - . Fixed bug #64953 (Postgres prepared statement positional parameter - casting). (Mike) - -- Session: - . Fixed bug #65475 (Session ID is not initialized properly when strict session - is enabled). (Yasuo) - . Fixed bug #51127/#65359 Request #25630/#43980/#54383 (Added php_serialize - session serialize handler that uses plain serialize()). (Yasuo) - -- Standard: - . Fix issue with return types of password API helper functions. Found via - static analysis by cjones. (Anthony Ferrara) - -- Zlib: - . Fixed bug #65391 (Unable to send vary header user-agent when - ob_start('ob_gzhandler') is called) (Mike) - -22 Aug 2013, PHP 5.5.3 - -- Openssl: - . Fixed UMR in fix for CVE-2013-4248. - -15 Aug 2013, PHP 5.5.2 - -- Core: - . Fixed bug #65372 (Segfault in gc_zval_possible_root when return reference - fails). (Laruence) - . Fixed value of FILTER_SANITIZE_FULL_SPECIAL_CHARS constant (previously was - erroneously set to FILTER_SANITIZE_SPECIAL_CHARS value). (Andrey - avp200681 gmail com). - . Fixed bug #65304 (Use of max int in array_sum). (Laruence) - . Fixed bug #65291 (get_defined_constants() causes PHP to crash in a very - limited case). (Arpad) - . Fixed bug #62691 (solaris sed has no -i switch). (Chris Jones) - . Fixed bug #61345 (CGI mode - make install don't work). (Michael Heimpold) - . Fixed bug #61268 (--enable-dtrace leads make to clobber - Zend/zend_dtrace.d) (Chris Jones) - -- DOM: - . Added flags option to DOMDocument::schemaValidate() and - DOMDocument::schemaValidateSource(). Added LIBXML_SCHEMA_CREATE flag. - (Chris Wright) - -- OPcache: - . Added opcache.restrict_api configuration directive that may limit - usage of OPcache API functions only to particular script(s). (Dmitry) - . Added support for glob symbols in blacklist entries (?, *, **). - (Terry Elison, Dmitry) - . Fixed bug #65338 (Enabling both php_opcache and php_wincache AVs on - shutdown). (Dmitry) - -- Openssl: - . Fixed handling null bytes in subjectAltName (CVE-2013-4248). - (Christian Heimes) - -- PDO_mysql: - . Fixed bug #65299 (pdo mysql parsing errors). (Johannes) - -- Pgsql: - . Fixed bug #62978 (Disallow possible SQL injections with pg_select()/pg_update() - /pg_delete()/pg_insert()). (Yasuo) - -- Phar: - . Fixed bug #65028 (Phar::buildFromDirectory creates corrupt archives for - some specific contents). (Stas) - -- Sessions: - . Implemented strict sessions RFC (https://wiki.php.net/rfc/strict_sessions) - which protects against session fixation attacks and session collisions. - (CVE-2011-4718). (Yasuo Ohgaki) - . Fixed possible buffer overflow under Windows. Note: Not a security fix. - (Yasuo) - . Changed session.auto_start to PHP_INI_PERDIR. (Yasuo) - -- SOAP: - . Fixed bug #65018 (SoapHeader problems with SoapServer). (Dmitry) - -- SPL: - . Fixed bug #65328 (Segfault when getting SplStack object Value). (Laruence) - . Added RecursiveTreeIterator setPostfix and getPostifx methods. (Joshua - Thijssen) - . Fixed bug #61697 (spl_autoload_functions returns lambda functions - incorrectly). (Laruence) - -- Streams: - . Fixed bug #65268 (select() implementation uses outdated tick API). (Anatol) - -- Pgsql: - . Fixed bug #65336 (pg_escape_literal/identifier() scilently returns false). - (Yasuo) - -18 Jul 2013, PHP 5.5.1 - -- Core: - . Fixed bug #65254 (Exception not catchable when exception thrown in autoload - with a namespace). (Laruence) - . Fixed bug #65088 (Generated configure script is malformed on OpenBSD). - (Adam) - . Fixed bug #65108 (is_callable() triggers Fatal Error). - (David Soria Parra, Laruence) - . Fixed bug #65035 (yield / exit segfault). (Nikita) - . Fixed bug #65161 (Generator + autoload + syntax error = segfault). (Nikita) - . hex2bin() raises E_WARNING for invalid hex string. (Yasuo) - . Fixed bug #65226 (chroot() does not get enabled). (Anatol) - -- OPcache - . Fixed bug #64827 (Segfault in zval_mark_grey (zend_gc.c)). (Laruence) - . OPcache must be compatible with LiteSpeed SAPI (Dmitry) - -- CGI: - . Fixed Bug #65143 (Missing php-cgi man page). (Remi) - -- CLI server: - . Fixed bug #65066 (Cli server not responsive when responding with 422 http - status code). (Adam) - -- DateTime - . Fixed fug #65184 (strftime() returns insufficient-length string under - multibyte locales). (Anatol) - -- GD - . Fixed #65070 (bgcolor does not use the same format as the input image with - imagerotate). (Pierre) - . Fixed Bug #65060 (imagecreatefrom... crashes with user streams). (Remi) - . Fixed Bug #65084 (imagecreatefromjpeg fails with URL). (Remi) - . Fix gdImageCreateFromWebpCtx and use same logic to load WebP image - that other formats. (Remi) - -- Intl: - . Add IntlCalendar::setMinimalDaysInFirstWeek()/ - intlcal_set_minimal_days_in_first_week(). - . Fixed trailing space in name of constant IntlCalendar::FIELD_FIELD_COUNT. - . Fixed bug #62759 (Buggy grapheme_substr() on edge case). (Stas) - . Fixed bug #61860 (Offsets may be wrong for grapheme_stri* functions). - (Stas) - -- OCI8: - . Bump PECL package info version check to allow PECL installs with PHP 5.5+ - -- PDO: - . Allowed PDO_OCI to compile with Oracle Database 12c client libraries. - (Chris Jones) - -- Pgsql - . pg_unescape_bytea() raises E_WARNING for invalid inputs. (Yasuo) - -- Phar: - . Fixed Bug #65142 (Missing phar man page). (Remi) - -- Session: - . Added optional create_sid() argument to session_set_save_handler(), - SessionHandler and new SessionIdInterface. (Leigh, Arpad) - -- Sockets: - . Implemented FR #63472 (Setting SO_BINDTODEVICE with socket_set_option). - (Damjan Cvetko) - . Allowed specifying paths in the abstract namespace for the functions - socket_bind(), socket_connect() and socket_sendmsg(). (Gustavo) - . Fixed bug #65260 (sendmsg() ancillary data construction for SCM_RIGHTS is - faulty). (Gustavo) - -- SPL: - . Fixed bug #65136 (RecursiveDirectoryIterator segfault). (Laruence) - . Fixed bug #61828 (Memleak when calling Directory(Recursive)Iterator - /Spl(Temp)FileObject ctor twice). (Laruence) - -- CGI/FastCGI SAPI: - . Added PHP_FCGI_BACKLOG, overrides the default listen backlog. (Arnaud Le - Blanc) - -20 Jun 2013, PHP 5.5.0 - -- Core: - . Added Zend Opcache extension and enable building it by default. - More details here: https://wiki.php.net/rfc/optimizerplus. (Dmitry) - . Added generators and coroutines (https://wiki.php.net/rfc/generators). - (Nikita Popov) - . Added "finally" keyword (https://wiki.php.net/rfc/finally). (Laruence) - . Added simplified password hashing API - (https://wiki.php.net/rfc/password_hash). (Anthony Ferrara) - . Added support for constant array/string dereferencing. (Laruence) - . Added array_column function which returns a column in a multidimensional - array. https://wiki.php.net/rfc/array_column. (Ben Ramsey) - . Added boolval(). (Jille Timmermans) - . Added "Z" option to pack/unpack. (Gustavo) - . Added Generator::throw() method. (Nikita Popov) - . Added Class Name Resolution As Scalar Via "class" Keyword. - (Ralph Schindler, Nikita Popov, Lars) - . Added optional second argument for assert() to specify custom message. Patch - by Lonny Kapelushnik (lonny@lonnylot.com). (Lars) - . Added support for using empty() on the result of function calls and - other expressions (https://wiki.php.net/rfc/empty_isset_exprs). - (Nikita Popov) - . Added support for non-scalar Iterator keys in foreach - (https://wiki.php.net/rfc/foreach-non-scalar-keys). (Nikita Popov) - . Added support for list in foreach (https://wiki.php.net/rfc/foreachlist). - (Laruence) - . Added support for changing the process's title in CLI/CLI-Server SAPIs. - The implementation is more robust that the proctitle PECL module. More - details here: https://wiki.php.net/rfc/cli_process_title. (Keyur) - . Added ARMv7/v8 versions of various Zend arithmetic functions that are - implemented using inline assembler (Ard Biesheuvel) - . Added systemtap support by enabling systemtap compatible dtrace probes on - linux. (David Soria Parra) - . Optimized access to temporary and compiled VM variables. 8% less memory - reads. (Dmitry) - . The VM stacks for passing function arguments and syntaticaly nested calls - were merged into a single stack. The stack size needed for op_array - execution is calculated at compile time and preallocated at once. As result - all the stack push operatins don't require checks for stack overflow - any more. (Dmitry) - . Improve set_exception_handler while doing reset. (Laruence) - . Return previous handler when passing NULL to set_error_handler and - set_exception_handler. (Nikita Popov) - . Remove php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(), - zend_logo_guid(). (Adnrew Faulds) - . Drop Windows XP and 2003 support. (Pierre) - . Implemented FR #64175 (Added HTTP codes as of RFC 6585). (Jonh Wendell) - . Implemented FR #60738 (Allow 'set_error_handler' to handle NULL). - (Laruence, Nikita Popov) - . Implemented FR #60524 (specify temp dir by php.ini). (ALeX Kazik). - . Implemented FR #46487 (Dereferencing process-handles no longer waits on - those processes). (Jille Timmermans) - . Fixed bug #65051 (count() off by one inside unset()). (Nikita) - . Fixed bug #64988 (Class loading order affects E_STRICT warning). (Laruence) - . Fixed bug #64966 (segfault in zend_do_fcall_common_helper_SPEC). (Laruence) - . Fixed bug #64960 (Segfault in gc_zval_possible_root). (Laruence) - . Fixed bug #64936 (doc comments picked up from previous scanner run). (Stas, - Jonathan Oddy) - . Fixed bug #64934 (Apache2 TS crash with get_browser()). (Anatol) - . Fixed bug #64879 (Heap based buffer overflow in quoted_printable_encode, - CVE 2013-2110). (Stas) - . Fixed bug #64853 (Use of no longer available ini directives causes crash - on TS build). (Anatol) - . Fixed bug #64821 (Custom Exceptions crash when internal properties overridden). - (Anatol) - . Fixed bug #64720 (SegFault on zend_deactivate). (Dmitry) - . Fixed bug #64677 (execution operator `` stealing surrounding arguments). - . Fixed bug #64660 (Segfault on memory exhaustion within function definition). - (Stas, reported by Juha Kylmänen) - . Fixed bug #64578 (debug_backtrace in set_error_handler corrupts zend heap: - segfault). (Laruence) - . Fixed bug #64565 (copy doesn't report failure on partial copy). (Remi) - . Fixed bug #64555 (foreach no longer copies keys if they are interned). - (Nikita Popov) - . Fixed bugs #47675 and #64577 (fd leak on Solaris) - . Fixed bug #64544 (Valgrind warnings after using putenv). (Laruence) - . Fixed bug #64515 (Memoryleak when using the same variablename 2times in - function declaration). (Laruence) - . Fixed bug #64503 (Compilation fails with error: conflicting types for - 'zendparse'). (Laruence) - . Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11). - (Dmitry, Laruence) - . Fixed bug #64523, allow XOR in php.ini. (Dejan Marjanovic, Lars) - . Fixed bug #64354 (Unserialize array of objects whose class can't - be autoloaded fail). (Laruence) - . Fixed bug #64370 (microtime(true) less than $_SERVER['REQUEST_TIME_FLOAT']). - (Anatol) - . Fixed bug #64166 (quoted-printable-encode stream filter incorrectly - discarding whitespace). (Michael M Slusarz) - (Laruence) - . Fixed bug #64142 (dval to lval different behavior on ppc64). (Remi) - . Fixed bug #64135 (Exceptions from set_error_handler are not always - propagated). (Laruence) - . Fixed bug #63980 (object members get trimmed by zero bytes). (Laruence) - . Fixed bug #63874 (Segfault if php_strip_whitespace has heredoc). (Pierrick) - . Fixed bug #63830 (Segfault on undefined function call in nested generator). - (Nikita Popov) - . Fixed bug #63822 (Crash when using closures with ArrayAccess). - (Nikita Popov) - . Fixed bug #61681 (Malformed grammar). (Nikita Popov, Etienne, Laruence) - . Fixed bug #61038 (unpack("a5", "str\0\0") does not work as expected). - (srgoogleguy, Gustavo) - . Fixed bug #61025 (__invoke() visibility not honored). (Laruence) - . Fixed bug #60833 (self, parent, static behave inconsistently - case-sensitive). (Stas, mario at include-once dot org) - . Fixed Bug #52126: timestamp for mail.log (Martin Jansen, Lars) - . Fixed bug #49348 (Uninitialized ++$foo->bar; does not cause a notice). - (Stas) - . Fixed Bug #23955: allow specifying Max-Age attribute in setcookie() (narfbg, Lars) - . Fixed bug #18556 (Engine uses locale rules to handle class names). (Stas) - . Fix undefined behavior when converting double variables to integers. - The double is now always rounded towards zero, the remainder of its division - by 2^32 or 2^64 (depending on sizeof(long)) is calculated and it's made - signed assuming a two's complement representation. (Gustavo) - . Drop support for bison < 2.4 when building PHP from GIT source. - (Laruence) - -- Apache2 Handler SAPI: - . Enabled Apache 2.4 configure option for Windows (Pierre, Anatoliy) - -- Calendar: - . Fixed bug #64895 (Integer overflow in SndToJewish). (Remi) - . Fixed bug #54254 (cal_from_jd returns month = 6 when there is only one Adar) - (Stas, Eitan Mosenkis) - -- CLI server: - . Fixed bug #64128 (buit-in web server is broken on ppc64). (Remi) - -- CURL: - . Remove curl stream wrappers. (Pierrick) - . Implemented FR #46439 - added CURLFile for safer file uploads. - (Stas) - . Added support for CURLOPT_FTP_RESPONSE_TIMEOUT, CURLOPT_APPEND, - CURLOPT_DIRLISTONLY, CURLOPT_NEW_DIRECTORY_PERMS, CURLOPT_NEW_FILE_PERMS, - CURLOPT_NETRC_FILE, CURLOPT_PREQUOTE, CURLOPT_KRBLEVEL, CURLOPT_MAXFILESIZE, - CURLOPT_FTP_ACCOUNT, CURLOPT_COOKIELIST, CURLOPT_IGNORE_CONTENT_LENGTH, - CURLOPT_CONNECT_ONLY, CURLOPT_LOCALPORT, CURLOPT_LOCALPORTRANGE, - CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_SSL_SESSIONID_CACHE, - CURLOPT_FTP_SSL_CCC, CURLOPT_HTTP_CONTENT_DECODING, - CURLOPT_HTTP_TRANSFER_DECODING, CURLOPT_PROXY_TRANSFER_MODE, - CURLOPT_ADDRESS_SCOPE, CURLOPT_CRLFILE, CURLOPT_ISSUERCERT, - CURLOPT_USERNAME, CURLOPT_PASSWORD, CURLOPT_PROXYUSERNAME, - CURLOPT_PROXYPASSWORD, CURLOPT_NOPROXY, CURLOPT_SOCKS5_GSSAPI_NEC, - CURLOPT_SOCKS5_GSSAPI_SERVICE, CURLOPT_TFTP_BLKSIZE, - CURLOPT_SSH_KNOWNHOSTS, CURLOPT_FTP_USE_PRET, CURLOPT_MAIL_FROM, - CURLOPT_MAIL_RCPT, CURLOPT_RTSP_CLIENT_CSEQ, CURLOPT_RTSP_SERVER_CSEQ, - CURLOPT_RTSP_SESSION_ID, CURLOPT_RTSP_STREAM_URI, CURLOPT_RTSP_TRANSPORT, - CURLOPT_RTSP_REQUEST, CURLOPT_RESOLVE, CURLOPT_ACCEPT_ENCODING, - CURLOPT_TRANSFER_ENCODING, CURLOPT_DNS_SERVERS and CURLOPT_USE_SSL. - (Pierrick) - . Added new functions curl_escape, curl_multi_setopt, curl_multi_strerror - curl_pause, curl_reset, curl_share_close, curl_share_init, - curl_share_setopt curl_strerror and curl_unescape. (Pierrick) - . Addes new curl options CURLOPT_TELNETOPTIONS, CURLOPT_GSSAPI_DELEGATION, - CURLOPT_ACCEPTTIMEOUT_MS, CURLOPT_SSL_OPTIONS, CURLOPT_TCP_KEEPALIVE, - CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL. (Pierrick) - . Fixed bug #55635 (CURLOPT_BINARYTRANSFER no longer used. The constant - still exists for backward compatibility but is doing nothing). (Pierrick) - . Fixed bug #54995 (Missing CURLINFO_RESPONSE_CODE support). (Pierrick) - -- DateTime - . Added DateTimeImmutable - a variant of DateTime that only returns the - modified state instead of changing itself. (Derick) - . Fixed bug #64825 (Invalid free when unserializing DateTimeZone). - (Anatol) - . Fixed bug #64359 (strftime crash with VS2012). (Anatol) - . Fixed bug #62852 (Unserialize Invalid Date causes crash). (Anatol) - . Fixed bug #61642 (modify("+5 weekdays") returns Sunday). - (Dmitri Iouchtchenko) - . Fixed bug #60774 (DateInterval::format("%a") is always zero when an - interval is created using the createFromDateString method) (Lonny - Kapelushnik, Derick) - . Fixed bug #54567 (DateTimeZone serialize/unserialize) (Lonny - Kapelushnik, Derick) - . Fixed bug #53437 (Crash when using unserialized DatePeriod instance). - (Gustavo, Derick, Anatol) - -- dba: - . Bug #62489: dba_insert not working as expected. - (marc-bennewitz at arcor dot de, Lars) - -- Filter: - . Implemented FR #49180 - added MAC address validation. (Martin) - -- Fileinfo: - . Upgraded libmagic to 5.14. (Anatol) - . Fixed bug #64830 (mimetype detection segfaults on mp3 file). (Anatol) - . Fixed bug #63590 (Different results in TS and NTS under Windows). - (Anatoliy) - . Fixed bug #63248 (Load multiple magic files from a directory under Windows). - (Anatoliy) - -- FPM: - . Add --with-fpm-systemd option to report health to systemd, and - systemd_interval option to configure this. The service can now use - Type=notify in the systemd unit file. (Remi) - . Ignore QUERY_STRING when sent in SCRIPT_FILENAME. (Remi) - . Log a warning when a syscall fails. (Remi) - . Implemented FR #64764 (add support for FPM init.d script). (Lior Kaplan) - . Fixed Bug #64915 (error_log ignored when daemonize=0). (Remi) - . Fixed bug #63999 (php with fpm fails to build on Solaris 10 or 11). (Adam) - . Fixed some possible memory or resource leaks and possible null dereference - detected by code coverity scan. (Remi) - -- GD: - . Fixed Bug #64962 (imagerotate produces corrupted image). (Remi) - . Fixed Bug #64961 (segfault in imagesetinterpolation). (Remi) - . Fix build with system libgd >= 2.1 which is now the minimal - version required (as build with previous version is broken). - No change when bundled libgd is used. (Ondrej Sury, Remi) - -- Hash: - . Added support for PBKDF2 via hash_pbkdf2(). (Anthony Ferrara) - . Fixed Bug #64745 (hash_pbkdf2() truncates data when using default length - and hex output). (Anthony Ferrara) - -- Intl: - . Added UConverter wrapper. - . The intl extension now requires ICU 4.0+. - . Added intl.use_exceptions INI directive, which controls what happens when - global errors are set together with intl.error_level. (Gustavo) - . MessageFormatter::format() and related functions now accepted named - arguments and mixed numeric/named arguments in ICU 4.8+. (Gustavo) - . MessageFormatter::format() and related functions now don't error out when - an insufficient argument count is provided. Instead, the placeholders will - remain unsubstituted. (Gustavo) - . MessageFormatter::parse() and MessageFormat::format() (and their static - equivalents) don't throw away better than second precision in the arguments. - (Gustavo) - . IntlDateFormatter::__construct and datefmt_create() now accept for the - $timezone argument time zone identifiers, IntlTimeZone objects, DateTimeZone - objects and NULL. (Gustavo) - . IntlDateFormatter::__construct and datefmt_create() no longer accept invalid - timezone identifiers or empty strings. (Gustavo) - . The default time zone used in IntlDateFormatter::__construct and - datefmt_create() (when the corresponding argument is not passed or NULL is - passed) is now the one given by date_default_timezone_get(), not the - default ICU time zone. (Gustavo) - . The time zone passed to the IntlDateFormatter is ignored if it is NULL and - if the calendar passed is an IntlCalendar object -- in this case, the - IntlCalendar's time zone will be used instead. Otherwise, the time zone - specified in the $timezone argument is used instead. This does not affect - old code, as IntlCalendar was introduced in this version. (Gustavo) - . IntlDateFormatter::__construct and datefmt_create() now accept for the - $calendar argument also IntlCalendar objects. (Gustavo) - . IntlDateFormatter::getCalendar() and datefmt_get_calendar() return false - if the IntlDateFormatter was set up with an IntlCalendar instead of the - constants IntlDateFormatter::GREGORIAN/TRADITIONAL. IntlCalendar did not - exist before this version. (Gustavo) - . IntlDateFormatter::setCalendar() and datefmt_set_calendar() now also accept - an IntlCalendar object, in which case its time zone is taken. Passing a - constant is still allowed, and still keeps the time zone. (Gustavo) - . IntlDateFormatter::setTimeZoneID() and datefmt_set_timezone_id() are - deprecated. Use IntlDateFormatter::setTimeZone() or datefmt_set_timezone() - instead. (Gustavo) - . IntlDateFormatter::format() and datefmt_format() now also accept an - IntlCalendar object for formatting. (Gustavo) - . Added the classes: IntlCalendar, IntlGregorianCalendar, IntlTimeZone, - IntlBreakIterator, IntlRuleBasedBreakIterator and - IntlCodePointBreakIterator. (Gustavo) - . Added the functions: intlcal_get_keyword_values_for_locale(), - intlcal_get_now(), intlcal_get_available_locales(), intlcal_get(), - intlcal_get_time(), intlcal_set_time(), intlcal_add(), - intlcal_set_time_zone(), intlcal_after(), intlcal_before(), intlcal_set(), - intlcal_roll(), intlcal_clear(), intlcal_field_difference(), - intlcal_get_actual_maximum(), intlcal_get_actual_minimum(), - intlcal_get_day_of_week_type(), intlcal_get_first_day_of_week(), - intlcal_get_greatest_minimum(), intlcal_get_least_maximum(), - intlcal_get_locale(), intlcal_get_maximum(), - intlcal_get_minimal_days_in_first_week(), intlcal_get_minimum(), - intlcal_get_time_zone(), intlcal_get_type(), - intlcal_get_weekend_transition(), intlcal_in_daylight_time(), - intlcal_is_equivalent_to(), intlcal_is_lenient(), intlcal_is_set(), - intlcal_is_weekend(), intlcal_set_first_day_of_week(), - intlcal_set_lenient(), intlcal_equals(), - intlcal_get_repeated_wall_time_option(), - intlcal_get_skipped_wall_time_option(), - intlcal_set_repeated_wall_time_option(), - intlcal_set_skipped_wall_time_option(), intlcal_from_date_time(), - intlcal_to_date_time(), intlcal_get_error_code(), - intlcal_get_error_message(), intlgregcal_create_instance(), - intlgregcal_set_gregorian_change(), intlgregcal_get_gregorian_change() and - intlgregcal_is_leap_year(). (Gustavo) - . Added the functions: intltz_create_time_zone(), intltz_create_default(), - intltz_get_id(), intltz_get_gmt(), intltz_get_unknown(), - intltz_create_enumeration(), intltz_count_equivalent_ids(), - intltz_create_time_zone_id_enumeration(), intltz_get_canonical_id(), - intltz_get_region(), intltz_get_tz_data_version(), - intltz_get_equivalent_id(), intltz_use_daylight_time(), intltz_get_offset(), - intltz_get_raw_offset(), intltz_has_same_rules(), intltz_get_display_name(), - intltz_get_dst_savings(), intltz_from_date_time_zone(), - intltz_to_date_time_zone(), intltz_get_error_code(), - intltz_get_error_message(). (Gustavo) - . Added the methods: IntlDateFormatter::formatObject(), - IntlDateFormatter::getCalendarObject(), IntlDateFormatter::getTimeZone(), - IntlDateFormatter::setTimeZone(). (Gustavo) - . Added the functions: datefmt_format_object(), datefmt_get_calendar_object(), - datefmt_get_timezone(), datefmt_set_timezone(), - datefmt_get_calendar_object(), intlcal_create_instance(). (Gustavo) - -- mbstring: - . Fixed bug #64769 (mbstring PHPTs crash on Windows x64). (Anatol) - -- MCrypt - . mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() and mcrypt_ofb() now throw - E_DEPRECATED. (GoogleGuy) - -- mysql - . This extension is now deprecated, and deprecation warnings will be generated - when connections are established to databases via mysql_connect(), - mysql_pconnect(), or through implicit connection: use MySQLi or PDO_MySQL - instead (https://wiki.php.net/rfc/mysql_deprecation). (Adam) - . Dropped support for LOAD DATA LOCAL INFILE handlers when using libmysql. - Known for stability problems. (Andrey) - . Added support for SHA256 authentication available with MySQL 5.6.6+. - (Andrey) - -- mysqli: - . Added mysqli_begin_transaction()/mysqli::begin_transaction(). Implemented - all options, per MySQL 5.6, which can be used with START TRANSACTION, COMMIT - and ROLLBACK through options to mysqli_commit()/mysqli_rollback() and their - respective OO counterparts. They work in libmysql and mysqlnd mode. (Andrey) - . Added mysqli_savepoint(), mysqli_release_savepoint(). (Andrey) - . Fixed bug #64726 (Segfault when calling fetch_object on a use_result and DB - pointer has closed). (Laruence) - . Fixed bug #64394 (MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS undeclared when - using Connector/C). (Andrey) - -- mysqlnd - . Add new begin_transaction() call to the connection object. Implemented all - options, per MySQL 5.6, which can be used with START TRANSACTION, COMMIT - and ROLLBACK. (Andrey) - . Added mysqlnd_savepoint(), mysqlnd_release_savepoint(). (Andrey) - . Fixed bug #63530 (mysqlnd_stmt::bind_one_parameter crashes, uses wrong alloc - for stmt->param_bind). (Andrey) - . Fixed return value of mysqli_stmt_affected_rows() in the time after - prepare() and before execute(). (Andrey) - -- PCRE: - . Merged PCRE 8.32. (Anatol) - . Deprecated the /e modifier - (https://wiki.php.net/rfc/remove_preg_replace_eval_modifier). (Nikita Popov) - . Fixed bug #63284 (Upgrade PCRE to 8.31). (Anatoliy) - -- PDO: - . Fixed bug #63176 (Segmentation fault when instantiate 2 persistent PDO to - the same db server). (Laruence) - -- PDO_DBlib: - . Fixed bug #63638 (Cannot connect to SQL Server 2008 with PDO dblib). - (Stanley Sufficool) - . Fixed bug #64338 (pdo_dblib can't connect to Azure SQL). (Stanley - Sufficool) - . Fixed bug #64808 (FreeTDS PDO getColumnMeta on a prepared but not executed - statement crashes). (Stanley Sufficool) - -- PDO_pgsql: - . Fixed Bug #64949 (Buffer overflow in _pdo_pgsql_error). (Remi) - -- PDO_mysql: - . Fixed bug #48724 (getColumnMeta() doesn't return native_type for BIT, - TINYINT and YEAR). (Antony, Daniel Beardsley) - -- pgsql: - . Added pg_escape_literal() and pg_escape_identifier() (Yasuo) - . Bug #46408: Locale number format settings can cause pg_query_params to - break with numerics. (asmecher, Lars) - -- Phar: - . Fixed timestamp update on Phar contents modification. (Dmitry) - -- Readline: - . Implement FR #55694 (Expose additional readline variable to prevent - default filename completion). (Hartmel) - -- Reflection: - . Fixed bug #64007 (There is an ability to create instance of Generator by - hand). (Laruence) - -- Sockets: - . Added recvmsg() and sendmsg() wrappers. (Gustavo) - See https://wiki.php.net/rfc/sendrecvmsg - . Fixed bug #64508 (Fails to build with --disable-ipv6). (Gustavo) - . Fixed bug #64287 (sendmsg/recvmsg shutdown handler causes segfault). - (Gustavo) - -- SPL: - . Fixed bug #64997 (Segfault while using RecursiveIteratorIterator on - 64-bits systems). (Laruence) - . Fixed bug #64264 (SPLFixedArray toArray problem). (Laruence) - . Fixed bug #64228 (RecursiveDirectoryIterator always assumes SKIP_DOTS). - (patch by kriss@krizalys.com, Laruence) - . Fixed bug #64106 (Segfault on SplFixedArray[][x] = y when extended). - (Nikita Popov) - . Fix bug #60560 (SplFixedArray un-/serialize, getSize(), count() return 0, - keys are strings). (Adam) - . Fixed bug #52861 (unset fails with ArrayObject and deep arrays). - (Mike Willbanks) - . Implement FR #48358 (Add SplDoublyLinkedList::add() to insert an element - at a given offset). (Mark Baker, David Soria Parra) - -- SNMP: - . Fixed bug #64765 (Some IPv6 addresses get interpreted wrong). - (Boris Lytochkin) - . Fixed bug #64159 (Truncated snmpget). (Boris Lytochkin) - . Fixed bug #64124 (IPv6 malformed). (Boris Lytochkin) - . Fixed bug #61981 (OO API, walk: $suffix_as_key is not working correctly). - (Boris Lytochkin) - -- SOAP: - . Added SoapClient constructor option 'ssl_method' to specify ssl method. - (Eric Iversen) - -- Streams: - . Fixed bug #64770 (stream_select() fails with pipes returned by proc_open() - on Windows x64). (Anatol) - . Fixed Windows x64 version of stream_socket_pair() and improved error - handling. (Anatol Belski) - -- Tokenizer: - . Fixed bug #60097 (token_get_all fails to lex nested heredoc). (Nikita Popov) - -- Zip: - . Upgraded libzip to 0.10.1 (Anatoliy) - . Bug #64452 (Zip crash intermittently). (Anatol) - . Fixed bug #64342 (ZipArchive::addFile() has to check for file existence). - (Anatol) - -06 Jun 2013, PHP 5.4.16 - -- Core: - . Fixed bug #64879 (Heap based buffer overflow in quoted_printable_encode, - CVE 2013-2110). (Stas) - . Fixed bug #64853 (Use of no longer available ini directives causes crash on - TS build). (Anatol) - . Fixed bug #64729 (compilation failure on x32). (Gustavo) - . Fixed bug #64720 (SegFault on zend_deactivate). (Dmitry) - . Fixed bug #64660 (Segfault on memory exhaustion within function definition). - (Stas, reported by Juha Kylmänen) - -- Calendar: - . Fixed bug #64895 (Integer overflow in SndToJewish). (Remi) - -- Fileinfo: - . Fixed bug #64830 (mimetype detection segfaults on mp3 file). (Anatol) - -- FPM: - . Ignore QUERY_STRING when sent in SCRIPT_FILENAME. (Remi) - . Fixed some possible memory or resource leaks and possible null dereference - detected by code coverity scan. (Remi) - . Log a warning when a syscall fails. (Remi) - . Add --with-fpm-systemd option to report health to systemd, and - systemd_interval option to configure this. The service can now use - Type=notify in the systemd unit file. (Remi) - -- MySQLi - . Fixed bug #64726 (Segfault when calling fetch_object on a use_result and DB - pointer has closed). (Laruence) - -- Phar - . Fixed bug #64214 (PHAR PHPTs intermittently crash when run on DFS, SMB or - with non std tmp dir). (Pierre) - -- SNMP: - . Fixed bug #64765 (Some IPv6 addresses get interpreted wrong). - (Boris Lytochkin) - . Fixed bug #64159 (Truncated snmpget). (Boris Lytochkin) - -- Streams: - . Fixed bug #64770 (stream_select() fails with pipes returned by proc_open() - on Windows x64). (Anatol) - -- Zend Engine: - . Fixed bug #64821 (Custom Exceptions crash when internal properties - overridden). (Anatol) - -09 May 2013, PHP 5.4.15 -- Core: - . Fixed bug #64578 (debug_backtrace in set_error_handler corrupts zend heap: - segfault). (Laruence) - . Fixed bug #64458 (dns_get_record result with string of length -1). (Stas) - . Fixed bug #64433 (follow_location parameter of context is ignored for most - response codes). (Sergey Akbarov) - . Fixed bugs #47675 and #64577 (fd leak on Solaris) - -- Fileinfo: - . Upgraded libmagic to 5.14. (Anatol) - -- MySQLi: - . Fixed bug #64726 (Segfault when calling fetch_object on a use_result and DB - pointer has closed). (Laruence) - -- Zip: - . Fixed bug #64342 (ZipArchive::addFile() has to check for file existence). - (Anatol) - -- Streams: - . Fixed Windows x64 version of stream_socket_pair() and improved error - handling. (Anatol Belski) - . Fixed bug #64770 (stream_select() fails with pipes returned by proc_open() - on Windows x64). (Anatol) - -11 Apr 2013, PHP 5.4.14 - -- Core: - . Fixed bug #64529 (Ran out of opcode space). (Dmitry) - . Fixed bug #64515 (Memoryleak when using the same variablename two times in - function declaration). (Laruence) - . Fixed bug #64432 (more empty delimiter warning in strX methods). (Laruence) - . Fixed bug #64417 (ArrayAccess::&offsetGet() in a trait causes fatal error). - (Dmitry) - . Fixed bug #64370 (microtime(true) less than $_SERVER['REQUEST_TIME_FLOAT']). - (Anatol) - . Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11). - (Dmitry, Laruence) - . Fixed bug #63976 (Parent class incorrectly using child constant in class - property). (Dmitry) - . Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle - exceptions properly). (Jeff Welch) - . Fixed bug #62343 (Show class_alias In get_declared_classes()) (Dmitry) - -- PCRE: - . Merged PCRE 8.32. (Anatol) - -- SNMP: - . Fixed bug #61981 (OO API, walk: $suffix_as_key is not working correctly). - (Boris Lytochkin) - -- Zip: - . Bug #64452 (Zip crash intermittently). (Anatol) - -14 Mar 2013, PHP 5.4.13 - -- Core: - . Fixed bug #64354 (Unserialize array of objects whose class can't - be autoloaded fail). (Laruence) - . Fixed bug #64235 (Insteadof not work for class method in 5.4.11). - (Laruence) - . Fixed bug #64197 (_Offsetof() macro used but not defined on ARM/Clang). - (Ard Biesheuvel) - . Implemented FR #64175 (Added HTTP codes as of RFC 6585). (Jonh Wendell) - . Fixed bug #64142 (dval to lval different behavior on ppc64). (Remi) - . Fixed bug #64070 (Inheritance with Traits failed with error). (Dmitry) - -- CLI server: - . Fixed bug #64128 (buit-in web server is broken on ppc64). (Remi) - -- Mbstring: - . mb_split() can now handle empty matches like preg_split() does. (Moriyoshi) - -- mysqlnd - . Fixed bug #63530 (mysqlnd_stmt::bind_one_parameter crashes, uses wrong alloc - for stmt->param_bind). (Andrey) - -- OpenSSL: - . New SSL stream context option to prevent CRIME attack vector. (Daniel Lowrey, - Lars) - . Fixed bug #61930 (openssl corrupts ssl key resource when using - openssl_get_publickey()). (Stas) - -- PDO_mysql: - . Fixed bug #60840 (undefined symbol: mysqlnd_debug_std_no_trace_funcs). - (Johannes) - -- Phar: - . Fixed timestamp update on Phar contents modification. (Dmitry) - -- SOAP - . Added check that soap.wsdl_cache_dir conforms to open_basedir - (CVE-2013-1635). (Dmitry) - . Disabled external entities loading (CVE-2013-1643, CVE-2013-1824). - (Dmitry) - -- Phar: - . Fixed timestamp update on Phar contents modification. (Dmitry) - -- SPL: - . Fixed bug #64264 (SPLFixedArray toArray problem). (Laruence) - . Fixed bug #64228 (RecursiveDirectoryIterator always assumes SKIP_DOTS). - (patch by kriss@krizalys.com, Laruence) - . Fixed bug #64106 (Segfault on SplFixedArray[][x] = y when extended). - (Nikita Popov) - . Fixed bug #52861 (unset fails with ArrayObject and deep arrays). - (Mike Willbanks) - -- SNMP: - . Fixed bug #64124 (IPv6 malformed). (Boris Lytochkin) - -21 Feb 2013, PHP 5.4.12 - -- Core: - . Fixed bug #64099 (Wrong TSRM usage in zend_Register_class alias). (Johannes) - . Fixed bug #64011 (get_html_translation_table() output incomplete with - HTML_ENTITIES and ISO-8859-1). (Gustavo) - . Fixed bug #63982 (isset() inconsistently produces a fatal error on - protected property). (Stas) - . Fixed bug #63943 (Bad warning text from strpos() on empty needle). - (Laruence) - . Fixed bug #63899 (Use after scope error in zend_compile). (Laruence) - . Fixed bug #63893 (Poor efficiency of strtr() using array with keys of very - different length). (Gustavo) - . Fixed bug #63882 (zend_std_compare_objects crash on recursion). (Dmitry) - . Fixed bug #63462 (Magic methods called twice for unset protected - properties). (Stas) - . Fixed bug #62524 (fopen follows redirects for non-3xx statuses). - (Wes Mason) - . Support BITMAPV5HEADER in getimagesize(). (AsamK, Lars) - -- Date: - . Fixed bug #63699 (Performance improvements for various ext/date functions). - (Lars, original patch by njaguar at gmail dot com) - . Fixed bug #55397: Comparsion of incomplete DateTime causes SIGSEGV. - (Derick) - -- FPM: - . Fixed bug #63999 (php with fpm fails to build on Solaris 10 or 11). (Adam) - -- Litespeed: - . Fixed bug #63228 (-Werror=format-security error in lsapi code). - (Elan Ruusamäe, George) - -- ext/sqlite3: - . Fixed bug #63921 (sqlite3::bindvalue and relative PHP functions aren't - using sqlite3_*_int64 API). (srgoogleguy, Lars) - -- PDO_OCI - . Fixed bug #57702 (Multi-row BLOB fetches). (hswong3i, Laruence) - . Fixed bug #52958 (Segfault in PDO_OCI on cleanup after running a long - testsuite). (hswong3i, Lars) - -- PDO_sqlite: - . Fixed bug #63916 (PDO::PARAM_INT casts to 32bit int internally even - on 64bit builds in pdo_sqlite). (srgoogleguy, Lars) - -17 Jan 2013, PHP 5.4.11 - -- Core: - . Fixed bug #63762 (Sigsegv when Exception::$trace is changed by user). - (Johannes) - . Fixed bug #43177 (Errors in eval()'ed code produce status code 500). - (Todd Ruth, Stas). - -- Filter: - . Fixed bug #63757 (getenv() produces memory leak with CGI SAPI). (Dmitry) - . Fixed bug #54096 (FILTER_VALIDATE_INT does not accept +0 and -0). - (martin at divbyzero dot net, Lars) - -- JSON: - . Fixed bug #63737 (json_decode does not properly decode with options - parameter). (Adam) - -- CLI server - . Update list of common mime types. Added webm, ogv, ogg. (Lars, - pascalc at gmail dot com) - -- cURL extension: - . Fixed bug (segfault due to libcurl connection caching). (Pierrick) - . Fixed bug #63859 (Memory leak when reusing curl-handle). (Pierrick) - . Fixed bug #63795 (CURL >= 7.28.0 no longer support value 1 for - CURLOPT_SSL_VERIFYHOST). (Pierrick) - . Fixed bug #63352 (Can't enable hostname validation when using curl stream - wrappers). (Pierrick) - . Fixed bug #55438 (Curlwapper is not sending http header randomly). - (phpnet@lostreality.org, Pierrick) - -20 Dec 2012, PHP 5.4.10 - -- Core: - . Fixed bug #63726 (Memleak with static properties and internal/user - classes). (Laruence) - . Fixed bug #63635 (Segfault in gc_collect_cycles). (Dmitry) - . Fixed bug #63512 (parse_ini_file() with INI_SCANNER_RAW removes quotes - from value). (Pierrick) - . Fixed bug #63468 (wrong called method as callback with inheritance). - (Laruence) - . Fixed bug #63451 (config.guess file does not have AIX 7 defined, - shared objects are not created). (kemcline at au1 dot ibm dot com) - . Fixed bug #61557 (Crasher in tt-rss backend.php). - (i dot am dot jack dot mail at gmail dot com) - . Fixed bug #61272 (ob_start callback gets passed empty string). - (Mike, casper at langemeijer dot eu) - -- Date: - . Fixed bug #63666 (Poor date() performance). (Paul Taulborg). - . Fixed bug #63435 (Datetime::format('u') sometimes wrong by 1 microsecond). - (Remi) - -- Imap: - . Fixed bug #63126 (DISABLE_AUTHENTICATOR ignores array). (Remi) - -- Json: - . Fixed bug #63588 (use php_next_utf8_char and remove duplicate - implementation). (Remi) - -- MySQLi: - . Fixed bug #63361 (missing header). (Remi) - -- MySQLnd: - . Fixed bug #63398 (Segfault when polling closed link). (Laruence) - -- Fileinfo: - . Fixed bug #63590 (Different results in TS and NTS under Windows). - (Anatoliy) - -- FPM: - . Fixed bug #63581 Possible null dereference and buffer overflow (Remi) - -- Pdo_sqlite: - . Fixed Bug #63149 getColumnMeta should return the table name - when system SQLite used. (Remi) - -- Apache2 Handler SAPI: - . Enabled Apache 2.4 configure option for Windows (Pierre, Anatoliy) - -- Reflection: - . Fixed Bug #63614 (Fatal error on Reflection). (Laruence) - -- SOAP - . Fixed bug #63271 (SOAP wsdl cache is not enabled after initial requests). - (John Jawed, Dmitry) - -- Sockets - . Fixed bug #49341 (Add SO_REUSEPORT support for socket_set_option()). - (Igor Wiedler, Lars) - -- SPL - . Fixed bug #63680 (Memleak in splfixedarray with cycle reference). (Laruence) - -22 Nov 2012, PHP 5.4.9 - -- Core: - . Fixed bug #63305 (zend_mm_heap corrupted with traits). (Dmitry, Laruence) - . Fixed bug #63369 ((un)serialize() leaves dangling pointers, causes crashes). - (Tony, Andrew Sitnikov) - . Fixed bug #63241 (PHP fails to open Windows deduplicated files). - (daniel dot stelter-gliese at innogames dot de) - . Fixed bug #62444 (Handle leak in is_readable on windows). - (krazyest at seznam dot cz) - -- Curl: - . Fixed bug #63363 (Curl silently accepts boolean true for SSL_VERIFYHOST). - Patch by John Jawed GitHub PR #221 (Anthony) - -- Fileinfo: - . Fixed bug #63248 (Load multiple magic files from a directory under Windows). - (Anatoliy) - -- Libxml - . Fixed bug #63389 (Missing context check on libxml_set_streams_context() - causes memleak). (Laruence) - -- Mbstring: - . Fixed bug #63447 (max_input_vars doesn't filter variables when - mbstring.encoding_translation = On). (Laruence) - -- OCI8: - . Fixed bug #63265 (Add ORA-00028 to the PHP_OCI_HANDLE_ERROR macro) - (Chris Jones) - -- PCRE: - . Fixed bug #63180 (Corruption of hash tables). (Dmitry) - . Fixed bug #63055 (Segfault in zend_gc with SF2 testsuite). - (Dmitry, Laruence) - . Fixed bug #63284 (Upgrade PCRE to 8.31). (Anatoliy) - -- PDO: - . Fixed bug #63235 (buffer overflow in use of SQLGetDiagRec). - (Martin Osvald, Remi) - -- PDO_pgsql: - . Fixed bug #62593 (Emulate prepares behave strangely with PARAM_BOOL). - (Will Fitch) - -- Phar: - . Fixed bug #63297 (Phar fails to write an openssl based signature). - (Anatoliy) - -- Streams: - . Fixed bug #63240 (stream_get_line() return contains delimiter string). - (Tjerk, Gustavo) - -- Reflection: - . Fixed bug #63399 (ReflectionClass::getTraitAliases() incorrectly resolves - traitnames). (Laruence) - -18 Oct 2012, PHP 5.4.8 - -- CLI server: - . Implemented FR #63242 (Default error page in PHP built-in web server uses - outdated html/css). (pascal.chevrel@free.fr) - . Changed response to unknown HTTP method to 501 according to RFC. - (Niklas Lindgren). - . Support HTTP PATCH method. Patch by Niklas Lindgren, GitHub PR #190. - (Lars) - -- Core: - . Fixed bug #63219 (Segfault when aliasing trait method when autoloader - throws excpetion). (Laruence) - . Added optional second argument for assert() to specify custom message. Patch - by Lonny Kapelushnik (lonny@lonnylot.com). (Lars) - . Support building PHP with the native client toolchain. (Stuart Langley) - . Added --offline option for tests. (Remi) - . Fixed bug #63162 (parse_url does not match password component). (husman) - . Fixed bug #63111 (is_callable() lies for abstract static method). (Dmitry) - . Fixed bug #63093 (Segfault while load extension failed in zts-build). - (Laruence) - . Fixed bug #62976 (Notice: could not be converted to int when comparing - some builtin classes). (Laruence) - . Fixed bug #62955 (Only one directive is loaded from "Per Directory Values" - Windows registry). (aserbulov at parallels dot com) - . Fixed bug #62907 (Double free when use traits). (Dmitry) - . Fixed bug #61767 (Shutdown functions not called in certain error - situation). (Dmitry) - . Fixed bug #60909 (custom error handler throwing Exception + fatal error - = no shutdown function). (Dmitry) - . Fixed bug #60723 (error_log error time has changed to UTC ignoring default - timezone). (Laruence) - -- cURL: - . Fixed bug #62085 (file_get_contents a remote file by Curl wrapper will - cause cpu Soaring). (Pierrick) - -- Date: - . Fixed bug #62896 ("DateTime->modify('+0 days')" modifies DateTime object) - (Lonny Kapelushnik) - . Fixed bug #62561 (DateTime add 'P1D' adds 25 hours). (Lonny Kapelushnik) - -- DOM: - . Fixed bug #63015 (Incorrect arginfo for DOMErrorHandler). (Rob) - -- FPM: - . Fixed bug #62954 (startup problems fpm / php-fpm). (fat) - . Fixed bug #62886 (PHP-FPM may segfault/hang on startup). (fat) - . Fixed bug #63085 (Systemd integration and daemonize). (remi, fat) - . Fixed bug #62947 (Unneccesary warnings on FPM). (fat) - . Fixed bug #62887 (Only /status?plain&full gives "last request cpu"). (fat) - . Fixed bug #62216 (Add PID to php-fpm init.d script). (fat) - -- OCI8: - . Fixed bug #60901 (Improve "tail" syntax for AIX installation) (Chris Jones) - -- OpenSSL: - . Implemented FR #61421 (OpenSSL signature verification missing RMD160, - SHA224, SHA256, SHA384, SHA512). (Mark Jones) - -- PDO: - . Fixed bug #63258 (seg fault with PDO and dblib using DBSETOPT(H->link, - DBQUOTEDIDENT, 1)). (Laruence) - . Fixed bug #63235 (buffer overflow in use of SQLGetDiagRec). - (Martin Osvald, Remi) - -- PDO Firebird: - . Fixed bug #63214 (Large PDO Firebird Queries). - (james at kenjim dot com) - -- SOAP - . Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice). - (Dmitry) - -- SPL: - . Bug #62987 (Assigning to ArrayObject[null][something] overrides all - undefined variables). (Laruence) - -- mbstring: - . Allow passing null as a default value to mb_substr() and mb_strcut(). Patch - by Alexander Moskaliov via GitHub PR #133. (Lars) - -- Filter extension: - . Bug #49510: Boolean validation fails with FILTER_NULL_ON_FAILURE with empty - string or false. (Lars) - -- Sockets - . Fixed bug #63000 (MCAST_JOIN_GROUP on OSX is broken, merge of PR 185 by - Igor Wiedler). (Lars) - -13 Sep 2012, PHP 5.4.7 - -- Core: - . Fixed bug (segfault while build with zts and GOTO vm-kind). (Laruence) - . Fixed bug #62844 (parse_url() does not recognize //). (Andrew Faulds). - . Fixed bug #62829 (stdint.h included on platform where HAVE_STDINT_H is not - set). (Felipe) - . Fixed bug #62763 (register_shutdown_function and extending class). - (Laruence) - . Fixed bug #62725 (Calling exit() in a shutdown function does not return - the exit value). (Laruence) - . Fixed bug #62744 (dangling pointers made by zend_disable_class). (Laruence) - . Fixed bug #62716 (munmap() is called with the incorrect length). - (slangley@google.com) - . Fixed bug #62358 (Segfault when using traits a lot). (Laruence) - . Fixed bug #62328 (implementing __toString and a cast to string fails) - (Laruence) - . Fixed bug #51363 (Fatal error raised by var_export() not caught by error - handler). (Lonny Kapelushnik) - . Fixed bug #40459 (Stat and Dir stream wrapper methods do not call - constructor). (Stas) - -- CURL: - . Fixed bug #62912 (CURLINFO_PRIMARY_* AND CURLINFO_LOCAL_* not exposed). - (Pierrick) - . Fixed bug #62839 (curl_copy_handle segfault with CURLOPT_FILE). (Pierrick) - -- Intl: - . Fixed Spoofchecker not being registered on ICU 49.1. (Gustavo) - . Fix bug #62933 (ext/intl compilation error on icu 3.4.1). (Gustavo) - . Fix bug #62915 (defective cloning in several intl classes). (Gustavo) - -- Installation: - . Fixed bug #62460 (php binaries installed as binary.dSYM). (Reeze Xia) - -- PCRE: - . Fixed bug #55856 (preg_replace should fail on trailing garbage). - (reg dot php at alf dot nu) - -- PDO: - . Fixed bug #62685 (Wrong return datatype in PDO::inTransaction()). (Laruence) - -- Reflection: - . Fixed bug #62892 (ReflectionClass::getTraitAliases crashes on importing - trait methods as private). (Felipe) - . Fixed bug #62715 (ReflectionParameter::isDefaultValueAvailable() wrong - result). (Laruence) - -- Session: - . Fixed bug (segfault due to retval is not initialized). (Laruence) - . Fixed bug (segfault due to PS(mod_user_implemented) not be reseted - when close handler call exit). (Laruence) - -- SOAP - . Fixed bug #50997 (SOAP Error when trying to submit 2nd Element of a choice). - (Dmitry) - -- SPL: - . Fixed bug #62904 (Crash when cloning an object which inherits SplFixedArray) - (Laruence) - . Implemented FR #62840 (Add sort flag to ArrayObject::ksort). (Laruence) - -- Standard: - . Fixed bug #62836 (Seg fault or broken object references on unserialize()). - (Laruence) - -- FPM: - . Merged PR 121 by minitux to add support for slow request counting on PHP - FPM status page. (Lars) - -16 Aug 2012, PHP 5.4.6 - -- CLI Server: - . Implemented FR #62700 (have the console output 'Listening on - http://localhost:8000'). (pascal.chevrel@free.fr) - -- Core: - . Fixed bug #62661 (Interactive php-cli crashes if include() is used in - auto_prepend_file). (Laruence) - . Fixed bug #62653: (unset($array[$float]) causes a crash). (Nikita Popov, - Laruence) - . Fixed bug #62565 (Crashes due non-initialized internal properties_table). - (Felipe) - . Fixed bug #60194 (--with-zend-multibyte and --enable-debug reports LEAK - with run-test.php). (Laruence) - -- CURL: - . Fixed bug #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") returns false). - (r.hampartsumyan@gmail.com, Laruence) - -- DateTime: - . Fixed Bug #62500 (Segfault in DateInterval class when extended). (Laruence) - -- Fileinfo: - . Fixed bug #61964 (finfo_open with directory causes invalid free). - (reeze.xia@gmail.com) - -- Intl: - . Fixed bug #62564 (Extending MessageFormatter and adding property causes - crash). (Felipe) - -- MySQLnd: - . Fixed bug #62594 (segfault in mysqlnd_res_meta::set_mode). (Laruence) - -- readline: - . Fixed bug #62612 (readline extension compilation fails with - sapi/cli/cli.h: No such file). (Johannes) - -- Reflection: - . Implemented FR #61602 (Allow access to name of constant used as default - value). (reeze.xia@gmail.com) - -- SimpleXML: - . Implemented FR #55218 Get namespaces from current node. (Lonny) - -- SPL: - . Fixed bug #62616 (ArrayIterator::count() from IteratorIterator instance - gives Segmentation fault). (Laruence, Gustavo) - . Fixed bug #61527 (ArrayIterator gives misleading notice on next() when - moved to the end). (reeze.xia@gmail.com) - -- Streams: - . Fixed bug #62597 (segfault in php_stream_wrapper_log_error with ZTS build). - (Laruence) - -- Zlib: - . Fixed bug #55544 (ob_gzhandler always conflicts with - zlib.output_compression). (Laruence) - -19 Jul 2012, PHP 5.4.5 - -- Core: - . Fixed bug #62443 (Crypt SHA256/512 Segfaults With Malformed - Salt). (Anthony Ferrara) - . Fixed bug #62432 (ReflectionMethod random corrupt memory on high - concurrent). (Johannes) - . Fixed bug #62373 (serialize() generates wrong reference to the object). - (Moriyoshi) - . Fixed bug #62357 (compile failure: (S) Arguments missing for built-in - function __memcmp). (Laruence) - . Fixed bug #61998 (Using traits with method aliases appears to result in - crash during execution). (Dmitry) - . Fixed bug #51094 (parse_ini_file() with INI_SCANNER_RAW cuts a value that - includes a semi-colon). (Pierrick) - . Fixed potential overflow in _php_stream_scandir (CVE-2012-2688). - (Jason Powell, Stas) - -- EXIF: - . Fixed information leak in ext exif (discovered by Martin Noga, - Matthew "j00ru" Jurczyk, Gynvael Coldwind) - -- FPM: - . Fixed bug #62205 (php-fpm segfaults (null passed to strstr)). (fat) - . Fixed bug #62160 (Add process.priority to set nice(2) priorities). (fat) - . Fixed bug #62153 (when using unix sockets, multiples FPM instances - . Fixed bug #62033 (php-fpm exits with status 0 on some failures to start). - (fat) - . Fixed bug #61839 (Unable to cross-compile PHP with --enable-fpm). (fat) - . Fixed bug #61835 (php-fpm is not allowed to run as root). (fat) - . Fixed bug #61295 (php-fpm should not fail with commented 'user' - . Fixed bug #61218 (FPM drops connection while receiving some binary values - in FastCGI requests). (fat) - . Fixed bug #61045 (fpm don't send error log to fastcgi clients). (fat) - for non-root start). (fat) - . Fixed bug #61026 (FPM pools can listen on the same address). (fat) - can be launched without errors). (fat) - -- Iconv: - . Fix bug #55042 (Erealloc in iconv.c unsafe). (Stas) - -- Intl: - . Fixed bug #62083 (grapheme_extract() memory leaks). (Gustavo) - . ResourceBundle constructor now accepts NULL for the first two arguments. - (Gustavo) - . Fixed bug #62081 (IntlDateFormatter constructor leaks memory when called - twice). (Gustavo) - . Fixed bug #62070 (Collator::getSortKey() returns garbage). (Gustavo) - . Fixed bug #62017 (datefmt_create with incorrectly encoded timezone leaks - pattern). (Gustavo) - . Fixed bug #60785 (memory leak in IntlDateFormatter constructor). (Gustavo) - -- JSON: - . Fixed bug #61359 (json_encode() calls too many reallocs). (Stas) - -- libxml: - . Fixed bug #62266 (Custom extension segfaults during xmlParseFile with FPM - SAPI). (Gustavo) - -- Phar: - . Fixed bug #62227 (Invalid phar stream path causes crash). (Felipe) - -- Readline: - . Fixed bug #62186 (readline fails to compile - void function should not - return a value). (Johannes) - -- Reflection: - . Fixed bug #62384 (Attempting to invoke a Closure more than once causes - segfault). (Felipe) - . Fixed bug #62202 (ReflectionParameter::getDefaultValue() memory leaks - with constant). (Laruence) - -- Sockets: - . Fixed bug #62025 (__ss_family was changed on AIX 5.3). (Felipe) - -- SPL: - . Fixed bug #62433 (Inconsistent behavior of RecursiveDirectoryIterator to - dot files). (Laruence) - . Fixed bug #62262 (RecursiveArrayIterator does not implement Countable). - (Nikita Popov) - -- XML Writer: - . Fixed bug #62064 (memory leak in the XML Writer module). - (jean-pierre dot lozi at lip6 dot fr) - -- Zip: - . Upgraded libzip to 0.10.1 (Anatoliy) - -14 Jun 2012, PHP 5.4.4 - -- COM: - . Fixed bug #62146 com_dotnet cannot be built shared. (Johannes) - -- CLI Server: - . Implemented FR #61977 (Need CLI web-server support for files with .htm & - svg extensions). (Sixd, Laruence) - . Improved performance while sending error page, this also fixed - bug #61785 (Memory leak when access a non-exists file without router). - (Laruence) - . Fixed bug #61546 (functions related to current script failed when chdir() - in cli sapi). (Laruence, reeze.xia@gmail.com) - -- Core: - . Fixed missing bound check in iptcparse(). (chris at chiappa.net) - . Fixed CVE-2012-2143. (Solar Designer) - . Fixed bug #62097 (fix for for bug #54547). (Gustavo) - . Fixed bug #62005 (unexpected behavior when incrementally assigning to a - member of a null object). (Laruence) - . Fixed bug #61978 (Object recursion not detected for classes that implement - JsonSerializable). (Felipe) - . Fixed bug #61991 (long overflow in realpath_cache_get()). (Anatoliy) - . Fixed bug #61922 (ZTS build doesn't accept zend.script_encoding config). - (Laruence) - . Fixed bug #61827 (incorrect \e processing on Windows) (Anatoliy) - . Fixed bug #61782 (__clone/__destruct do not match other methods when checking - access controls). (Stas) - . Fixed bug #61764 ('I' unpacks n as signed if n > 2^31-1 on LP64). (Gustavo) - . Fixed bug #61761 ('Overriding' a private static method with a different - signature causes crash). (Laruence) - . Fixed bug #61730 (Segfault from array_walk modifying an array passed by - reference). (Laruence) - . Fixed bug #61728 (PHP crash when calling ob_start in request_shutdown - phase). (Laruence) - . Fixed bug #61713 (Logic error in charset detection for htmlentities). - (Anatoliy) - . Fixed bug #61660 (bin2hex(hex2bin($data)) != $data). (Nikita Popov) - . Fixed bug #61650 (ini parser crashes when using ${xxxx} ini variables - (without apache2)). (Laruence) - . Fixed bug #61605 (header_remove() does not remove all headers). (Laruence) - . Fixed bug #54547 (wrong equality of string numbers). (Gustavo) - . Fixed bug #54197 ([PATH=] sections incompatibility with user_ini.filename - set to null). (Anatoliy) - . Changed php://fd to be available only for CLI. - -- CURL: - . Fixed bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction). - (Laruence) - -- Fileinfo - . Fixed bug #61812 (Uninitialised value used in libmagic). - (Laruence, Gustavo) - . Fixed bug #61566 failure caused by the posix lseek and read versions - under windows in cdf_read(). (Anatoliy) - . Fixed bug #61565 where php_stream_open_wrapper_ex tries to open a - directory descriptor under windows. (Anatoliy) - -- Intl - . Fixed bug #62082 (Memory corruption in internal function - get_icu_disp_value_src_php()). (Gustavo) - -- Libxml: - . Fixed bug #61617 (Libxml tests failed(ht is already destroyed)). - (Laruence) - -- PDO: - . Fixed bug #61755 (A parsing bug in the prepared statements can lead to - access violations). (Johannes) - -- Phar: - . Fixed bug #61065 (Secunia SA44335, CVE-2012-2386). (Rasmus) - -- Pgsql: - . Added pg_escape_identifier/pg_escape_literal. (Yasuo Ohgaki) - -- Streams: - . Fixed bug #61961 (file_get_contents leaks when access empty file with - maxlen set). (Reeze) - -- Zlib: - . Fixed bug #61820 (using ob_gzhandler will complain about headers already - sent when no compression). (Mike) - . Fixed bug #61443 (can't change zlib.output_compression on the fly). (Mike) - . Fixed bug #60761 (zlib.output_compression fails on refresh). (Mike) - -08 May 2012, PHP 5.4.3 - -- CGI - . Re-Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823. - (Stas) - . Fix bug #61807 - Buffer Overflow in apache_request_headers. - (nyt-php at countercultured dot net). - -03 May 2012, PHP 5.4.2 - -- Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823. (Rasmus) - -26 Apr 2012, PHP 5.4.1 - -- CLI Server: - . Fixed bug #61461 (missing checks around malloc() calls). (Ilia) - . Implemented FR #60850 (Built in web server does not set - $_SERVER['SCRIPT_FILENAME'] when using router). (Laruence) - . "Connection: close" instead of "Connection: closed" (Gustavo) - -- Core: - . Fixed crash in ZTS using same class in many threads. (Johannes) - . Fixed bug #61374 (html_entity_decode tries to decode code points that don't - exist in ISO-8859-1). (Gustavo) - . Fixed bug #61273 (call_user_func_array with more than 16333 arguments - leaks / crashes). (Laruence) - . Fixed bug #61225 (Incorrect lexing of 0b00*+). (Pierrick) - . Fixed bug #61165 (Segfault - strip_tags()). (Laruence) - . Fixed bug #61106 (Segfault when using header_register_callback). (Nikita - Popov) - . Fixed bug #61087 (Memory leak in parse_ini_file when specifying - invalid scanner mode). (Nikic, Laruence) - . Fixed bug #61072 (Memory leak when restoring an exception handler). - (Nikic, Laruence) - . Fixed bug #61058 (array_fill leaks if start index is PHP_INT_MAX). - (Laruence) - . Fixed bug #61052 (Missing error check in trait 'insteadof' clause). (Stefan) - . Fixed bug #61011 (Crash when an exception is thrown by __autoload - accessing a static property). (Laruence) - . Fixed bug #61000 (Exceeding max nesting level doesn't delete numerical - vars). (Laruence) - . Fixed bug #60978 (exit code incorrect). (Laruence) - . Fixed bug #60911 (Confusing error message when extending traits). (Stefan) - . Fixed bug #60801 (strpbrk() mishandles NUL byte). (Adam) - . Fixed bug #60717 (Order of traits in use statement can cause a fatal - error). (Stefan) - . Fixed bug #60573 (type hinting with "self" keyword causes weird errors). - (Laruence) - . Fixed bug #60569 (Nullbyte truncates Exception $message). (Ilia) - . Fixed bug #52719 (array_walk_recursive crashes if third param of the - function is by reference). (Nikita Popov) - . Improve performance of set_exception_handler while doing reset (Laruence) - -- fileinfo: - . Fix fileinfo test problems. (Anatoliy Belsky) - -- FPM - . Fixed bug #61430 (Transposed memset() params in sapi/fpm/fpm/fpm_shm.c). - (michaelhood at gmail dot com, Ilia) - -- Ibase - . Fixed bug #60947 (Segmentation fault while executing ibase_db_info). - (Ilia) - -- Installation - . Fixed bug #61172 (Add Apache 2.4 support). (Chris Jones) - -- Intl: - . Fixed bug #61487 (Incorrent bounds checking in grapheme_strpos). - (Stas) - -- mbstring: - . MFH mb_ereg_replace_callback() for security enhancements. (Rui) - -- mysqli - . Fixed bug #61003 (mysql_stat() require a valid connection). (Johannes). - -- mysqlnd - . Fixed bug #61704 (Crash apache, phpinfo() threading issue). (Johannes) - . Fixed bug #60948 (mysqlnd FTBFS when -Wformat-security is enabled). - (Johannes) - -- PDO - . Fixed bug #61292 (Segfault while calling a method on an overloaded PDO - object). (Laruence) - -- PDO_mysql - . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't - always work). (Johannes) - . Fixed bug #61194 (PDO should export compression flag with myslqnd). - (Johannes) - -- PDO_odbc - . Fixed bug #61212 (PDO ODBC Segfaults on SQL_SUCESS_WITH_INFO). (Ilia) - -- Phar - . Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL - bytes). (Nikita Popov) - -- Readline: - . Fixed bug #61088 (Memory leak in readline_callback_handler_install). - (Nikic, Laruence) - -- Reflection: - . Implemented FR #61602 (Allow access to the name of constant - used as function/method parameter's default value). (reeze.xia@gmail.com) - . Fixed bug #60968 (Late static binding doesn't work with - ReflectionMethod::invokeArgs()). (Laruence) - -- Session - . Fixed bug #60634 (Segmentation fault when trying to die() in - SessionHandler::write()). (Ilia) - -- SOAP - . Fixed bug #61423 (gzip compression fails). (Ilia) - . Fixed bug #60887 (SoapClient ignores user_agent option and sends no - User-Agent header). (carloschilazo at gmail dot com) - . Fixed bug #60842, #51775 (Chunked response parsing error when - chunksize length line is > 10 bytes). (Ilia) - . Fixed bug #49853 (Soap Client stream context header option ignored). - (Dmitry) - -- SPL: - . Fixed bug #61453 (SplObjectStorage does not identify objects correctly). - (Gustavo) - . Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence) - -- Standard: - . Fixed memory leak in substr_replace. (Pierrick) - . Make max_file_uploads ini directive settable outside of php.ini (Rasmus) - . Fixed bug #61409 (Bad formatting on phpinfo()). (Jakub Vrana) - . Fixed bug #60222 (time_nanosleep() does validate input params). (Ilia) - . Fixed bug #60106 (stream_socket_server silently truncates long unix socket - paths). (Ilia) - -- XMLRPC: - . Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary - variable). (Nikita Popov) - . Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikita - Popov) - -- Zlib: - . Fixed bug #61306 (initialization of global inappropriate for ZTS). (Gustavo) - . Fixed bug #61287 (A particular string fails to decompress). (Mike) - . Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikita Popov) - -01 Mar 2012, PHP 5.4.0 - -- Installation: - . autoconf 2.59+ is now supported (and required) for generating the - configure script with ./buildconf. Autoconf 2.60+ is desirable - otherwise the configure help order may be incorrect. (Rasmus, Chris Jones) - -- Removed legacy features: - . break/continue $var syntax. (Dmitry) - . Safe mode and all related php.ini options. (Kalle) - . register_globals and register_long_arrays php.ini options. (Kalle) - . import_request_variables(). (Kalle) - . allow_call_time_pass_reference. (Pierrick) - . define_syslog_variables php.ini option and its associated function. (Kalle) - . highlight.bg php.ini option. (Kalle) - . safe_mode, safe_mode_gid, safe_mode_include_dir, - safe_mode_exec_dir, safe_mode_allowed_env_vars and - safe_mode_protected_env_vars php.ini options. - . zend.ze1_compatibility_mode php.ini option. - . Session bug compatibility mode (session.bug_compat_42 and - session.bug_compat_warn php.ini options). (Kalle) - . session_is_registered(), session_register() and session_unregister() - functions. (Kalle) - . y2k_compliance php.ini option. (Kalle) - . magic_quotes_gpc, magic_quotes_runtime and magic_quotes_sybase - php.ini options. get_magic_quotes_gpc, get_magic_quotes_runtime are kept - but always return false, set_magic_quotes_runtime raises an - E_CORE_ERROR. (Pierrick, Pierre) - . Removed support for putenv("TZ=..") for setting the timezone. (Derick) - . Removed the timezone guessing algorithm in case the timezone isn't set with - date.timezone or date_default_timezone_set(). Instead of a guessed - timezone, "UTC" is now used instead. (Derick) - -- Moved extensions to PECL: - . ext/sqlite. (Note: the ext/sqlite3 and ext/pdo_sqlite extensions are - not affected) (Johannes) - -- General improvements: - . Added short array syntax support ([1,2,3]), see UPGRADING guide for full - details. (rsky0711 at gmail . com, sebastian.deutsch at 9elements . com, - Pierre) - . Added binary number format (0b001010). (Jonah dot Harris at gmail dot com) - . Added support for Class::{expr}() syntax (Pierrick) - . Added multibyte support by default. Previously PHP had to be compiled - with --enable-zend-multibyte. Now it can be enabled or disabled through - the zend.multibyte directive in php.ini. (Dmitry) - . Removed compile time dependency from ext/mbstring (Dmitry) - . Added support for Traits. (Stefan, with fixes by Dmitry and Laruence) - . Added closure $this support back. (Stas) - . Added array dereferencing support. (Felipe) - . Added callable typehint. (Hannes) - . Added indirect method call through array. FR #47160. (Felipe) - . Added DTrace support. (David Soria Parra) - . Added class member access on instantiation (e.g. (new foo)->bar()) support. - (Felipe) - . ). (Etienne) - . Fixed bug #60965 (Buffer overflow on htmlspecialchars/entities with - $double=false). (Gustavo) - . Fixed bug #60895 (Possible invalid handler usage in windows random - functions). (Pierre) - . Fixed bug #60879 (unserialize() Does not invoke __wakeup() on object). - (Pierre, Steve) - . Fixed bug #60825 (Segfault when running symfony 2 tests). - (Dmitry, Laruence) - . Fixed bug #60627 (httpd.worker segfault on startup with php_value). - . Fixed bug #60613 (Segmentation fault with $cls->{expr}() syntax). (Dmitry) - . Fixed bug #60611 (Segmentation fault with Cls::{expr}() syntax). (Laruence) - (Laruence) - . Fixed bug #60558 (Invalid read and writes). (Laruence) - . Fixed bug #60444 (Segmentation fault with include & class extending). - (Laruence, Dmitry). - . Fixed bug #60362 (non-existent sub-sub keys should not have values). - (Laruence, alan_k, Stas) - . Fixed bug #60350 (No string escape code for ESC (ascii 27), normally \e). - (php at mickweiss dot com) - . Fixed bug #60321 (ob_get_status(true) no longer returns an array when - buffer is empty). (Pierrick) - . Fixed bug #60282 (Segfault when using ob_gzhandler() with open buffers). - (Laruence) - . Fixed bug #60240 (invalid read/writes when unserializing specially crafted - strings). (Mike) - . Fixed bug #60227 (header() cannot detect the multi-line header with - CR(0x0D)). (rui) - . Fixed bug #60174 (Notice when array in method prototype error). - (Laruence) - . Fixed bug #60169 (Conjunction of ternary and list crashes PHP). - (Laruence) - . Fixed bug #60038 (SIGALRM cause segfault in php_error_cb). (Laruence) - (klightspeed at netspace dot net dot au) - . Fixed bug #55871 (Interruption in substr_replace()). (Stas) - . Fixed bug #55801 (Behavior of unserialize has changed). (Mike) - . Fixed bug #55758 (Digest Authenticate missed in 5.4) . (Laruence) - . Fixed bug #55748 (multiple NULL Pointer Dereference with zend_strndup()) - (CVE-2011-4153). (Stas) - . Fixed bug #55124 (recursive mkdir fails with current (dot) directory in path). - (Pierre) - . Fixed bug #55084 (Function registered by header_register_callback is - called only once per process). (Hannes) - . Implement FR #54514 (Get php binary path during script execution). - (Laruence) - . Fixed bug #52211 (iconv() returns part of string on error). (Felipe) - . Fixed bug #51860 (Include fails with toplevel symlink to /). (Dmitry) - -- Improved generic SAPI support: - . Added $_SERVER['REQUEST_TIME_FLOAT'] to include microsecond precision. - (Patrick) - . Added header_register_callback() which is invoked immediately - prior to the sending of headers and after default headers have - been added. (Scott) - . Added http_response_code() function. FR #52555. (Paul Dragoonis, Kalle) - . Fixed bug #55500 (Corrupted $_FILES indices lead to security concern). - (CVE-2012-1172). (Stas) - . Fixed bug #54374 (Insufficient validating of upload name leading to - corrupted $_FILES indices). (CVE-2012-1172). (Stas, lekensteyn at gmail dot com) - -- Improved CLI SAPI: - . Added built-in web server that is intended for testing purpose. - (Moriyoshi, Laruence, and fixes by Pierre, Derick, Arpad, - chobieee at gmail dot com) - . Added command line option --rz which shows information of the - named Zend extension. (Johannes) - . Interactive readline shell improvements: (Johannes) - . Added "cli.pager" php.ini setting to set a pager for output. - . Added "cli.prompt" php.ini setting to configure the shell prompt. - . Added shortcut #inisetting=value to change php.ini settings at run-time. - . Changed shell not to terminate on fatal errors. - . Interactive shell works with shared readline extension. FR #53878. - -- Improved CGI/FastCGI SAPI: (Dmitry) - . Added apache compatible functions: apache_child_terminate(), - getallheaders(), apache_request_headers() and apache_response_headers() - . Improved performance of FastCGI request parsing. - . Fixed reinitialization of SAPI callbacks after php_module_startup(). - (Dmitry) - -- Improved PHP-FPM SAPI: - . Removed EXPERIMENTAL flag. (fat) - . Fixed bug #60659 (FPM does not clear auth_user on request accept). - (bonbons at linux-vserver dot org) - -- Improved Litespeed SAPI: - . Fixed bug #55769 (Make Fails with "Missing Separator" error). (Adam) - -- Improved Date extension: - . Added the + modifier to parseFromFormat to allow trailing text in the - string to parse without throwing an error. (Stas, Derick) - -- Improved DBA extension: - . Added Tokyo Cabinet abstract DB support. (Michael Maclean) - . Added Berkeley DB 5 support. (Johannes, Chris Jones) - -- Improved DOM extension: - . Added the ability to pass options to loadHTML (Chregu, fxmulder at gmail dot com) - -- Improved filesystem functions: - . scandir() now accepts SCANDIR_SORT_NONE as a possible sorting_order value. - FR #53407. (Adam) - -- Improved HASH extension: - . Added Jenkins's one-at-a-time hash support. (Martin Jansen) - . Added FNV-1 hash support. (Michael Maclean) - . Made Adler32 algorithm faster. FR #53213. (zavasek at yandex dot ru) - . Removed Salsa10/Salsa20, which are actually stream ciphers (Mike) - . Fixed bug #60221 (Tiger hash output byte order) (Mike) - -- Improved intl extension: - . Added Spoofchecker class, allows checking for visibly confusable characters and - other security issues. (Scott) - . Added Transliterator class, allowing transliteration of strings. - (Gustavo) - . Added support for UTS #46. (Gustavo) - . Fixed build on Fedora 15 / Ubuntu 11. (Hannes) - . Fixed bug #55562 (grapheme_substr() returns false on big length). (Stas) - -- Improved JSON extension: - . Added new json_encode() option JSON_UNESCAPED_UNICODE. FR #53946. - (Alexander, Gwynne) - . Added JsonSerializable interface. (Sara) - . Added JSON_BIGINT_AS_STRING, extended json_decode() sig with $options. - (Sara) - . Added support for JSON_NUMERIC_CHECK option in json_encode() that converts - numeric strings to integers. (Ilia) - . Added new json_encode() option JSON_UNESCAPED_SLASHES. FR #49366. (Adam) - . Added new json_encode() option JSON_PRETTY_PRINT. FR #44331. (Adam) - -- Improved LDAP extension: - . Added paged results support. FR #42060. (ando@OpenLDAP.org, - iarenuno@eteo.mondragon.edu, jeanseb@au-fil-du.net, remy.saissy@gmail.com) - -- Improved mbstring extension: - . Added Shift_JIS/UTF-8 Emoji (pictograms) support. (Rui) - . Added JIS X0213:2004 (Shift_JIS-2004, EUC-JP-2004, ISO-2022-JP-2004) - support. (Rui) - . Ill-formed UTF-8 check for security enhancements. (Rui) - . Added MacJapanese (Shift_JIS) and gb18030 encoding support. (Rui) - . Added encode/decode in hex format to mb_[en|de]code_numericentity(). (Rui) - . Added user JIS X0213:2004 (Shift_JIS-2004, EUC-JP-2004, ISO-2022-JP-2004) - support. (Rui) - . Added the user defined area for CP936 and CP950 (Rui). - . Fixed bug #60306 (Characters lost while converting from cp936 to utf8). - (Laruence) - -- Improved MySQL extensions: - . MySQL: Deprecated mysql_list_dbs(). FR #50667. (Andrey) - . mysqlnd: Added named pipes support. FR #48082. (Andrey) - . MySQLi: Added iterator support in MySQLi. mysqli_result implements - Traversable. (Andrey, Johannes) - . PDO_mysql: Removed support for linking with MySQL client libraries older - than 4.1. (Johannes) - . ext/mysql, mysqli and pdo_mysql now use mysqlnd by default. (Johannes) - . Fixed bug #55473 (mysql_pconnect leaks file descriptors on reconnect). - (Andrey, Laruence) - . Fixed bug #55653 (PS crash with libmysql when binding same variable as - param and out). (Laruence) - -- Improved OpenSSL extension: - . Added AES support. FR #48632. (yonas dot y at gmail dot com, Pierre) - . Added no padding option to openssl_encrypt()/openssl_decrypt(). (Scott) - . Use php's implementation for Windows Crypto API in - openssl_random_pseudo_bytes. (Pierre) - . On error in openssl_random_pseudo_bytes() made sure we set strong result - to false. (Scott) - . Fixed possible attack in SSL sockets with SSL 3.0 / TLS 1.0. - CVE-2011-3389. (Scott) - . Fixed bug #61124 (Crash when decoding an invalid base64 encoded string). - (me at ktamura dot com, Scott) - -- Improved PDO: - . Fixed PDO objects binary incompatibility. (Dmitry) - -- PDO DBlib driver: - . Added nextRowset support. - . Fixed bug #50755 (PDO DBLIB Fails with OOM). - -- Improved PostgreSQL extension: - . Added support for "extra" parameter for PGNotify(). - (r dot i dot k at free dot fr, Ilia) - -- Improved PCRE extension: - . Changed third parameter of preg_match_all() to optional. FR #53238. (Adam) - -- Improved Readline extension: - . Fixed bug #54450 (Enable callback support when built against libedit). - (fedora at famillecollet dot com, Hannes) - -- Improved Reflection extension: - . Added ReflectionClass::newInstanceWithoutConstructor() to create a new - instance of a class without invoking its constructor. FR #55490. - (Sebastian) - . Added ReflectionExtension::isTemporary() and - ReflectionExtension::isPersistent() methods. (Johannes) - . Added ReflectionZendExtension class. (Johannes) - . Added ReflectionClass::isCloneable(). (Felipe) - -- Improved Session extension: - . Expose session status via new function, session_status (FR #52982) (Arpad) - . Added support for object-oriented session handlers. (Arpad) - . Added support for storing upload progress feedback in session data. (Arnaud) - . Changed session.entropy_file to default to /dev/urandom or /dev/arandom if - either is present at compile time. (Rasmus) - . Fixed bug #60860 (session.save_handler=user without defined function core - dumps). (Felipe) - . Implement FR #60551 (session_set_save_handler should support a core's - session handler interface). (Arpad) - . Fixed bug #60640 (invalid return values). (Arpad) - -- Improved SNMP extension (Boris Lytochkin): - . Added OO API. FR #53594 (php-snmp rewrite). - . Sanitized return values of existing functions. Now it returns FALSE on - failure. - . Allow ~infinite OIDs in GET/GETNEXT/SET queries. Autochunk them to max_oids - upon request. - . Introducing unit tests for extension with ~full coverage. - . IPv6 support. (FR #42918) - . Way of representing OID value can now be changed when SNMP_VALUE_OBJECT - is used for value output mode. Use or'ed SNMP_VALUE_LIBRARY(default if - not specified) or SNMP_VALUE_PLAIN. (FR #54502) - . Fixed bug #60749 (SNMP module should not strip non-standard SNMP port - from hostname). (Boris Lytochkin) - . Fixed bug #60585 (php build fails with USE flag snmp when IPv6 support - is disabled). (Boris Lytochkin) - . Fixed bug #53862 (snmp_set_oid_output_format does not allow returning to default) - . Fixed bug #46065 (snmp_set_quick_print() persists between requests) - . Fixed bug #45893 (Snmp buffer limited to 2048 char) - . Fixed bug #44193 (snmp v3 noAuthNoPriv doesn't work) - -- Improved SOAP extension: - . Added new SoapClient option "keep_alive". FR #60329. (Pierrick) - . Fixed basic HTTP authentication for WSDL sub requests. (Dmitry) - -- Improved SPL extension: - . Added RegexIterator::getRegex() method. (Joshua Thijssen) - . Added SplObjectStorage::getHash() hook. (Etienne) - . Added CallbackFilterIterator and RecursiveCallbackFilterIterator. (Arnaud) - . Added missing class_uses(..) as pointed out by #55266 (Stefan) - . Immediately reject wrong usages of directories under Spl(Temp)FileObject - and friends. (Etienne, Pierre) - . FilesystemIterator, GlobIterator and (Recursive)DirectoryIterator now use - the default stream context. (Hannes) - . Fixed bug #60201 (SplFileObject::setCsvControl does not expose third - argument via Reflection). (Peter) - . Fixed bug #55287 (spl_classes() not includes CallbackFilter classes) - (sasezaki at gmail dot com, salathe) - -- Improved Sysvshm extension: - . Fixed bug #55750 (memory copy issue in sysvshm extension). - (Ilia, jeffhuang9999 at gmail dot com) - -- Improved Tidy extension: - . Fixed bug #54682 (Tidy::diagnose() NULL pointer dereference). - (Maksymilian Arciemowicz, Felipe) - -- Improved Tokenizer extension: - . Fixed bug #54089 (token_get_all with regards to __halt_compiler is - not binary safe). (Nikita Popov) - -- Improved XSL extension: - . Added XsltProcessor::setSecurityPrefs($options) and getSecurityPrefs() to - define forbidden operations within XSLT stylesheets, default is not to - enable write operations from XSLT. Bug #54446 (Chregu, Nicolas Gregoire) - . XSL doesn't stop transformation anymore, if a PHP function can't be called - (Christian) - -- Improved ZLIB extension: - . Re-implemented non-file related functionality. (Mike) - . Fixed bug #55544 (ob_gzhandler always conflicts with zlib.output_compression). - (Mike) - -14 Jun 2012, PHP 5.3.14 - -- CLI SAPI: - . Fixed bug #61546 (functions related to current script failed when chdir() - in cli sapi). (Laruence, reeze.xia@gmail.com) - -- CURL: - . Fixed bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction). - (Laruence) - -- COM: - . Fixed bug #62146 com_dotnet cannot be built shared. (Johannes) - -- Core: - . Fixed CVE-2012-2143. (Solar Designer) - . Fixed missing bound check in iptcparse(). (chris at chiappa.net) - . Fixed bug #62373 (serialize() generates wrong reference to the object). - (Moriyoshi) - . Fixed bug #62005 (unexpected behavior when incrementally assigning to a - member of a null object). (Laruence) - . Fixed bug #61991 (long overflow in realpath_cache_get()). (Anatoliy) - . Fixed bug #61764 ('I' unpacks n as signed if n > 2^31-1 on LP64). (Gustavo) - . Fixed bug #61730 (Segfault from array_walk modifying an array passed by - reference). (Laruence) - . Fixed bug #61713 (Logic error in charset detection for htmlentities). - (Anatoliy) - . Fixed bug #54197 ([PATH=] sections incompatibility with user_ini.filename - set to null). (Anatoliy) - . Changed php://fd to be available only for CLI. - -- Fileinfo: - . Fixed bug #61812 (Uninitialised value used in libmagic). - (Laruence, Gustavo) - -- Iconv extension: - . Fixed a bug that iconv extension fails to link to the correct library - when another extension makes use of a library that links to the iconv - library. See https://bugs.gentoo.org/show_bug.cgi?id=364139 for detail. - (Moriyoshi) - -- Intl: - . Fixed bug #62082 (Memory corruption in internal function - get_icu_disp_value_src_php()). (Gustavo) - -- JSON - . Fixed bug #61537 (json_encode() incorrectly truncates/discards - information). (Adam) - -- PDO: - . Fixed bug #61755 (A parsing bug in the prepared statements can lead to - access violations). (Johannes) - -- Phar: - . Fix bug #61065 (Secunia SA44335). (Rasmus) - -- Streams: - . Fixed bug #61961 (file_get_contents leaks when access empty file with - maxlen set). (Reeze) - -08 May 2012, PHP 5.3.13 -- CGI - . Improve fix for PHP-CGI query string parameter vulnerability, CVE-2012-2311. - (Stas) - -03 May 2012, PHP 5.3.12 -- Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823. (Rasmus) - -26 Apr 2012, PHP 5.3.11 - -- Core: - . Fixed bug #61605 (header_remove() does not remove all headers). - (Laruence) - . Fixed bug #61541 (Segfault when using ob_* in output_callback). - (reeze.xia@gmail.com) - . Fixed bug #61273 (call_user_func_array with more than 16333 arguments - leaks / crashes). (Laruence) - . Fixed bug #61165 (Segfault - strip_tags()). (Laruence) - . Improved max_input_vars directive to check nested variables (Dmitry). - . Fixed bug #61095 (Incorect lexing of 0x00*+). (Etienne) - . Fixed bug #61087 (Memory leak in parse_ini_file when specifying - invalid scanner mode). (Nikic, Laruence) - . Fixed bug #61072 (Memory leak when restoring an exception handler). - (Nikic, Laruence) - . Fixed bug #61058 (array_fill leaks if start index is PHP_INT_MAX). - (Laruence) - . Fixed bug #61043 (Regression in magic_quotes_gpc fix for CVE-2012-0831). - (Ondřej Surý) - . Fixed bug #61000 (Exceeding max nesting level doesn't delete numerical - vars). (Laruence) - . Fixed bug #60895 (Possible invalid handler usage in windows random - functions). (Pierre) - . Fixed bug #60825 (Segfault when running symfony 2 tests). - (Dmitry, Laruence) - . Fixed bug #60801 (strpbrk() mishandles NUL byte). (Adam) - . Fixed bug #60569 (Nullbyte truncates Exception $message). (Ilia) - . Fixed bug #60227 (header() cannot detect the multi-line header with CR). - (rui, Gustavo) - . Fixed bug #60222 (time_nanosleep() does validate input params). (Ilia) - . Fixed bug #54374 (Insufficient validating of upload name leading to - corrupted $_FILES indices). (CVE-2012-1172). (Stas, lekensteyn at - gmail dot com, Pierre) - . Fixed bug #52719 (array_walk_recursive crashes if third param of the - function is by reference). (Nikita Popov) - . Fixed bug #51860 (Include fails with toplevel symlink to /). (Dmitry) - -- DOM - . Added debug info handler to DOM objects. (Gustavo, Joey Smith) - -- FPM - . Fixed bug #61430 (Transposed memset() params in sapi/fpm/fpm/fpm_shm.c). - (michaelhood at gmail dot com, Ilia) - -- Ibase - . Fixed bug #60947 (Segmentation fault while executing ibase_db_info). - (Ilia) - -- Installation - . Fixed bug #61172 (Add Apache 2.4 support). (Chris Jones) - -- Fileinfo - . Fixed bug #61173 (Unable to detect error from finfo constructor). (Gustavo) - -- Firebird Database extension (ibase): - . Fixed bug #60802 (ibase_trans() gives segfault when passing params). - -- Libxml: - . Fixed bug #61617 (Libxml tests failed(ht is already destroyed)). - (Laruence) - . Fixed bug #61367 (open_basedir bypass using libxml RSHUTDOWN). - (Tim Starling) - -- mysqli - . Fixed bug #61003 (mysql_stat() require a valid connection). (Johannes). - -- PDO_mysql - . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't - always work). (Johannes) - . Fixed bug #61194 (PDO should export compression flag with myslqnd). - (Johannes) - -- PDO_odbc - . Fixed bug #61212 (PDO ODBC Segfaults on SQL_SUCESS_WITH_INFO). (Ilia) - -- PDO_pgsql - . Fixed bug #61267 (pdo_pgsql's PDO::exec() returns the number of SELECTed - rows on postgresql >= 9). (ben dot pineau at gmail dot com) - -- PDO_Sqlite extension: - . Add createCollation support. (Damien) - -- Phar: - . Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL - bytes). (Nikic) - -- PHP-FPM SAPI: - . Fixed bug #60811 (php-fpm compilation problem). (rasmus) - -- Readline: - . Fixed bug #61088 (Memory leak in readline_callback_handler_install). - (Nikic, Laruence) - . Add open_basedir checks to readline_write_history and readline_read_history. - (Rasmus, reported by Mateusz Goik) - -- Reflection: - . Fixed bug #61388 (ReflectionObject:getProperties() issues invalid reads - when get_properties returns a hash table with (inaccessible) dynamic - numeric properties). (Gustavo) - . Fixed bug #60968 (Late static binding doesn't work with - ReflectionMethod::invokeArgs()). (Laruence) - -- SOAP - . Fixed basic HTTP authentication for WSDL sub requests. (Dmitry) - . Fixed bug #60887 (SoapClient ignores user_agent option and sends no - User-Agent header). (carloschilazo at gmail dot com) - . Fixed bug #60842, #51775 (Chunked response parsing error when - chunksize length line is > 10 bytes). (Ilia) - . Fixed bug #49853 (Soap Client stream context header option ignored). - (Dmitry) - -- SPL - . Fixed memory leak when calling SplFileInfo's constructor twice. (Felipe) - . Fixed bug #61418 (Segmentation fault when DirectoryIterator's or - FilesystemIterator's iterators are requested more than once without - having had its dtor callback called in between). (Gustavo) - . Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence) - . Fixed bug #61326 (ArrayObject comparison). (Gustavo) - -- SQLite3 extension: - . Add createCollation() method. (Brad Dewar) - -- Session: - . Fixed bug #60860 (session.save_handler=user without defined function core - dumps). (Felipe) - . Fixed bug #60634 (Segmentation fault when trying to die() in - SessionHandler::write()). (Ilia) - -- Streams: - . Fixed bug #61371 (stream_context_create() causes memory leaks on use - streams_socket_create). (Gustavo) - . Fixed bug #61253 (Wrappers opened with errors concurrency problem on ZTS). - (Gustavo) - . Fixed bug #61115 (stream related segfault on fatal error in - php_stream_context_link). (Gustavo) - . Fixed bug #60817 (stream_get_line() reads from stream even when there is - already sufficient data buffered). stream_get_line() now behaves more like - fgets(), as is documented. (Gustavo) - . Further fix for bug #60455 (stream_get_line misbehaves if EOF is not - detected together with the last read). (Gustavo) - . Fixed bug #60106 (stream_socket_server silently truncates long unix - socket paths). (Ilia) - -- Tidy: - . Fixed bug #54682 (tidy null pointer dereference). (Tony, David Soria Parra) - -- XMLRPC: - . Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary - variable). (Nikita Popov) - . Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikic) - -- Zlib: - . Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikic) - -02 Feb 2012, PHP 5.3.10 - -- Core: - . Fixed arbitrary remote code execution vulnerability reported by Stefan - Esser, CVE-2012-0830. (Stas, Dmitry) - -10 Jan 2012, PHP 5.3.9 - -- Core: - . Added max_input_vars directive to prevent attacks based on hash collisions - (CVE-2011-4885) (Dmitry). - . Fixed bug #60205 (possible integer overflow in content_length). (Laruence) - . Fixed bug #60139 (Anonymous functions create cycles not detected by the - GC). (Dmitry) - . Fixed bug #60138 (GC crash with referenced array in RecursiveArrayIterator) - (Dmitry). - . Fixed bug #60120 (proc_open's streams may hang with stdin/out/err when - the data exceeds or is equal to 2048 bytes). (Pierre, Pascal Borreli) - . Fixed bug #60099 (__halt_compiler() works in braced namespaces). (Felipe) - . Fixed bug #60019 (Function time_nanosleep() is undefined on OS X). (Ilia) - . Fixed bug #55874 (GCC does not provide __sync_fetch_and_add on some archs). - (klightspeed at netspace dot net dot au) - . Fixed bug #55798 (serialize followed by unserialize with numeric object - prop. gives integer prop). (Gustavo) - . Fixed bug #55749 (TOCTOU issue in getenv() on Windows builds). (Pierre) - . Fixed bug #55707 (undefined reference to `__sync_fetch_and_add_4' on Linux - parisc). (Felipe) - . Fixed bug #55674 (fgetcsv & str_getcsv skip empty fields in some - tab-separated records). (Laruence) - . Fixed bug #55649 (Undefined function Bug()). (Laruence) - . Fixed bug #55622 (memory corruption in parse_ini_string). (Pierre) - . Fixed bug #55576 (Cannot conditionally move uploaded file without race - condition). (Gustavo) - . Fixed bug #55510: $_FILES 'name' missing first character after upload. - (Arpad) - . Fixed bug #55509 (segfault on x86_64 using more than 2G memory). (Laruence) - . Fixed bug #55504 (Content-Type header is not parsed correctly on - HTTP POST request). (Hannes) - . Fixed bug #55475 (is_a() triggers autoloader, new optional 3rd argument to - is_a and is_subclass_of). (alan_k) - . Fixed bug #52461 (Incomplete doctype and missing xmlns). - (virsacer at web dot de, Pierre) - . Fixed bug #55366 (keys lost when using substr_replace an array). (Arpad) - . Fixed bug #55273 (base64_decode() with strict rejects whitespace after - pad). (Ilia) - . Fixed bug #52624 (tempnam() by-pass open_basedir with nonnexistent - directory). (Felipe) - . Fixed bug #50982 (incorrect assumption of PAGE_SIZE size). (Dmitry) - . Fixed invalid free in call_user_method() function. (Felipe) - . Fixed bug #43200 (Interface implementation / inheritence not possible in - abstract classes). (Felipe) - - -- BCmath: - . Fixed bug #60377 (bcscale related crashes on 64bits platforms). (shm) - -- Calendar: - . Fixed bug #55797 (Integer overflow in SdnToGregorian leads to segfault (in - optimized builds). (Gustavo) - -- cURL: - . Fixed bug #60439 (curl_copy_handle segfault when used with - CURLOPT_PROGRESSFUNCTION). (Pierrick) - . Fixed bug #54798 (Segfault when CURLOPT_STDERR file pointer is closed - before calling curl_exec). (Hannes) - . Fixed issues were curl_copy_handle() would sometimes lose copied - preferences. (Hannes) - -- DateTime: - . Fixed bug #60373 (Startup errors with log_errors on cause segfault). - (Derick) - . Fixed bug #60236 (TLA timezone dates are not converted properly from - timestamp). (Derick) - . Fixed bug #55253 (DateTime::add() and sub() result -1 hour on objects with - time zone type 2). (Derick) - . Fixed bug #54851 (DateTime::createFromFormat() doesn't interpret "D"). - (Derick) - . Fixed bug #53502 (strtotime with timezone memory leak). (Derick) - . Fixed bug #52062 (large timestamps with DateTime::getTimestamp and - DateTime::setTimestamp). (Derick) - . Fixed bug #51994 (date_parse_from_format is parsing invalid date using 'yz' - format). (Derick) - . Fixed bug #52113 (Seg fault while creating (by unserialization) - DatePeriod). (Derick) - . Fixed bug #48476 (cloning extended DateTime class without calling - parent::__constr crashed PHP). (Hannes) - -- EXIF: - . Fixed bug #60150 (Integer overflow during the parsing of invalid exif - header). (CVE-2011-4566) (Stas, flolechaud at gmail dot com) - -- Fileinfo: - . Fixed bug #60094 (C++ comment fails in c89). (Laruence) - . Fixed possible memory leak in finfo_open(). (Felipe) - . Fixed memory leak when calling the Finfo constructor twice. (Felipe) - -- Filter: - . Fixed Bug #55478 (FILTER_VALIDATE_EMAIL fails with internationalized - domain name addresses containing >1 -). (Ilia) - -- FTP: - . Fixed bug #60183 (out of sync ftp responses). (bram at ebskamp dot me, - rasmus) - -- Gd: - . Fixed bug #60160 (imagefill() doesn't work correctly - for small images). (Florian) - . Fixed potential memory leak on a png error (Rasmus, Paul Saab) - -- Intl: - . Fixed bug #60192 (SegFault when Collator not constructed - properly). (Florian) - . Fixed memory leak in several Intl locale functions. (Felipe) - -- Json: - . Fixed bug #55543 (json_encode() with JSON_NUMERIC_CHECK fails on objects - with numeric string properties). (Ilia, dchurch at sciencelogic dot com) - -- Mbstring: - . Fixed possible crash in mb_ereg_search_init() using empty pattern. (Felipe) - -- MS SQL: - . Fixed bug #60267 (Compile failure with freetds 0.91). (Felipe) - -- MySQL: - . Fixed bug #55550 (mysql.trace_mode miscounts result sets). (Johannes) - -- MySQLi extension: - . Fixed bug #55859 (mysqli->stat property access gives error). (Andrey) - . Fixed bug #55582 (mysqli_num_rows() returns always 0 for unbuffered, when - mysqlnd is used). (Andrey) - . Fixed bug #55703 (PHP crash when calling mysqli_fetch_fields). - (eran at zend dot com, Laruence) - -- mysqlnd - . Fixed bug #55609 (mysqlnd cannot be built shared). (Johannes) - . Fixed bug #55067 (MySQL doesn't support compression - wrong config option). - (Andrey) - -- NSAPI SAPI: - . Don't set $_SERVER['HTTPS'] on unsecure connection (bug #55403). (Uwe - Schindler) - -- OpenSSL: - . Fixed bug #60279 (Fixed NULL pointer dereference in - stream_socket_enable_crypto, case when ssl_handle of session_stream is not - initialized.) (shm) - . Fix segfault with older versions of OpenSSL. (Scott) - -- Oracle Database extension (OCI8): - . Fixed bug #59985 (show normal warning text for OCI_NO_DATA). - (Chris Jones) - . Increased maximum Oracle error message buffer length for new 11.2.0.3 size. - (Chris Jones) - . Improve internal initalization failure error messages. (Chris Jones) - -- PDO - . Fixed bug #55776 (PDORow to session bug). (Johannes) - -- PDO Firebird: - . Fixed bug #48877 ("bindValue" and "bindParam" do not work for PDO Firebird). - (Mariuz) - . Fixed bug #47415 (PDO_Firebird segfaults when passing lowercased column name to bindColumn). - . Fixed bug #53280 (PDO_Firebird segfaults if query column count less than param count). - (Mariuz) - -- PDO MySQL driver: - . Fixed bug #60155 (pdo_mysql.default_socket ignored). (Johannes) - . Fixed bug #55870 (PDO ignores all SSL parameters when used with mysql - native driver). (Pierre) - . Fixed bug #54158 (MYSQLND+PDO MySQL requires #define - MYSQL_OPT_LOCAL_INFILE). (Andrey) - -- PDO OCI driver: - . Fixed bug #55768 (PDO_OCI can't resume Oracle session after it's been - killed). (mikhail dot v dot gavrilov at gmail dot com, Chris Jones, Tony) - -- Phar: - . Fixed bug #60261 (NULL pointer dereference in phar). (Felipe) - . Fixed bug #60164 (Stubs of a specific length break phar_open_from_fp - scanning for __HALT_COMPILER). (Ralph Schindler) - . Fixed bug #53872 (internal corruption of phar). (Hannes) - . Fixed bug #52013 (Unable to decompress files in a compressed phar). (Hannes) - -- PHP-FPM SAPI: - . Dropped restriction of not setting the same value multiple times, the last - one holds. (giovanni at giacobbi dot net, fat) - . Added .phar to default authorized extensions. (fat) - . Fixed bug #60659 (FPM does not clear auth_user on request accept). - (bonbons at linux-vserver dot org) - . Fixed bug #60629 (memory corruption when web server closed the fcgi fd). - (fat) - . Enhance error log when the primary script can't be open. FR #60199. (fat) - . Fixed bug #60179 (php_flag and php_value does not work properly). (fat) - . Fixed bug #55577 (status.html does not install). (fat) - . Fixed bug #55533 (The -d parameter doesn't work). (fat) - . Fixed bug #55526 (Heartbeat causes a lot of unnecessary events). (fat) - . Fixed bug #55486 (status show BIG processes number). (fat) - . Enhanced security by limiting access to user defined extensions. - FR #55181. (fat) - . Added process.max to control the number of process FPM can fork. FR #55166. - (fat) - . Implemented FR #54577 (Enhanced status page with full status and details - about each processes. Also provide a web page (status.html) for - real-time FPM status. (fat) - . Lowered default value for Process Manager. FR #54098. (fat) - . Implemented FR #52569 (Add the "ondemand" process-manager - to allow zero children). (fat) - . Added partial syslog support (on error_log only). FR #52052. (fat) - -- Postgres: - . Fixed bug #60244 (pg_fetch_* functions do not validate that row param - is >0). (Ilia) - . Added PGSQL_LIBPQ_VERSION/PGSQL_LIBPQ_VERSION_STR constants. (Yasuo) - -- Reflection: - . Fixed bug #60367 (Reflection and Late Static Binding). (Laruence) - -- Session: - . Fixed bug #55267 (session_regenerate_id fails after header sent). (Hannes) - -- SimpleXML: - . Reverted the SimpleXML->query() behaviour to returning empty arrays - instead of false when no nodes are found as it was since 5.3.3 - (bug #48601). (chregu, rrichards) - -- SOAP - . Fixed bug #54911 (Access to a undefined member in inherit SoapClient may - cause Segmentation Fault). (Dmitry) - . Fixed bug #48216 (PHP Fatal error: SOAP-ERROR: Parsing WSDL: - Extra content at the end of the doc, when server uses chunked transfer - encoding with spaces after chunk size). (Dmitry) - . Fixed bug #44686 (SOAP-ERROR: Parsing WSDL with references). (Dmitry) - -- Sockets: - . Fixed bug #60048 (sa_len a #define on IRIX). (china at thewrittenword dot - com) - -- SPL: - . Fixed bug #60082 (Crash in ArrayObject() when using recursive references). - (Tony) - . Fixed bug #55807 (Wrong value for splFileObject::SKIP_EMPTY). - (jgotti at modedemploi dot fr, Hannes) - . Fixed bug #54304 (RegexIterator::accept() doesn't work with scalar values). - (Hannes) - -- Streams: - . Fixed bug #60455 (stream_get_line misbehaves if EOF is not detected together - with the last read). (Gustavo) - -- Tidy: - . Fixed bug #54682 (Tidy::diagnose() NULL pointer dereference). - (Maksymilian Arciemowicz, Felipe) - -- XSL: - . Added xsl.security_prefs ini option to define forbidden operations within - XSLT stylesheets, default is not to enable write operations. This option - won't be in 5.4, since there's a new method. Fixes Bug #54446. (Chregu, - Nicolas Gregoire) - -23 Aug 2011, PHP 5.3.8 - -- Core: - . Fixed bug #55439 (crypt() returns only the salt for MD5). (Stas) - -- OpenSSL: - . Reverted a change in timeout handling restoring PHP 5.3.6 behavior, - as the new behavior caused mysqlnd SSL connections to hang (#55283). - (Pierre, Andrey, Johannes) - -18 Aug 2011, PHP 5.3.7 -- Upgraded bundled SQLite to version 3.7.7.1. (Scott) -- Upgraded bundled PCRE to version 8.12. (Scott) - -- Zend Engine: - . Fixed bug #55156 (ReflectionClass::getDocComment() returns comment even - though the class has none). (Felipe) - . Fixed bug #55007 (compiler fail after previous fail). (Felipe) - . Fixed bug #54910 (Crash when calling call_user_func with unknown function - name). (Dmitry) - . Fixed bug #54804 (__halt_compiler and imported namespaces). - (Pierrick, Felipe) - . Fixed bug #54624 (class_alias and type hint). (Felipe) - . Fixed bug #54585 (track_errors causes segfault). (Dmitry) - . Fixed bug #54423 (classes from dl()'ed extensions are not destroyed). - (Tony, Dmitry) - . Fixed bug #54372 (Crash accessing global object itself returned from its - __get() handle). (Dmitry) - . Fixed bug #54367 (Use of closure causes problem in ArrayAccess). (Dmitry) - . Fixed bug #54358 (Closure, use and reference). (Dmitry) - . Fixed bug #54262 (Crash when assigning value to a dimension in a non-array). - (Dmitry) - . Fixed bug #54039 (use() of static variables in lambda functions can break - staticness). (Dmitry) - -- Core - . Updated crypt_blowfish to 1.2. ((CVE-2011-2483) (Solar Designer) - . Removed warning when argument of is_a() or is_subclass_of() is not - a known class. (Stas) - . Fixed crash in error_log(). (Felipe) Reported by Mateusz Kocielski. - . Added PHP_MANDIR constant telling where the manpages were installed into, - and an --man-dir argument to php-config. (Hannes) - . Fixed a crash inside dtor for error handling. (Ilia) - . Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas) - . Implemented FR #54459 (Range function accuracy). (Adam) - - . Fixed bug #55399 (parse_url() incorrectly treats ':' as a valid path). - (Ilia) - . Fixed bug #55339 (Segfault with allow_call_time_pass_reference = Off). - (Dmitry) - . Fixed bug #55295 [NEW]: popen_ex on windows, fixed possible heap overflow - (Pierre) - . Fixed bug #55258 (Windows Version Detecting Error). - ( xiaomao5 at live dot com, Pierre) - . Fixed bug #55187 (readlink returns weird characters when false result). - (Pierre) - . Fixed bug #55082 (var_export() doesn't escape properties properly). - (Gustavo) - . Fixed bug #55014 (Compile failure due to improper use of ctime_r()). (Ilia) - . Fixed bug #54939 (File path injection vulnerability in RFC1867 File upload - filename). (Felipe) Reported by Krzysztof Kotowicz. (CVE-2011-2202) - . Fixed bug #54935 php_win_err can lead to crash. (Pierre) - . Fixed bug #54924 (assert.* is not being reset upon request shutdown). (Ilia) - . Fixed bug #54895 (Fix compiling with older gcc version without need for - membar_producer macro). (mhei at heimpold dot de) - . Fixed bug #54866 (incorrect accounting for realpath_cache_size). - (Dustin Ward) - . Fixed bug #54723 (getimagesize() doesn't check the full ico signature). - (Scott) - . Fixed bug #54721 (Different Hashes on Windows, BSD and Linux on wrong Salt - size). (Pierre, os at irj dot ru) - . Fixed bug #54580 (get_browser() segmentation fault when browscap ini - directive is set through php_admin_value). (Gustavo) - . Fixed bug #54332 (Crash in zend_mm_check_ptr // Heap corruption). (Dmitry) - . Fixed bug #54305 (Crash in gc_remove_zval_from_buffer). (Dmitry) - . Fixed bug #54238 (use-after-free in substr_replace()). (Stas) - (CVE-2011-1148) - . Fixed bug #54204 (Can't set a value with a PATH section in php.ini). - (Pierre) - . Fixed bug #54180 (parse_url() incorrectly parses path when ? in fragment). - (tomas dot brastavicius at quantum dot lt, Pierrick) - . Fixed bug #54137 (file_get_contents POST request sends additional line - break). (maurice-php at mertinkat dot net, Ilia) - . Fixed bug #53848 (fgetcsv() ignores spaces at beginnings of fields). (Ilia) - . Alternative fix for bug #52550, as applied to the round() function (signed - overflow), as the old fix impacted the algorithm for numbers with magnitude - smaller than 0. (Gustavo) - . Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces) - (Ralph Schindler, Dmitry) - . Fixed bug #52935 (call exit in user_error_handler cause stream relate - core). (Gustavo) - . Fixed bug #51997 (SEEK_CUR with 0 value, returns a warning). (Ilia) - . Fixed bug #50816 (Using class constants in array definition fails). - (Pierrick, Dmitry) - . Fixed bug #50363 (Invalid parsing in convert.quoted-printable-decode - filter). (slusarz at curecanti dot org) - . Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using - TMPDIR on Windows). (Pierre) - -- Apache2 Handler SAPI: - . Fixed bug #54529 (SAPI crashes on apache_config.c:197). - (hebergement at riastudio dot fr) - -- CLI SAPI: - . Fixed bug #52496 (Zero exit code on option parsing failure). (Ilia) - -- cURL extension: - . Added ini option curl.cainfo (support for custom cert db). (Pierre) - . Added CURLINFO_REDIRECT_URL support. (Daniel Stenberg, Pierre) - . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and - CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815. (Pierrick) - -- DateTime extension: - . Fixed bug where the DateTime object got changed while using date_diff(). - (Derick) - . Fixed bug #54340 (DateTime::add() method bug). (Adam) - . Fixed bug #54316 (DateTime::createFromFormat does not handle trailing '|' - correctly). (Adam) - . Fixed bug #54283 (new DatePeriod(NULL) causes crash). (Felipe) - . Fixed bug #51819 (Case discrepancy in timezone names cause Uncaught - exception and fatal error). (Hannes) - -- DBA extension: - . Supress warning on non-existent file open with Berkeley DB 5.2. (Chris Jones) - . Fixed bug #54242 (dba_insert returns true if key already exists). (Felipe) - -- Exif extesion: - . Fixed bug #54121 (error message format string typo). (Ilia) - -- Fileinfo extension: - . Fixed bug #54934 (Unresolved symbol strtoull in HP-UX 11.11). (Felipe) - -- Filter extension: - . Added 3rd parameter to filter_var_array() and filter_input_array() - functions that allows disabling addition of empty elements. (Ilia) - . Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). (Ilia) - -- Interbase extension: - . Fixed bug #54269 (Short exception message buffer causes crash). (Felipe) - -- intl extension: - . Implemented FR #54561 (Expose ICU version info). (David Zuelke, Ilia) - . Implemented FR #54540 (Allow loading of arbitrary resource bundles when - fallback is disabled). (David Zuelke, Stas) - -- Imap extension: - . Fixed bug #55313 (Number of retries not set when params specified). - (kevin at kevinlocke dot name) - -- json extension: - . Fixed bug #54484 (Empty string in json_decode doesn't reset - json_last_error()). (Ilia) - -- LDAP extension: - . Fixed bug #53339 (Fails to build when compilng with gcc 4.5 and DSO - libraries). (Clint Byrum, Raphael) - -- libxml extension: - . Fixed bug #54601 (Removing the doctype node segfaults). (Hannes) - . Fixed bug #54440 (libxml extension ignores default context). (Gustavo) - -- mbstring extension: - . Fixed bug #54494 (mb_substr() mishandles UTF-32LE and UCS-2LE). (Gustavo) - -- MCrypt extension: - . Change E_ERROR to E_WARNING in mcrypt_create_iv when not enough data - has been fetched (Windows). (Pierre) - . Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random - data on Windows). (Pierre) - -- mysqlnd - . Fixed crash when using more than 28,000 bound parameters. Workaround is to - set mysqlnd.net_cmd_buffer_size to at least 9000. (Andrey) - . Fixed bug #54674 mysqlnd valid_sjis_(head|tail) is using invalid operator - and range). (nihen at megabbs dot com, Andrey) - -- MySQLi extension: - . Fixed bug #55283 (SSL options set by mysqli_ssl_set ignored for MySQLi - persistent connections). (Andrey) - . Fixed Bug #54221 (mysqli::get_warnings segfault when used in multi queries). - (Andrey) - -- OpenSSL extension: - . openssl_encrypt()/openssl_decrypt() truncated keys of variable length - ciphers to the OpenSSL default for the algorithm. (Scott) - . On blocking SSL sockets respect the timeout option where possible. - (Scott) - . Fixed bug #54992 (Stream not closed and error not returned when SSL - CN_match fails). (Gustavo, laird_ngrps at dodo dot com dot au) - -- Oracle Database extension (OCI8): - . Added oci_client_version() returning the runtime Oracle client library - version. (Chris Jones) - -. PCRE extension: - . Increased the backtrack limit from 100000 to 1000000 (Rasmus) - -- PDO extension: - . Fixed bug #54929 (Parse error with single quote in sql comment). (Felipe) - . Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE - settings). (Ilia) - -- PDO DBlib driver: - . Fixed bug #54329 (MSSql extension memory leak). - (dotslashpok at gmail dot com) - . Fixed bug #54167 (PDO_DBLIB returns null on SQLUNIQUE field). - (mjh at hodginsmedia dot com, Felipe) - -- PDO ODBC driver: - . Fixed data type usage in 64bit. (leocsilva at gmail dot com) - -- PDO MySQL driver: - . Fixed bug #54644 (wrong pathes in php_pdo_mysql_int.h). (Tony, Johannes) - . Fixed bug #53782 (foreach throws irrelevant exception). (Johannes, Andrey) - . Implemented FR #48587 (MySQL PDO driver doesn't support SSL connections). - (Rob) - -- PDO PostgreSQL driver: - . Fixed bug #54318 (Non-portable grep option used in PDO pgsql - configuration). (bwalton at artsci dot utoronto dot ca) - -- PDO Oracle driver: - . Fixed bug #44989 (64bit Oracle RPMs still not supported by pdo-oci). - (jbnance at tresgeek dot net) - -- Phar extension: - . Fixed bug #54395 (Phar::mount() crashes when calling with wrong parameters). - (Felipe) - -- PHP-FPM SAPI: - . Implemented FR #54499 (FPM ping and status_path should handle HEAD request). (fat) - . Implemented FR #54172 (Overriding the pid file location of php-fpm). (fat) - . Fixed missing Expires and Cache-Control headers for ping and status pages. - (fat) - . Fixed memory leak. (fat) Reported and fixed by Giovanni Giacobbi. - . Fixed wrong value of log_level when invoking fpm with -tt. (fat) - . Added xml format to the status page. (fat) - . Removed timestamp in logs written by children processes. (fat) - . Fixed exit at FPM startup on fpm_resources_prepare() errors. (fat) - . Added master rlimit_files and rlimit_core in the global configuration - settings. (fat) - . Removed pid in debug logs written by chrildren processes. (fat) - . Added custom access log (also added per request %CPU and memory - mesurement). (fat) - . Added a real scoreboard and several improvements to the status page. (fat) - -- Reflection extension: - . Fixed bug #54347 (reflection_extension does not lowercase module function - name). (Felipe, laruence at yahoo dot com dot cn) - -- SOAP extension: - . Fixed bug #55323 (SoapClient segmentation fault when XSD_TYPEKIND_EXTENSION - contains itself). (Dmitry) - . Fixed bug #54312 (soap_version logic bug). (tom at samplonius dot org) - -- Sockets extension: - . Fixed stack buffer overflow in socket_connect(). (CVE-2011-1938) - Found by Mateusz Kocielski, Marek Kroemeke and Filip Palian. (Felipe) - . Changed socket_set_block() and socket_set_nonblock() so they emit warnings - on error. (Gustavo) - . Fixed bug #51958 (socket_accept() fails on IPv6 server sockets). (Gustavo) - -- SPL extension: - . Fixed bug #54971 (Wrong result when using iterator_to_array with use_keys - on true). (Pierrick) - . Fixed bug #54970 (SplFixedArray::setSize() isn't resizing). (Felipe) - . Fixed bug #54609 (Certain implementation(s) of SplFixedArray cause hard - crash). (Felipe) - . Fixed bug #54384 (Dual iterators, GlobIterator, SplFileObject and - SplTempFileObject crash when user-space classes don't call the paren - constructor). (Gustavo) - . Fixed bug #54292 (Wrong parameter causes crash in - SplFileObject::__construct()). (Felipe) - . Fixed bug #54291 (Crash iterating DirectoryIterator for dir name starting - with \0). (Gustavo) - . Fixed bug #54281 (Crash in non-initialized RecursiveIteratorIterator). - (Felipe) - -- Streams: - . Fixed bug #54946 (stream_get_contents infinite loop). (Hannes) - . Fixed bug #54623 (Segfault when writing to a persistent socket after - closing a copy of the socket). (Gustavo) - . Fixed bug #54681 (addGlob() crashes on invalid flags). (Felipe) - - -17 Mar 2011, PHP 5.3.6 -- Upgraded bundled Sqlite3 to version 3.7.4. (Ilia) -- Upgraded bundled PCRE to version 8.11. (Ilia) - -- Zend Engine: - . Indirect reference to $this fails to resolve if direct $this is never used - in method. (Scott) - . Added options to debug backtrace functions. (Stas) - . Fixed bug numerous crashes due to setlocale (crash on error, pcre, mysql - etc.) on Windows in thread safe mode. (Pierre) - . Fixed Bug #53971 (isset() and empty() produce apparently spurious runtime - error). (Dmitry) - . Fixed Bug #53958 (Closures can't 'use' shared variables by value and by - reference). (Dmitry) - . Fixed Bug #53629 (memory leak inside highlight_string()). (Hannes, Ilia) - . Fixed Bug #51458 (Lack of error context with nested exceptions). (Stas) - . Fixed Bug #47143 (Throwing an exception in a destructor causes a fatal - error). (Stas) - . Fixed bug #43512 (same parameter name can be used multiple times in - method/function definition). (Felipe) - -- Core: - . Added ability to connect to HTTPS sites through proxy with basic - authentication using stream_context/http/header/Proxy-Authorization (Dmitry) - . Changed default value of ini directive serialize_precision from 100 to 17. - (Gustavo) - . Fixed bug #54055 (buffer overrun with high values for precision ini - setting). (Gustavo) - . Fixed bug #53959 (reflection data for fgetcsv out-of-date). (Richard) - . Fixed bug #53577 (Regression introduced in 5.3.4 in open_basedir with a - trailing forward slash). (lekensteyn at gmail dot com, Pierre) - . Fixed bug #53682 (Fix compile on the VAX). (Rasmus, jklos) - . Fixed bug #48484 (array_product() always returns 0 for an empty array). - (Ilia) - . Fixed bug #48607 (fwrite() doesn't check reply from ftp server before - exiting). (Ilia) - - -- Calendar extension: - . Fixed bug #53574 (Integer overflow in SdnToJulian, sometimes leading to - segfault). (Gustavo) - -- DOM extension: - . Implemented FR #39771 (Made DOMDocument::saveHTML accept an optional DOMNode - like DOMDocument::saveXML). (Gustavo) - -- DateTime extension: - . Fixed a bug in DateTime->modify() where absolute date/time statements had - no effect. (Derick) - . Fixed bug #53729 (DatePeriod fails to initialize recurrences on 64bit - big-endian systems). (Derick, rein@basefarm.no) - . Fixed bug #52808 (Segfault when specifying interval as two dates). (Stas) - . Fixed bug #52738 (Can't use new properties in class extended from - DateInterval). (Stas) - . Fixed bug #52290 (setDate, setISODate, setTime works wrong when DateTime - created from timestamp). (Stas) - . Fixed bug #52063 (DateTime constructor's second argument doesn't have a - null default value). (Gustavo, Stas) - -- Exif extension: - . Fixed bug #54002 (crash on crafted tag, reported by Luca Carettoni). - (Pierre) (CVE-2011-0708) - -- Filter extension: - . Fixed bug #53924 (FILTER_VALIDATE_URL doesn't validate port number). - (Ilia, Gustavo) - . Fixed bug #53150 (FILTER_FLAG_NO_RES_RANGE is missing some IP ranges). - (Ilia) - . Fixed bug #52209 (INPUT_ENV returns NULL for set variables (CLI)). (Ilia) - . Fixed bug #47435 (FILTER_FLAG_NO_RES_RANGE don't work with ipv6). - (Ilia, valli at icsurselva dot ch) - -- Fileinfo extension: - . Fixed bug #54016 (finfo_file() Cannot determine filetype in archives). - (Hannes) - -- Gettext - . Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE - environment variable are set). (Pierre) - -- IMAP extension: - . Implemented FR #53812 (get MIME headers of the part of the email). (Stas) - . Fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long - MIME header unfolding). (Adam) - -- Intl extension: - . Fixed bug #53612 (Segmentation fault when using cloned several intl - objects). (Gustavo) - . Fixed bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values). - (Felipe) - . Implemented clone functionality for number, date & message formatters. - (Stas). - -- JSON extension: - . Fixed bug #53963 (Ensure error_code is always set during some failed - decodings). (Scott) - -- mysqlnd - . Fixed problem with always returning 0 as num_rows for unbuffered sets. - (Andrey, Ulf) - -- MySQL Improved extension: - . Added 'db' and 'catalog' keys to the field fetching functions (FR #39847). - (Kalle) - . Fixed buggy counting of affected rows when using the text protocol. The - collected statistics were wrong when multi_query was used with mysqlnd - (Andrey) - . Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL). - (Kalle) - . Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA - query). (Kalle, Andrey) - . Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to - call libmysql). (Kalle, tre-php-net at crushedhat dot com) - -- OpenSSL extension: - . Fixed stream_socket_enable_crypto() not honoring the socket timeout in - server mode. (Gustavo) - . Fixed bug #54060 (Memory leaks when openssl_encrypt). (Pierre) - . Fixed bug #54061 (Memory leaks when openssl_decrypt). (Pierre) - . Fixed bug #53592 (stream_socket_enable_crypto() busy-waits in client mode). - (Gustavo) - . Implemented FR #53447 (Cannot disable SessionTicket extension for servers - that do not support it) by adding a no_ticket SSL context option. (Adam, - Tony) - -- PDO MySQL driver: - . Fixed bug #53551 (PDOStatement execute segfaults for pdo_mysql driver). - (Johannes) - . Implemented FR #47802 (Support for setting character sets in DSN strings). - (Kalle) - -- PDO Oracle driver: - . Fixed bug #39199 (Cannot load Lob data with more than 4000 bytes on - ORACLE 10). (spatar at mail dot nnov dot ru) - -- PDO PostgreSQL driver: - . Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down). - (gyp at balabit dot hu) - -- Phar extension: - . Fixed bug #54247 (format-string vulnerability on Phar). (Felipe) - (CVE-2011-1153) - . Fixed bug #53541 (format string bug in ext/phar). - (crrodriguez at opensuse dot org, Ilia) - . Fixed bug #53898 (PHAR reports invalid error message, when the directory - does not exist). (Ilia) - -- PHP-FPM SAPI: - . Enforce security in the fastcgi protocol parsing. - (ef-lists at email dotde) - . Fixed bug #53777 (php-fpm log format now match php_error log format). (fat) - . Fixed bug #53527 (php-fpm --test doesn't set a valuable return value). (fat) - . Fixed bug #53434 (php-fpm slowlog now also logs the original request). (fat) - -- Readline extension: - . Fixed bug #53630 (Fixed parameter handling inside readline() function). - (jo at feuersee dot de, Ilia) - -- Reflection extension: - . Fixed bug #53915 (ReflectionClass::getConstant(s) emits fatal error on - constants with self::). (Gustavo) - -- Shmop extension: - . Fixed bug #54193 (Integer overflow in shmop_read()). (Felipe) - Reported by Jose Carlos Norte (CVE-2011-1092) - -- SNMP extension: - . Fixed bug #51336 (snmprealwalk (snmp v1) does not handle end of OID tree - correctly). (Boris Lytochkin) - -- SOAP extension: - . Fixed possible crash introduced by the NULL poisoning patch. - (Mateusz Kocielski, Pierre) - -- SPL extension: - . Fixed memory leak in DirectoryIterator::getExtension() and - SplFileInfo::getExtension(). (Felipe) - . Fixed bug #53914 (SPL assumes HAVE_GLOB is defined). (Chris Jones) - . Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0 - values). (Felipe) - . Fixed bug #49608 (Using CachingIterator on DirectoryIterator instance - segfaults). (Felipe) - - . Added SplFileInfo::getExtension(). FR #48767. (Peter Cowburn) - -- SQLite3 extension: - . Fixed memory leaked introduced by the NULL poisoning patch. - (Mateusz Kocielski, Pierre) - . Fixed memory leak on SQLite3Result and SQLite3Stmt when assigning to a - reference. (Felipe) - . Add SQlite3_Stmt::readonly() for checking if a statement is read only. - (Scott) - . Implemented FR #53466 (SQLite3Result::columnType() should return false after - all of the rows have been fetched). (Scott) - -- Streams: - . Fixed bug #54092 (Segmentation fault when using HTTP proxy with the FTP - wrapper). (Gustavo) - . Fixed bug #53913 (Streams functions assume HAVE_GLOB is defined). (Chris - Jones) - . Fixed bug #53903 (userspace stream stat callback does not separate the - elements of the returned array before converting them). (Gustavo) - . Implemented FR #26158 (open arbitrary file descriptor with fopen). (Gustavo) - -- Tokenizer Extension - . Fixed bug #54089 (token_get_all() does not stop after __halt_compiler). - (Nikita Popov, Ilia) - -- XSL extension: - . Fixed memory leaked introduced by the NULL poisoning patch. - (Mateusz Kocielski, Pierre) - -- Zip extension: - . Added the filename into the return value of stream_get_meta_data(). (Hannes) - . Fixed bug #53923 (Zip functions assume HAVE_GLOB is defined). (Adam) - . Fixed bug #53893 (Wrong return value for ZipArchive::extractTo()). (Pierre) - . Fixed bug #53885 (ZipArchive segfault with FL_UNCHANGED on empty archive). - (Stas, Maksymilian Arciemowicz). (CVE-2011-0421) - . Fixed bug #53854 (Missing constants for compression type). (Richard, Adam) - . Fixed bug #53603 (ZipArchive should quiet stat errors). (brad dot froehle at - gmail dot com, Gustavo) - . Fixed bug #53579 (stream_get_contents() segfaults on ziparchive streams). - (Hannes) - . Fixed bug #53568 (swapped memset arguments in struct initialization). - (crrodriguez at opensuse dot org) - . Fixed bug #53166 (Missing parameters in docs and reflection definition). - (Richard) - . Fixed bug #49072 (feof never returns true for damaged file in zip). - (Gustavo, Richard Quadling) - -06 Jan 2011, PHP 5.3.5 -- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott, - Rasmus) - -09 Dec 2010, PHP 5.3.4 -- Upgraded bundled Sqlite3 to version 3.7.3. (Ilia) -- Upgraded bundled PCRE to version 8.10. (Ilia) - -- Security enhancements: - . Fixed crash in zip extract method (possible CWE-170). - (Maksymilian Arciemowicz, Pierre) - . Paths with NULL in them (foo\0bar.txt) are now considered as invalid. - (Rasmus) - . Fixed a possible double free in imap extension (Identified by Mateusz - Kocielski). (CVE-2010-4150). (Ilia) - . Fixed NULL pointer dereference in ZipArchive::getArchiveComment. - (CVE-2010-3709). (Maksymilian Arciemowicz) - . Fixed possible flaw in open_basedir (CVE-2010-3436). (Pierre) - . Fixed MOPS-2010-24, fix string validation. (CVE-2010-2950). (Pierre) - . Fixed symbolic resolution support when the target is a DFS share. (Pierre) - . Fixed bug #52929 (Segfault in filter_var with FILTER_VALIDATE_EMAIL with - large amount of data) (CVE-2010-3710). (Adam) - -- General improvements: - . Added stat support for zip stream. (Pierre) - . Added follow_location (enabled by default) option for the http stream - support. (Pierre) - . Improved support for is_link and related functions on Windows. (Pierre) - . Added a 3rd parameter to get_html_translation_table. It now takes a charset - hint, like htmlentities et al. (Gustavo) - -- Implemented feature requests: - . Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect - zend multibyte at runtime. (Kalle) - . Implemented FR #52173, added functions pcntl_get_last_error() and - pcntl_strerror(). (nick dot telford at gmail dot com, Arnaud) - . Implemented symbolic links support for open_basedir checks. (Pierre) - . Implemented FR #51804, SplFileInfo::getLinkTarget on Windows. (Pierre) - . Implemented FR #50692, not uploaded files don't count towards - max_file_uploads limit. As a side improvement, temporary files are not - opened for empty uploads and, in debug mode, 0-length uploads. (Gustavo) - -- Improved MySQLnd: - . Added new character sets to mysqlnd, which are available in MySQL 5.5 - (Andrey) - -- Improved PHP-FPM SAPI: - . Added '-p/--prefix' to php-fpm to use a custom prefix and run multiple - instances. (fat) - . Added custom process title for FPM. (fat) - . Added '-t/--test' to php-fpm to check and validate FPM conf file. (fat) - . Added statistics about listening socket queue length for FPM. - (andrei dot nigmatulin at gmail dot com, fat) - -- Core: - . Fixed extract() to do not overwrite $GLOBALS and $this when using - EXTR_OVERWRITE. (jorto at redhat dot com) - . Fixed bug in the Windows implementation of dns_get_record, where the two - last parameters wouldn't be filled unless the type were DNS_ANY (Gustavo). - . Changed the $context parameter on copy() to actually have an effect. (Kalle) - . Fixed htmlentities/htmlspecialchars accepting certain ill-formed UTF-8 - sequences. (Gustavo) - . Fixed bug #53409 (sleep() returns NULL on Windows). (Pierre) - . Fixed bug #53319 (strip_tags() may strip '
' incorrectly). (Felipe) - . Fixed bug #53304 (quot_print_decode does not handle lower-case hex digits). - (Ilia, daniel dot mueller at inexio dot net) - . Fixed bug #53248 (rawurlencode RFC 3986 EBCDIC support misses tilde char). - (Justin Martin) - . Fixed bug #53226 (file_exists fails on big filenames). (Adam) - . Fixed bug #53198 (changing INI setting "from" with ini_set did not have any - effect). (Gustavo) - . Fixed bug #53180 (post_max_size=0 not disabling the limit when the content - type is application/x-www-form-urlencoded or is not registered with PHP). - (gm at tlink dot de, Gustavo) - . Fixed bug #53141 (autoload misbehaves if called from closing session). - (ladislav at marek dot su) - . Fixed bug #53021 (In html_entity_decode, failure to convert numeric entities - with ENT_NOQUOTES and ISO-8859-1). Fixed and extended the fix of - ENT_NOQUOTES in html_entity_decode that had introduced the bug (rev - #185591) to other encodings. Additionaly, html_entity_decode() now doesn't - decode " if ENT_NOQUOTES is given. (Gustavo) - . Fixed bug #52931 (strripos not overloaded with function overloading - enabled). (Felipe) - . Fixed bug #52772 (var_dump() doesn't check for the existence of - get_class_name before calling it). (Kalle, Gustavo) - . Fixed bug #52534 (var_export array with negative key). (Felipe) - . Fixed bug #52327 (base64_decode() improper handling of leading padding in - strict mode). (Ilia) - . Fixed bug #52260 (dns_get_record fails with non-existing domain on Windows). - (a_jelly_doughnut at phpbb dot com, Pierre) - . Fixed bug #50953 (socket will not connect to IPv4 address when the host has - both IPv4 and IPv6 addresses, on Windows). (Gustavo, Pierre) - . Fixed bug #50524 (proc_open on Windows does not respect cwd as it does on - other platforms). (Pierre) - . Fixed bug #49687 (utf8_decode vulnerabilities and deficiencies in the number - of reported malformed sequences). (CVE-2010-3870) (Gustavo) - . Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8). - (Gustavo) - . Fixed bug #48831 (php -i has different output to php --ini). (Richard, - Pierre) - . Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4). - (Felipe) - . Fixed bug #47168 (printf of floating point variable prints maximum of 40 - decimal places). (Ilia) - . Fixed bug #46587 (mt_rand() does not check that max is greater than min). - (Ilia) - . Fixed bug #29085 (bad default include_path on Windows). (Pierre) - . Fixed bug #25927 (get_html_translation_table calls the ' ' instead of - '). (Gustavo) - -- Zend engine: - . Reverted fix for bug #51176 (Static calling in non-static method behaves - like $this->). (Felipe) - . Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED. - (Kalle) - . Fixed NULL dereference in lex_scan on zend multibyte builds where the script - had a flex incompatible encoding and there was no converter. (Gustavo) - . Fixed covariance of return-by-ref constraints. (Etienne) - . Fixed bug #53305 (E_NOTICE when defining a constant starts with - __COMPILER_HALT_OFFSET__). (Felipe) - . Fixed bug #52939 (zend_call_function does not respect ZEND_SEND_PREFER_REF). - (Dmitry) - . Fixed bug #52879 (Objects unreferenced in __get, __set, __isset or __unset - can be freed too early). (mail_ben_schmidt at yahoo dot com dot au, Dmitry) - . Fixed bug #52786 (PHP should reset section to [PHP] after ini sections). - (Fedora at famillecollet dot com) - . Fixed bug #52508 (newline problem with parse_ini_file+INI_SCANNER_RAW). - (Felipe) - . Fixed bug #52484 (__set() ignores setting properties with empty names). - (Felipe) - . Fixed bug #52361 (Throwing an exception in a destructor causes invalid - catching). (Dmitry) - . Fixed bug #51008 (Zend/tests/bug45877.phpt fails). (Dmitry) - -- Build issues: - . Fixed bug #52436 (Compile error if systems do not have stdint.h) - (Sriram Natarajan) - . Fixed bug #50345 (nanosleep not detected properly on some solaris versions). - (Ulf, Tony) - . Fixed bug #49215 (make fails on glob_wrapper). (Felipe) - -- Calendar extension: - . Fixed bug #52744 (cal_days_in_month incorrect for December 1 BCE). - (gpap at internet dot gr, Adam) - -- cURL extension: - . Fixed bug #52828 (curl_setopt does not accept persistent streams). - (Gustavo, Ilia) - . Fixed bug #52827 (cURL leaks handle and causes assertion error - (CURLOPT_STDERR)). (Gustavo) - . Fixed bug #52202 (CURLOPT_PRIVATE gets corrupted). (Ilia) - . Fixed bug #50410 (curl extension slows down PHP on Windows). (Pierre) - -- DateTime extension: - . Fixed bug #53297 (gettimeofday implementation in php/win32/time.c can return - 1 million microsecs). (ped at 7gods dot org) - . Fixed bug #52668 (Iterating over a dateperiod twice is broken). (Derick) - . Fixed bug #52454 (Relative dates and getTimestamp increments by one day). - (Derick) - . Fixed bug #52430 (date_parse parse 24:xx:xx as valid time). (Derick) - . Added support for the ( and ) delimiters/separators to - DateTime::createFromFormat(). (Derick) - -- DBA extension: - . Added Berkeley DB 5.1 support to the DBA extension. (Oracle Corp.) - -- DOM extension: - . Fixed bug #52656 (DOMCdataSection does not work with splitText). (Ilia) - -- Filter extension: - . Fixed the filter extension accepting IPv4 octets with a leading 0 as that - belongs to the unsupported "dotted octal" representation. (Gustavo) - . Fixed bug #53236 (problems in the validation of IPv6 addresses with leading - and trailing :: in the filter extension). (Gustavo) - . Fixed bug #50117 (problems in the validation of IPv6 addresses with IPv4 - addresses and ::). (Gustavo) - -- GD extension: - . Fixed bug #53492 (fix crash if anti-aliasing steps are invalid). (Pierre) - -- GMP extension: - . Fixed bug #52906 (gmp_mod returns negative result when non-negative is - expected). (Stas) - . Fixed bug #52849 (GNU MP invalid version match). (Adam) - -- Hash extension: - . Fixed bug #51003 (unaligned memory access in ext/hash/hash_tiger.c). - (Mike, Ilia) - -- Iconv extension: - . Fixed bug #52941 (The 'iconv_mime_decode_headers' function is skipping - headers). (Adam) - . Fixed bug #52599 (iconv output handler outputs incorrect content type - when flags are used). (Ilia) - . Fixed bug #51250 (iconv_mime_decode() does not ignore malformed Q-encoded - words). (Ilia) - -- Intl extension: - . Fixed crashes on invalid parameters in intl extension. (CVE-2010-4409). - (Stas, Maksymilian Arciemowicz) - . Added support for formatting the timestamp stored in a DateTime object. - (Stas) - . Fixed bug #50590 (IntlDateFormatter::parse result is limited to the integer - range). (Stas) - -- Mbstring extension: - . Fixed bug #53273 (mb_strcut() returns garbage with the excessive length - parameter). (CVE-2010-4156) (Mateusz Kocielski, Pierre, Moriyoshi) - . Fixed bug #52981 (Unicode casing table was out-of-date. Updated with - UnicodeData-6.0.0d7.txt and included the source of the generator program - with the distribution) (Gustavo). - . Fixed bug #52681 (mb_send_mail() appends an extra MIME-Version header). - (Adam) - -- MSSQL extension: - . Fixed possible crash in mssql_fetch_batch(). (Kalle) - . Fixed bug #52843 (Segfault when optional parameters are not passed in to - mssql_connect). (Felipe) - -- MySQL extension: - . Fixed bug #52636 (php_mysql_fetch_hash writes long value into int). - (Kalle, rein at basefarm dot no) - -- MySQLi extension: - . Fixed bug #52891 (Wrong data inserted with mysqli/mysqlnd when using - mysqli_stmt_bind_param and value> PHP_INT_MAX). (Andrey) - . Fixed bug #52686 (mysql_stmt_attr_[gs]et argument points to incorrect type). - (rein at basefarm dot no) - . Fixed bug #52654 (mysqli doesn't install headers with structures it uses). - (Andrey) - . Fixed bug #52433 (Call to undefined method mysqli::poll() - must be static). - (Andrey) - . Fixed bug #52417 (MySQLi build failure with mysqlnd on MacOS X). (Andrey) - . Fixed bug #52413 (MySQLi/libmysql build failure on OS X, FreeBSD). (Andrey) - . Fixed bug #52390 (mysqli_report() should be per-request setting). (Kalle) - . Fixed bug #52302 (mysqli_fetch_all does not work with MYSQLI_USE_RESULT). - (Andrey) - . Fixed bug #52221 (Misbehaviour of magic_quotes_runtime (get/set)). (Andrey) - . Fixed bug #45921 (Can't initialize character set hebrew). (Andrey) - -- MySQLnd: - . Fixed bug #52613 (crash in mysqlnd after hitting memory limit). (Andrey) - -- ODBC extension: - - Fixed bug #52512 (Broken error handling in odbc_execute). - (mkoegler at auto dot tuwien dot ac dot at) - -- Openssl extension: - . Fixed possible blocking behavior in openssl_random_pseudo_bytes on Windows. - (Pierre) - . Fixed bug #53136 (Invalid read on openssl_csr_new()). (Felipe) - . Fixed bug #52947 (segfault when ssl stream option capture_peer_cert_chain - used). (Felipe) - -- Oracle Database extension (OCI8): - . Fixed bug #53284 (Valgrind warnings in oci_set_* functions) (Oracle Corp.) - . Fixed bug #51610 (Using oci_connect causes PHP to take a long time to - exit). Requires Oracle 11.2.0.2 client libraries (or Oracle bug fix - 9891199) for this patch to have an effect. (Oracle Corp.) - -- PCNTL extension: - . Fixed bug #52784 (Race condition when handling many concurrent signals). - (nick dot telford at gmail dot com, Arnaud) - -- PCRE extension: - . Fixed bug #52971 (PCRE-Meta-Characters not working with utf-8). (Felipe) - . Fixed bug #52732 (Docs say preg_match() returns FALSE on error, but it - returns int(0)). (slugonamission at gmail dot com) - -- PHAR extension: - . Fixed bug #50987 (unaligned memory access in phar.c). - (geissert at debian dot org, Ilia) - -- PHP-FPM SAPI: - . Fixed bug #53412 (segfault when using -y). (fat) - . Fixed inconsistent backlog default value (-1) in FPM on many systems. (fat) - . Fixed bug #52501 (libevent made FPM crashed when forking -- libevent has - been removed). (fat) - . Fixed bug #52725 (gcc builtin atomic functions were sometimes used when they - were not available). (fat) - . Fixed bug #52693 (configuration file errors are not logged to stderr). (fat) - . Fixed bug #52674 (FPM Status page returns inconsistent Content-Type - headers). (fat) - . Fixed bug #52498 (libevent was not only linked to php-fpm). (fat) - -- PDO: - . Fixed bug #52699 (PDO bindValue writes long int 32bit enum). - (rein at basefarm dot no) - . Fixed bug #52487 (PDO::FETCH_INTO leaks memory). (Felipe) - -- PDO DBLib driver: - . Fixed bug #52546 (pdo_dblib segmentation fault when iterating MONEY values). - (Felipe) - -- PDO Firebird driver: - . Restored firebird support (VC9 builds only). (Pierre) - . Fixed bug #53335 (pdo_firebird did not implement rowCount()). - (preeves at ibphoenix dot com) - . Fixed bug #53323 (pdo_firebird getAttribute() crash). - (preeves at ibphoenix dot com) - -- PDO MySQL driver: - . Fixed bug #52745 (Binding params doesn't work when selecting a date inside a - CASE-WHEN). (Andrey) - -- PostgreSQL extension: - . Fixed bug #47199 (pg_delete() fails on NULL). (ewgraf at gmail dot com) - -- Reflection extension: - . Fixed ReflectionProperty::isDefault() giving a wrong result for properties - obtained with ReflectionClass::getProperties(). (Gustavo) -- Reflection extension: - . Fixed bug #53366 (Reflection doesnt get dynamic property value from - getProperty()). (Felipe) - . Fixed bug #52854 (ReflectionClass::newInstanceArgs does not work for classes - without constructors). (Johannes) - -- SOAP extension: - . Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy - with SoapClient object). (Dmitry) - -- SPL extension: - . Fixed bug #53362 (Segmentation fault when extending SplFixedArray). (Felipe) - . Fixed bug #53279 (SplFileObject doesn't initialise default CSV escape - character). (Adam) - . Fixed bug #53144 (Segfault in SplObjectStorage::removeAll()). (Felipe) - . Fixed bug #53071 (SPLObjectStorage defeats gc_collect_cycles). (Gustavo) - . Fixed bug #52573 (SplFileObject::fscanf Segmentation fault). (Felipe) - . Fixed bug #51763 (SplFileInfo::getType() does not work symbolic link - and directory). (Pierre) - . Fixed bug #50481 (Storing many SPLFixedArray in an array crashes). (Felipe) - . Fixed bug #50579 (RegexIterator::REPLACE doesn't work). (Felipe) - -- SQLite3 extension: - . Fixed bug #53463 (sqlite3 columnName() segfaults on bad column_number). - (Felipe) - -- Streams: - . Fixed forward stream seeking emulation in streams that don't support seeking - in situations where the read operation gives back less data than requested - and when there was data in the buffer before the emulation started. Also - made more consistent its behavior -- should return failure every time less - data than was requested was skipped. (Gustavo) - . Fixed bug #53241 (stream casting that relies on fdopen/fopencookie fails - with streams opened with, inter alia, the 'xb' mode). (Gustavo) - . Fixed bug #53006 (stream_get_contents has an unpredictable behavior when the - underlying stream does not support seeking). (Gustavo) - . Fixed bug #52944 (Invalid write on second and subsequent reads with an - inflate filter fed invalid data). (Gustavo) - . Fixed bug #52820 (writes to fopencookie FILE* not commited when seeking the - stream). (Gustavo) - -- WDDX extension: - . Fixed bug #52468 (wddx_deserialize corrupts integer field value when left - empty). (Felipe) - -- Zlib extension: - . Fixed bug #52926 (zlib fopen wrapper does not use context). (Gustavo) - -22 Jul 2010, PHP 5.3.3 -- Upgraded bundled sqlite to version 3.6.23.1. (Ilia) -- Upgraded bundled PCRE to version 8.02. (Ilia) - -- Added support for JSON_NUMERIC_CHECK option in json_encode() that converts - numeric strings to integers. (Ilia) -- Added stream_set_read_buffer, allows to set the buffer for read operation. - (Pierre) -- Added stream filter support to mcrypt extension (ported from - mcrypt_filter). (Stas) -- Added full_special_chars filter to ext/filter. (Rasmus) -- Added backlog socket context option for stream_socket_server(). (Mike) -- Added fifth parameter to openssl_encrypt()/openssl_decrypt() - (string $iv) to use non-NULL IV. - Made implicit use of NULL IV a warning. (Sara) -- Added openssl_cipher_iv_length(). (Sara) -- Added FastCGI Process Manager (FPM) SAPI. (Tony) -- Added recent Windows versions to php_uname and fix undefined windows - version support. (Pierre) -- Added Berkeley DB 5 support to the DBA extension. (Johannes, Chris Jones) -- Added support for copy to/from array/file for pdo_pgsql extension. - (Denis Gasparin, Ilia) -- Added inTransaction() method to PDO, with specialized support for Postgres. - (Ilia, Denis Gasparin) - -- Changed namespaced classes so that the ctor can only be named - __construct now. (Stas) -- Reset error state in PDO::beginTransaction() reset error state. (Ilia) - -- Implemented FR#51295 (SQLite3::busyTimeout not existing). (Mark) -- Implemented FR#35638 (Adding udate to imap_fetch_overview results). - (Charles_Duffy at dell dot com ) -- Rewrote var_export() to use smart_str rather than output buffering, prevents - data disclosure if a fatal error occurs (CVE-2010-2531). (Scott) -- Fixed possible buffer overflows in mysqlnd_list_fields, mysqlnd_change_user. - (Andrey) -- Fixed possible buffer overflows when handling error packets in mysqlnd. - Reported by Stefan Esser. (Andrey) -- Fixed very rare memory leak in mysqlnd, when binding thousands of columns. - (Andrey) -- Fixed a crash when calling an inexistent method of a class that inherits - PDOStatement if instantiated directly instead of doing by the PDO methods. - (Felipe) - -- Fixed memory leak on error in mcrypt_create_iv on Windows. (Pierre) -- Fixed a possible crash because of recursive GC invocation. (Dmitry) -- Fixed a possible resource destruction issues in shm_put_var(). - Reported by Stefan Esser. (Dmitry) -- Fixed a possible information leak because of interruption of XOR operator. - Reported by Stefan Esser. (Dmitry) -- Fixed a possible memory corruption because of unexpected call-time pass by - refernce and following memory clobbering through callbacks. - Reported by Stefan Esser. (Dmitry) -- Fixed a possible memory corruption in ArrayObject::uasort(). Reported by - Stefan Esser. (Dmitry) -- Fixed a possible memory corruption in parse_str(). Reported by Stefan Esser. - (Dmitry) -- Fixed a possible memory corruption in pack(). Reported by Stefan Esser. - (Dmitry) -- Fixed a possible memory corruption in substr_replace(). Reported by Stefan - Esser. (Dmitry) -- Fixed a possible memory corruption in addcslashes(). Reported by Stefan - Esser. (Dmitry) -- Fixed a possible stack exhaustion inside fnmatch(). Reported by Stefan - Esser. (Ilia) -- Fixed a possible dechunking filter buffer overflow. Reported by Stefan Esser. - (Pierre) -- Fixed a possible arbitrary memory access inside sqlite extension. Reported - by Mateusz Kocielski. (Ilia) -- Fixed string format validation inside phar extension. Reported by Stefan - Esser. (Ilia) -- Fixed handling of session variable serialization on certain prefix - characters. Reported by Stefan Esser. (Ilia) -- Fixed a NULL pointer dereference when processing invalid XML-RPC - requests (Fixes CVE-2010-0397, bug #51288). (Raphael Geissert) -- Fixed 64-bit integer overflow in mhash_keygen_s2k(). (Clément LECIGNE, Stas) -- Fixed SplObjectStorage unserialization problems (CVE-2010-2225). (Stas) -- Fixed the mail.log ini setting when no filename was given. (Johannes) - -- Fixed bug #52317 (Segmentation fault when using mail() on a rhel 4.x (only 64 - bit)). (Adam) -- Fixed bug #52262 (json_decode() shows no errors on invalid UTF-8). - (Scott) -- Fixed bug #52240 (hash_copy() does not copy the HMAC key, causes wrong - results and PHP crashes). (Felipe) -- Fixed bug #52238 (Crash when an Exception occured in iterator_to_array). - (Johannes) -- Fixed bug #52193 (converting closure to array yields empty array). (Felipe) -- Fixed bug #52183 (Reflectionfunction reports invalid number of arguments for - function aliases). (Felipe) -- Fixed bug #52162 (custom request header variables with numbers are removed). - (Sriram Natarajan) -- Fixed bug #52160 (Invalid E_STRICT redefined constructor error). (Felipe) -- Fixed bug #52138 (Constants are parsed into the ini file for section names). - (Felipe) -- Fixed bug #52115 (mysqli_result::fetch_all returns null, not an empty array). - (Andrey) -- Fixed bug #52101 (dns_get_record() garbage in 'ipv6' field on Windows). - (Pierre) -- Fixed bug #52082 (character_set_client & character_set_connection reset after - mysqli_change_user()). (Andrey) -- Fixed bug #52043 (GD doesn't recognize latest libJPEG versions). - (php at group dot apple dot com, Pierre) -- Fixed bug #52041 (Memory leak when writing on uninitialized variable returned - from function). (Dmitry) -- Fixed bug #52060 (Memory leak when passing a closure to method_exists()). - (Felipe) -- Fixed bug #52057 (ReflectionClass fails on Closure class). (Felipe) -- Fixed bug #52051 (handling of case sensitivity of old-style constructors - changed in 5.3+). (Felipe) -- Fixed bug #52037 (Concurrent builds fail in install-programs). (seanius at - debian dot org, Kalle) -- Fixed bug #52019 (make lcov doesn't support TESTS variable anymore). (Patrick) -- Fixed bug #52010 (open_basedir restrictions mismatch on vacuum command). - (Ilia) -- Fixed bug #52001 (Memory allocation problems after using variable variables). - (Dmitry) -- Fixed bug #51991 (spl_autoload and *nix support with namespace). (Felipe) -- Fixed bug #51943 (AIX: Several files are out of ANSI spec). (Kalle, - coreystup at gmail dot com) -- Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with - constant array). (Felipe) -- Fixed bug #51905 (ReflectionParameter fails if default value is an array - with an access to self::). (Felipe) -- Fixed bug #51899 (Parse error in parse_ini_file() function when empy value - followed by no newline). (Felipe) -- Fixed bug #51844 (checkdnsrr does not support types other than MX). (Pierre) -- Fixed bug #51827 (Bad warning when register_shutdown_function called with - wrong num of parameters). (Felipe) -- Fixed bug #51822 (Segfault with strange __destruct() for static class - variables). (Dmitry) -- Fixed bug #51791 (constant() aborts execution when fail to check undefined - constant). (Felipe) -- Fixed bug #51732 (Fileinfo __construct or open does not work with NULL). - (Pierre) -- Fixed bug #51725 (xmlrpc_get_type() returns true on invalid dates). (Mike) -- Fixed bug #51723 (Content-length header is limited to 32bit integer with - Apache2 on Windows). (Pierre) -- Fixed bug #51721 (mark DOMNodeList and DOMNamedNodeMap as Traversable). - (David Zuelke) -- Fixed bug #51712 (Test mysql_mysqlnd_read_timeout_long must fail on MySQL4). - (Andrey) -- Fixed bug #51697 (Unsafe operations in free_storage of SPL iterators, - causes crash during shutdown). (Etienne) -- Fixed bug #51690 (Phar::setStub looks for case-sensitive - __HALT_COMPILER()). (Ilia) -- Fixed bug #51688 (ini per dir crashes when invalid document root are given). - (Pierre) -- Fixed bug #51671 (imagefill does not work correctly for small images). - (Pierre) -- Fixed bug #51670 (getColumnMeta causes segfault when re-executing query - after calling nextRowset). (Pierrick) -- Fixed bug #51647 Certificate file without private key (pk in another file) - doesn't work. (Andrey) -- Fixed bug #51629 (CURLOPT_FOLLOWLOCATION error message is misleading). - (Pierre) -- Fixed bug #51627 (script path not correctly evaluated). - (russell dot tempero at rightnow dot com) -- Fixed bug #51624 (Crash when calling mysqli_options()). (Felipe) -- Fixed bug #51615 (PHP crash with wrong HTML in SimpleXML). (Felipe) -- Fixed bug #51609 (pg_copy_to: Invalid results when using fourth parameter). - (Felipe) -- Fixed bug #51608 (pg_copy_to: WARNING: nonstandard use of \\ in a string - literal). (cbandy at jbandy dot com) -- Fixed bug #51607 (pg_copy_from does not allow schema in the tablename - argument). (cbandy at jbandy dot com) -- Fixed bug #51605 (Mysqli - zombie links). (Andrey) -- Fixed bug #51604 (newline in end of header is shown in start of message). - (Daniel Egeberg) -- Fixed bug #51590 (JSON_ERROR_UTF8 is undefined). (Felipe) -- Fixed bug #51583 (Bus error due to wrong alignment in mysqlnd). (Rainer Jung) -- Fixed bug #51582 (Don't assume UINT64_C it's ever available). - (reidrac at usebox dot net, Pierre) -- Fixed bug #51577 (Uninitialized memory reference with oci_bind_array_by_name) - (Oracle Corp.) -- Fixed bug #51562 (query timeout in mssql can not be changed per query). - (ejsmont dot artur at gmail dot com) -- Fixed bug #51552 (debug_backtrace() causes segmentation fault and/or memory - issues). (Dmitry) -- Fixed bug #51445 (var_dump() invalid/slow *RECURSION* detection). (Felipe) -- Fixed bug #51435 (Missing ifdefs / logic bug in crypt code cause compile - errors). (Felipe) -- Fixed bug #51424 (crypt() function hangs after 3rd call). (Pierre, Sriram) -- Fixed bug #51394 (Error line reported incorrectly if error handler throws an - exception). (Stas) -- Fixed bug #51393 (DateTime::createFromFormat() fails if format string contains - timezone). (Adam) -- Fixed bug #51347 (mysqli_close / connection memory leak). (Andrey, Johannes) -- Fixed bug #51338 (URL-Rewriter is still enabled if use_only_cookies is - on). (Ilia, j dot jeising at gmail dot com) -- Fixed bug #51291 (oci_error doesn't report last error when called two times) - (Oracle Corp.) -- Fixed bug #51276 (php_load_extension() is missing when HAVE_LIBDL is - undefined). (Tony) -- Fixed bug #51273 (Faultstring property does not exist when the faultstring is - empty) (Ilia, dennis at transip dot nl) -- Fixed bug #51269 (zlib.output_compression Overwrites Vary Header). (Adam) -- Fixed bug #51257 (CURL_VERSION_LARGEFILE incorrectly used after libcurl - version 7.10.1). (aron dot ujvari at microsec dot hu) -- Fixed bug #51242 (Empty mysql.default_port does not default to 3306 anymore, - but 0). (Adam) -- Fixed bug #51237 (milter SAPI crash on startup). (igmar at palsenberg dot com) -- Fixed bug #51213 (pdo_mssql is trimming value of the money column). (Ilia, - alexr at oplot dot com) -- Fixed bug #51190 (ftp_put() returns false when transfer was successful). - (Ilia) -- Fixed bug #51183 (ext/date/php_date.c fails to compile with Sun Studio). - (Sriram Natarajan) -- Fixed bug #51176 (Static calling in non-static method behaves like $this->). - (Felipe) -- Fixed bug #51171 (curl_setopt() doesn't output any errors or warnings when - an invalid option is provided). (Ilia) -- Fixed bug #51128 (imagefill() doesn't work with large images). (Pierre) -- Fixed bug #51096 ('last day' and 'first day' are handled incorrectly when - parsing date strings). (Derick) -- Fixed bug #51086 (DBA DB4 doesn't work with Berkeley DB 4.8). (Chris Jones) -- Fixed bug #51062 (DBA DB4 uses mismatched headers and libraries). (Chris - Jones) -- Fixed bug #51026 (mysqli_ssl_set not working). (Andrey) -- Fixed bug #51023 (filter doesn't detect int overflows with GCC 4.4). - (Raphael Geissert) -- Fixed bug #50999 (unaligned memory access in dba_fetch()). (Felipe) -- Fixed bug #50976 (Soap headers Authorization not allowed). - (Brain France, Dmitry) -- Fixed bug #50828 (DOMNotation is not subclass of DOMNode). (Rob) -- Fixed bug #50810 (property_exists does not work for private). (Felipe) -- Fixed bug #50762 (in WSDL mode Soap Header handler function only being called - if defined in WSDL). (mephius at gmail dot com) -- Fixed bug #50731 (Inconsistent namespaces sent to functions registered with - spl_autoload_register). (Felipe) -- Fixed bug #50563 (removing E_WARNING from parse_url). (ralph at smashlabs dot - com, Pierre) -- Fixed bug #50578 (incorrect shebang in phar.phar). (Fedora at FamilleCollet - dot com) -- Fixed bug #50392 (date_create_from_format enforces 6 digits for 'u' format - character). (Derick) -- Fixed bug #50383 (Exceptions thrown in __call / __callStatic do not include - file and line in trace). (Felipe) -- Fixed bug #50358 (Compile failure compiling ext/phar/util.lo). (Felipe) -- Fixed bug #50101 (name clash between global and local variable). - (patch by yoarvi at gmail dot com) -- Fixed bug #50055 (DateTime::sub() allows 'relative' time modifications). - (Derick) -- Fixed bug #51002 (fix possible memory corruption with very long names). - (Pierre) -- Fixed bug #49893 (Crash while creating an instance of Zend_Mail_Storage_Pop3). - (Dmitry) -- Fixed bug #49819 (STDOUT losing data with posix_isatty()). (Mike) -- Fixed bug #49778 (DateInterval::format("%a") is always zero when an interval - is created from an ISO string). (Derick) -- Fixed bug #49700 (memory leaks in php_date.c if garbage collector is - enabled). (Dmitry) -- Fixed bug #49576 (FILTER_VALIDATE_EMAIL filter needs updating) (Rasmus) -- Fixed bug #49490 (XPath namespace prefix conflict). (Rob) -- Fixed bug #49429 (odbc_autocommit doesn't work). (Felipe) -- Fixed bug #49320 (PDO returns null when SQLite connection fails). (Felipe) -- Fixed bug #49234 (mysqli_ssl_set not found). (Andrey) -- Fixed bug #49216 (Reflection doesn't seem to work properly on MySqli). - (Andrey) -- Fixed bug #49192 (PHP crashes when GC invoked on COM object). (Stas) -- Fixed bug #49081 (DateTime::diff() mistake if start in January and interval > - 28 days). (Derick) -- Fixed bug #49059 (DateTime::diff() repeats previous sub() operation). - (yoarvi@gmail.com, Derick) -- Fixed bug #48983 (DomDocument : saveHTMLFile wrong charset). (Rob) -- Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3). (Felipe) -- Fixed bug #48902 (Timezone database fallback map is outdated). (Derick) -- Fixed bug #48781 (Cyclical garbage collector memory leak). (Dmitry) -- Fixed bug #48601 (xpath() returns FALSE for legitimate query). (Rob) -- Fixed bug #48361 (SplFileInfo::getPathInfo should return the - parent dir). (Etienne) -- Fixed bug #48289 (iconv_mime_encode() quoted-printable scheme is broken). - (Adam, patch from hiroaki dot kawai at gmail dot com). -- Fixed bug #47842 (sscanf() does not support 64-bit values). (Mike) -- Fixed bug #46111 (Some timezone identifiers can not be parsed). (Derick) -- Fixed bug #45808 (stream_socket_enable_crypto() blocks and eats CPU). - (vincent at optilian dot com) -- Fixed bug #43233 (sasl support for ldap on Windows). (Pierre) -- Fixed bug #35673 (formatOutput does not work with saveHTML). (Rob) -- Fixed bug #33210 (getimagesize() fails to detect width/height on certain - JPEGs). (Ilia) - -04 Mar 2010, PHP 5.3.2 - -- Upgraded bundled sqlite to version 3.6.22. (Ilia) -- Upgraded bundled libmagic to version 5.03. (Mikko) -- Upgraded bundled PCRE to version 8.00. (Scott) -- Updated timezone database to version 2010.3. (Derick) - -- Improved LCG entropy. (Rasmus, Samy Kamkar) -- Improved crypt support for edge cases (UFC compatibility). (Solar Designer, - Joey, Pierre) - -- Reverted fix for bug #49521 (PDO fetchObject sets values before calling - constructor). (Pierrick, Johannes) - -- Changed gmp_strval() to use full range from 2 to 62, and -2 to -36. FR #50283 - (David Soria Parra) -- Changed "post_max_size" php.ini directive to allow unlimited post size by - setting it to 0. (Rasmus) -- Changed tidyNode class to disallow manual node creation. (Pierrick) - -- Removed automatic file descriptor unlocking happening on shutdown and/or - stream close (on all OSes). (Tony, Ilia) - -- Added libpng 1.4.0 support. (Pierre) -- Added support for DISABLE_AUTHENTICATOR for imap_open. (Pierre) -- Added missing host validation for HTTP urls inside FILTER_VALIDATE_URL. - (Ilia) -- Added stream_resolve_include_path(). (Mikko) -- Added INTERNALDATE support to imap_append. (nick at mailtrust dot com) -- Added support for SHA-256 and SHA-512 to php's crypt. (Pierre) -- Added realpath_cache_size() and realpath_cache_get() functions. (Stas) -- Added FILTER_FLAG_STRIP_BACKTICK option to the filter extension. (Ilia) -- Added protection for $_SESSION from interrupt corruption and improved - "session.save_path" check. (Stas) -- Added LIBXML_PARSEHUGE constant to override the maximum text size of a - single text node when using libxml2.7.3+. (Kalle) -- Added ReflectionMethod::setAccessible() for invoking non-public methods - through the Reflection API. (Sebastian) -- Added Collator::getSortKey for intl extension. (Stas) -- Added support for CURLOPT_POSTREDIR. FR #49571. (Sriram Natarajan) -- Added support for CURLOPT_CERTINFO. FR #49253. - (Linus Nielsen Feltzing ) -- Added client-side server name indication support in openssl. (Arnaud) - -- Improved fix for bug #50006 (Segfault caused by uksort()). (Stas) - -- Fixed mysqlnd hang when queries exactly 16777214 bytes long are sent. (Andrey) -- Fixed incorrect decoding of 5-byte BIT sequences in mysqlnd. (Andrey) -- Fixed error_log() to be binary safe when using message_type 3. (Jani) -- Fixed unnecessary invocation of setitimer when timeouts have been disabled. - (Arvind Srinivasan) -- Fixed memory leak in extension loading when an error occurs on Windows. - (Pierre) -- Fixed safe_mode validation inside tempnam() when the directory path does - not end with a /). (Martin Jansen) -- Fixed a possible open_basedir/safe_mode bypass in session extension - identified by Grzegorz Stachowiak. (Ilia) -- Fixed possible crash when a error/warning is raised during php startup. - (Pierre) -- Fixed possible bad behavior of rename on windows when used with symbolic - links or invalid paths. (Pierre) -- Fixed error output to stderr on Windows. (Pierre) -- Fixed memory leaks in is_writable/readable/etc on Windows. (Pierre) -- Fixed memory leaks in the ACL function on Windows. (Pierre) -- Fixed memory leak in the realpath cache on Windows. (Pierre) -- Fixed memory leak in zip_close. (Pierre) -- Fixed crypt's blowfish sanity check of the "setting" string, to reject - iteration counts encoded as 36 through 39. (Solar Designer, Joey, Pierre) - -- Fixed bug #51059 (crypt crashes when invalid salt are given). (Pierre) -- Fixed bug #50952 (allow underscore _ in constants parsed in php.ini files). - (Jani) -- Fixed bug #50940 (Custom content-length set incorrectly in Apache SAPIs). - (Brian France, Rasmus) -- Fixed bug #50930 (Wrong date by php_date.c patch with ancient gcc/glibc - versions). (Derick) -- Fixed bug #50907 (X-PHP-Originating-Script adding two new lines in *NIX). - (Ilia) -- Fixed bug #50859 (build fails with openssl 1.0 due to md2 deprecation). - (Ilia, hanno at hboeck dot de) -- Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes - long). (Ilia) -- Fixed bug #50829 (php.ini directive pdo_mysql.default_socket is ignored). - (Ilia) -- Fixed bug #50832 (HTTP fopen wrapper does not support passwordless HTTP - authentication). (Jani) -- Fixed bug #50787 (stream_set_write_buffer() has no effect on socket streams). - (vnegrier at optilian dot com, Ilia) -- Fixed bug #50761 (system.multiCall crashes in xmlrpc extension). - (hiroaki dot kawai at gmail dot com, Ilia) -- Fixed bug #50756 (CURLOPT_FTP_SKIP_PASV_IP does not exist). (Sriram) -- Fixed bug #50732 (exec() adds single byte twice to $output array). (Ilia) -- Fixed bug #50728 (All PDOExceptions hardcode 'code' property to 0). - (Joey, Ilia) -- Fixed bug #50723 (Bug in garbage collector causes crash). (Dmitry) -- Fixed bug #50690 (putenv does not set ENV when the value is only one char). - (Pierre) -- Fixed bug #50680 (strtotime() does not support eighth ordinal number). (Ilia) -- Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16). (Rob) -- Fixed bug #50657 (copy() with an empty (zero-byte) HTTP source succeeds but - returns false). (Ilia) -- Fixed bug #50636 (MySQLi_Result sets values before calling constructor). - (Pierrick) -- Fixed bug #50632 (filter_input() does not return default value if the - variable does not exist). (Ilia) -- Fixed bug #50576 (XML_OPTION_SKIP_TAGSTART option has no effect). (Pierrick) -- Fixed bug #50558 (Broken object model when extending tidy). (Pierrick) -- Fixed bug #50540 (Crash while running ldap_next_reference test cases). - (Sriram) -- Fixed bug #50519 (segfault in garbage collection when using set_error_handler - and DomDocument). (Dmitry) -- Fixed bug #50508 (compile failure: Conflicting HEADER type declarations). - (Jani) -- Fixed bug #50496 (Use of is valid only in a c99 compilation - environment. (Sriram) -- Fixed bug #50464 (declare encoding doesn't work within an included file). - (Felipe) -- Fixed bug #50458 (PDO::FETCH_FUNC fails with Closures). (Felipe, Pierrick) -- Fixed bug #50445 (PDO-ODBC stored procedure call from Solaris 64-bit causes - seg fault). (davbrown4 at yahoo dot com, Felipe) -- Fixed bug #50416 (PROCEDURE db.myproc can't return a result set in the given - context). (Andrey) -- Fixed bug #50394 (Reference argument converted to value in __call). (Stas) -- Fixed bug #50351 (performance regression handling objects, ten times slower - in 5.3 than in 5.2). (Dmitry) -- Fixed bug #50392 (date_create_from_format() enforces 6 digits for 'u' - format character). (Ilia) -- Fixed bug #50345 (nanosleep not detected properly on some solaris versions). - (Jani) -- Fixed bug #50340 (php.ini parser does not allow spaces in ini keys). (Jani) -- Fixed bug #50334 (crypt ignores sha512 prefix). (Pierre) -- Fixed bug #50323 (Allow use of ; in values via ;; in PDO DSN). - (Ilia, Pierrick) -- Fixed bug #50285 (xmlrpc does not preserve keys in encoded indexed arrays). - (Felipe) -- Fixed bug #50282 (xmlrpc_encode_request() changes object into array in - calling function). (Felipe) -- Fixed bug #50267 (get_browser(null) does not use HTTP_USER_AGENT). (Jani) -- Fixed bug #50266 (conflicting types for llabs). (Jani) -- Fixed bug #50261 (Crash When Calling Parent Constructor with - call_user_func()). (Dmitry) -- Fixed bug #50255 (isset() and empty() silently casts array to object). - (Felipe) -- Fixed bug #50240 (pdo_mysql.default_socket in php.ini shouldn't used - if it is empty). (foutrelis at gmail dot com, Ilia) -- Fixed bug #50231 (Socket path passed using --with-mysql-sock is ignored when - mysqlnd is enabled). (Jani) -- Fixed bug #50219 (soap call Segmentation fault on a redirected url). - (Pierrick) -- Fixed bug #50212 (crash by ldap_get_option() with LDAP_OPT_NETWORK_TIMEOUT). - (Ilia, shigeru_kitazaki at cybozu dot co dot jp) -- Fixed bug #50209 (Compiling with libedit cannot find readline.h). - (tcallawa at redhat dot com) -- Fixed bug #50207 (segmentation fault when concatenating very large strings on - 64bit linux). (Ilia) -- Fixed bug #50196 (stream_copy_to_stream() produces warning when source is - not file). (Stas) -- Fixed bug #50195 (pg_copy_to() fails when table name contains schema. (Ilia) -- Fixed bug #50185 (ldap_get_entries() return false instead of an empty array - when there is no error). (Jani) -- Fixed bug #50174 (Incorrectly matched docComment). (Felipe) -- Fixed bug #50168 (FastCGI fails with wrong error on HEAD request to - non-existant file). (Dmitry) -- Fixed bug #50162 (Memory leak when fetching timestamp column from Oracle - database). (Felipe) -- Fixed bug #50159 (wrong working directory in symlinked files). (Dmitry) -- Fixed bug #50158 (FILTER_VALIDATE_EMAIL fails with valid addresses - containing = or ?). (Pierrick) -- Fixed bug #50152 (ReflectionClass::hasProperty behaves like isset() not - property_exists). (Felipe) -- Fixed bug #50146 (property_exists: Closure object cannot have properties). - (Felipe) -- Fixed bug #50145 (crash while running bug35634.phpt). (Felipe) -- Fixed bug #50140 (With default compilation option, php symbols are unresolved - for nsapi). (Uwe Schindler) -- Fixed bug #50087 (NSAPI performance improvements). (Uwe Schindler) -- Fixed bug #50073 (parse_url() incorrect when ? in fragment). (Ilia) -- Fixed bug #50023 (pdo_mysql doesn't use PHP_MYSQL_UNIX_SOCK_ADDR). (Ilia) -- Fixed bug #50005 (Throwing through Reflection modified Exception object - makes segmentation fault). (Felipe) -- Fixed bug #49990 (SNMP3 warning message about security level printed twice). - (Jani) -- Fixed bug #49985 (pdo_pgsql prepare() re-use previous aborted - transaction). (ben dot pineau at gmail dot com, Ilia, Matteo) -- Fixed bug #49938 (Phar::isBuffering() returns inverted value). (Greg) -- Fixed bug #49936 (crash with ftp stream in php_stream_context_get_option()). - (Pierrick) -- Fixed bug #49921 (Curl post upload functions changed). (Ilia) -- Fixed bug #49866 (Making reference on string offsets crashes PHP). (Dmitry) -- Fixed bug #49855 (import_request_variables() always returns NULL). (Ilia, - sjoerd at php dot net) -- Fixed bug #49851, #50451 (http wrapper breaks on 1024 char long headers). - (Ilia) -- Fixed bug #49800 (SimpleXML allow (un)serialize() calls without warning). - (Ilia, wmeler at wp-sa dot pl) -- Fixed bug #49719 (ReflectionClass::hasProperty returns true for a private - property in base class). (Felipe) -- Fixed bug #49677 (ini parser crashes with apache2 and using ${something} - ini variables). (Jani) -- Fixed bug #49660 (libxml 2.7.3+ limits text nodes to 10MB). (Felipe) -- Fixed bug #49647 (DOMUserData does not exist). (Rob) -- Fixed bug #49600 (imageTTFText text shifted right). (Takeshi Abe) -- Fixed bug #49585 (date_format buffer not long enough for >4 digit years). - (Derick, Adam) -- Fixed bug #49560 (oci8: using LOBs causes slow PHP shutdown). (Oracle Corp.) -- Fixed bug #49521 (PDO fetchObject sets values before calling constructor). - (Pierrick) -- Fixed bug #49472 (Constants defined in Interfaces can be overridden). - (Felipe) -- Fixed bug #49463 (setAttributeNS fails setting default namespace). (Rob) -- Fixed bug #49244 (Floating point NaN cause garbage characters). (Sjoerd) -- Fixed bug #49224 (Compile error due to old DNS functions on AIX systems). - (Scott) -- Fixed bug #49174 (crash when extending PDOStatement and trying to set - queryString property). (Felipe) -- Fixed bug #48811 (Directives in PATH section do not get applied to - subdirectories). (Patch by: ct at swin dot edu dot au) -- Fixed bug #48590 (SoapClient does not honor max_redirects). (Sriram) -- Fixed bug #48190 (Content-type parameter "boundary" is not case-insensitive - in HTTP uploads). (Ilia) -- Fixed bug #47848 (importNode doesn't preserve attribute namespaces). (Rob) -- Fixed bug #47409 (extract() problem with array containing word "this"). - (Ilia, chrisstocktonaz at gmail dot com) -- Fixed bug #47281 ($php_errormsg is limited in size of characters) - (Oracle Corp.) -- Fixed bug #46478 (htmlentities() uses obsolete mapping table for character - entity references). (Moriyoshi) -- Fixed bug #45599 (strip_tags() truncates rest of string with invalid - attribute). (Ilia, hradtke) -- Fixed bug #45120 (PDOStatement->execute() returns true then false for same - statement). (Pierrick) -- Fixed bug #44827 (define() allows :: in constant names). (Ilia) -- Fixed bug #44098 (imap_utf8() returns only capital letters). - (steffen at dislabs dot de, Pierre) -- Fixed bug #34852 (Failure in odbc_exec() using oracle-supplied odbc - driver). (tim dot tassonis at trivadis dot com) - -19 Nov 2009, PHP 5.3.1 -- Upgraded bundled sqlite to version 3.6.19. (Scott) -- Updated timezone database to version 2009.17 (2009q). (Derick) - -- Changed ini file directives [PATH=](on Win32) and [HOST=](on all) to be case - insensitive. (garretts) - -- Restored shebang line check to CGI sapi (not checked by scanner anymore). - (Jani) - -- Added "max_file_uploads" INI directive, which can be set to limit the - number of file uploads per-request to 20 by default, to prevent possible - DOS via temporary file exhaustion. (Ilia) -- Added missing sanity checks around exif processing. (Ilia) -- Added error constant when json_encode() detects an invalid UTF-8 sequence. - (Scott) -- Added support for ACL on Windows for thread safe SAPI (Apache2 for example) - and fix its support on NTS. (Pierre) - -- Improved symbolic, mounted volume and junctions support for realpath on - Windows. (Pierre) -- Improved readlink on Windows, suppress \??\ and use the drive syntax only. - (Pierre) -- Improved dns_get_record() AAAA support on windows. Always available when - IPv6 is support is installed, format is now the same than on unix. (Pierre) -- Improved the DNS functions on OSX to use newer APIs, also use Bind 9 API - where available on other platforms. (Scott) -- Improved shared extension loading on OSX to use the standard Unix dlopen() - API. (Scott) - -- Fixed crash in com_print_typeinfo when an invalid typelib is given. (Pierre) -- Fixed a safe_mode bypass in tempnam() identified by Grzegorz Stachowiak. - (Rasmus) -- Fixed a open_basedir bypass in posix_mkfifo() identified by Grzegorz - Stachowiak. (Rasmus) -- Fixed certificate validation inside php_openssl_apply_verification_policy - (Ryan Sleevi, Ilia) -- Fixed crash in SQLiteDatabase::ArrayQuery() and SQLiteDatabase::SingleQuery() - when calling using Reflection. (Felipe) -- Fixed crash when instantiating PDORow and PDOStatement through Reflection. - (Felipe) -- Fixed sanity check for the color index in imagecolortransparent. (Pierre) -- Fixed scandir/readdir when used mounted points on Windows. (Pierre) -- Fixed zlib.deflate compress filter to actually accept level parameter. (Jani) -- Fixed leak on error in popen/exec (and related functions) on Windows. - (Pierre) -- Fixed possible bad caching of symlinked directories in the realpath cache - on Windows. (Pierre) -- Fixed atime and mtime in stat related functions on Windows. (Pierre) -- Fixed spl_autoload_unregister/spl_autoload_functions wrt. Closures and - Functors. (Christian Seiler) -- Fixed open_basedir circumvention for "mail.log" ini directive. - (Maksymilian Arciemowicz, Stas) -- Fixed signature generation/validation for zip archives in ext/phar. (Greg) -- Fixed memory leak in stream_is_local(). (Felipe, Tony) -- Fixed BC break in mime_content_type(), removes the content encoding. (Scott) - -- Fixed PECL bug #16842 (oci_error return false when NO_DATA_FOUND is raised). - (Chris Jones) - -- Fixed bug #50063 (safe_mode_include_dir fails). (Johannes, christian at - elmerot dot se) -- Fixed bug #50052 (Different Hashes on Windows and Linux on wrong Salt size). - (Pierre) -- Fixed bug #49986 (Missing ICU DLLs on windows package). (Pierre) -- Fixed bug #49910 (no support for ././@LongLink for long filenames in phar - tar support). (Greg) -- Fixed bug #49908 (throwing exception in __autoload crashes when interface - is not defined). (Felipe) -- Fixed bug #49847 (exec() fails to return data inside 2nd parameter, given - output lines >4095 bytes). (Ilia) -- Fixed bug #49809 (time_sleep_until() is not available on OpenSolaris). (Jani) -- Fixed bug #49757 (long2ip() can return wrong value in a multi-threaded - applications). (Ilia, Florian Anderiasch) -- Fixed bug #49738 (calling mcrypt after mcrypt_generic_deinit crashes). - (Sriram Natarajan) -- Fixed bug #49732 (crashes when using fileinfo when timestamp conversion - fails). (Pierre) -- Fixed bug #49698 (Unexpected change in strnatcasecmp()). (Rasmus) -- Fixed bug #49630 (imap_listscan function missing). (Felipe) -- Fixed bug #49572 (use of C++ style comments causes build failure). - (Sriram Natarajan) -- Fixed bug #49531 (CURLOPT_INFILESIZE sometimes causes warning "CURLPROTO_FILE - cannot be set"). (Felipe) -- Fixed bug #49517 (cURL's CURLOPT_FILE prevents file from being deleted after - fclose). (Ilia) -- Fixed bug #49470 (FILTER_SANITIZE_EMAIL allows disallowed characters). - (Ilia) -- Fixed bug #49447 (php engine need to correctly check for socket API - return status on windows). (Sriram Natarajan) -- Fixed bug #49391 (ldap.c utilizing deprecated ldap_modify_s). (Ilia) -- Fixed bug #49372 (segfault in php_curl_option_curl). (Pierre) -- Fixed bug #49361 (wordwrap() wraps incorrectly on end of line boundaries). - (Ilia, code-it at mail dot ru) -- Fixed bug #49306 (inside pdo_mysql default socket settings are ignored). - (Ilia) -- Fixed bug #49289 (bcmath module doesn't compile with phpize configure). - (Jani) -- Fixed bug #49286 (php://input (php_stream_input_read) is broken). (Jani) -- Fixed bug #49269 (Ternary operator fails on Iterator object when used inside - foreach declaration). (Etienne, Dmitry) -- Fixed bug #49236 (Missing PHP_SUBST(PDO_MYSQL_SHARED_LIBADD)). (Jani) -- Fixed bug #49223 (Inconsistency using get_defined_constants). (Garrett) -- Fixed bug #49193 (gdJpegGetVersionString() inside gd_compact identifies - wrong type in declaration). (Ilia) -- Fixed bug #49183 (dns_get_record does not return NAPTR records). (Pierre) -- Fixed bug #49144 (Import of schema from different host transmits original - authentication details). (Dmitry) -- Fixed bug #49142 (crash when exception thrown from __tostring()). - (David Soria Parra) -- Fixed bug #49132 (posix_times returns false without error). - (phpbugs at gunnu dot us) -- Fixed bug #49125 (Error in dba_exists C code). (jdornan at stanford dot edu) -- Fixed bug #49122 (undefined reference to mysqlnd_stmt_next_result on compile - with --with-mysqli and MySQL 6.0). (Jani) -- Fixed bug #49108 (2nd scan_dir produces segfault). (Felipe) -- Fixed bug #49098 (mysqli segfault on error). (Rasmus) -- Fixed bug #49095 (proc_get_status['exitcode'] fails on win32). (Felipe) -- Fixed bug #49092 (ReflectionFunction fails to work with functions in fully - qualified namespaces). (Kalle, Jani) -- Fixed bug #49074 (private class static fields can be modified by using - reflection). (Jani) -- Fixed bug #49072 (feof never returns true for damaged file in zip). (Pierre) -- Fixed bug #49065 ("disable_functions" php.ini option does not work on - Zend extensions). (Stas) -- Fixed bug #49064 (--enable-session=shared does not work: undefined symbol: - php_url_scanner_reset_vars). (Jani) -- Fixed bug #49056 (parse_ini_file() regression in 5.3.0 when using non-ASCII - strings as option keys). (Jani) -- Fixed bug #49052 (context option headers freed too early when using - --with-curlwrappers). (Jani) -- Fixed bug #49047 (The function touch() fails on directories on Windows). - (Pierre) -- Fixed bug #49032 (SplFileObject::fscanf() variables passed by reference). - (Jani) -- Fixed bug #49027 (mysqli_options() doesn't work when using mysqlnd). (Andrey) -- Fixed bug #49026 (proc_open() can bypass safe_mode_protected_env_vars - restrictions). (Ilia) -- Fixed bug #49020 (phar misinterprets ustar long filename standard). - (Greg) -- Fixed bug #49018 (phar tar stores long filenames wit prefix/name reversed). - (Greg) -- Fixed bug #49014 (dechunked filter broken when serving more than 8192 bytes - in a chunk). (andreas dot streichardt at globalpark dot com, Ilia) -- Fixed bug #49012 (phar tar signature algorithm reports as Unknown (0) in - getSignature() call). (Greg) -- Fixed bug #49000 (PHP CLI in Interactive mode (php -a) crashes - when including files from function). (Stas) -- Fixed bug #48994 (zlib.output_compression does not output HTTP headers when - set to a string value). (Jani) -- Fixed bug #48980 (Crash when compiling with pdo_firebird). (Felipe) -- Fixed bug #48962 (cURL does not upload files with specified filename). - (Ilia) -- Fixed bug #48929 (Double \r\n after HTTP headers when "header" context - option is an array). (David Zülke) -- Fixed bug #48913 (Too long error code strings in pdo_odbc driver). - (naf at altlinux dot ru, Felipe) -- Fixed bug #48912 (Namespace causes unexpected strict behaviour with - extract()). (Dmitry) -- Fixed bug #48909 (Segmentation fault in mysqli_stmt_execute()). (Andrey) -- Fixed bug #48899 (is_callable returns true even if method does not exist in - parent class). (Felipe) -- Fixed bug #48893 (Problems compiling with Curl). (Felipe) -- Fixed bug #48880 (Random Appearing open_basedir problem). (Rasmus, Gwynne) -- Fixed bug #48872 (string.c: errors: duplicate case values). (Kalle) -- Fixed bug #48854 (array_merge_recursive modifies arrays after first one). - (Felipe) -- Fixed bug #48805 (IPv6 socket transport is not working). (Ilia) -- Fixed bug #48802 (printf() returns incorrect outputted length). (Jani) -- Fixed bug #48791 (open office files always reported as corrupted). (Greg) -- Fixed bug #48788 (RecursiveDirectoryIterator doesn't descend into symlinked - directories). (Ilia) -- Fixed bug #48783 (make install will fail saying phar file exists). (Greg) -- Fixed bug #48774 (SIGSEGVs when using curl_copy_handle()). - (Sriram Natarajan) -- Fixed bug #48771 (rename() between volumes fails and reports no error on - Windows). (Pierre) -- Fixed bug #48768 (parse_ini_*() crash with INI_SCANNER_RAW). (Jani) -- Fixed bug #48763 (ZipArchive produces corrupt archive). (dani dot church at - gmail dot com, Pierre) -- Fixed bug #48762 (IPv6 address filter still rejects valid address). (Felipe) -- Fixed bug #48757 (ReflectionFunction::invoke() parameter issues). (Kalle) -- Fixed bug #48754 (mysql_close() crash php when no handle specified). - (Johannes, Andrey) -- Fixed bug #48752 (Crash during date parsing with invalid date). (Pierre) -- Fixed bug #48746 (Unable to browse directories within Junction Points). - (Pierre, Kanwaljeet Singla) -- Fixed bug #48745 (mysqlnd: mysql_num_fields returns wrong column count for - mysql_list_fields). (Andrey) -- Fixed bug #48740 (PHAR install fails when INSTALL_ROOT is not the final - install location). (james dot cohen at digitalwindow dot com, Greg) -- Fixed bug #48733 (CURLOPT_WRITEHEADER|CURLOPT_FILE|CURLOPT_STDERR warns on - files that have been opened with r+). (Ilia) -- Fixed bug #48719 (parse_ini_*(): scanner_mode parameter is not checked for - sanity). (Jani) -- Fixed bug #48718 (FILTER_VALIDATE_EMAIL does not allow numbers in domain - components). (Ilia) -- Fixed bug #48681 (openssl signature verification for tar archives broken). - (Greg) -- Fixed bug #48660 (parse_ini_*(): dollar sign as last character of value - fails). (Jani) -- Fixed bug #48645 (mb_convert_encoding() doesn't understand hexadecimal - html-entities). (Moriyoshi) -- Fixed bug #48637 ("file" fopen wrapper is overwritten when using - --with-curlwrappers). (Jani) -- Fixed bug #48608 (Invalid libreadline version not detected during configure). - (Jani) -- Fixed bug #48400 (imap crashes when closing stream opened with - OP_PROTOTYPE flag). (Jani) -- Fixed bug #48377 (error message unclear on converting phar with existing - file). (Greg) -- Fixed bug #48247 (Infinite loop and possible crash during startup with - errors when errors are logged). (Jani) -- Fixed bug #48198 error: 'MYSQLND_LLU_SPEC' undeclared. Cause for #48780 and - #46952 - both fixed too. (Andrey) -- Fixed bug #48189 (ibase_execute error in return param). (Kalle) -- Fixed bug #48182 (ssl handshake fails during asynchronous socket connection). - (Sriram Natarajan) -- Fixed bug #48116 (Fixed build with Openssl 1.0). (Pierre, - Al dot Smith at aeschi dot ch dot eu dot org) -- Fixed bug #48057 (Only the date fields of the first row are fetched, others - are empty). (info at programmiernutte dot net) -- Fixed bug #47481 (natcasesort() does not sort extended ASCII characters - correctly). (Herman Radtke) -- Fixed bug #47351 (Memory leak in DateTime). (Derick, Tobias John) -- Fixed bug #47273 (Encoding bug in SoapServer->fault). (Dmitry) -- Fixed bug #46682 (touch() afield returns different values on windows). - (Pierre) -- Fixed bug #46614 (Extended MySQLi class gives incorrect empty() result). - (Andrey) -- Fixed bug #46020 (with Sun Java System Web Server 7.0 on HPUX, #define HPUX). - (Uwe Schindler) -- Fixed bug #45905 (imagefilledrectangle() clipping error). - (markril at hotmail dot com, Pierre) -- Fixed bug #45554 (Inconsistent behavior of the u format char). (Derick) -- Fixed bug #45141 (setcookie will output expires years of >4 digits). (Ilia) -- Fixed bug #44683 (popen crashes when an invalid mode is passed). (Pierre) -- Fixed bug #43510 (stream_get_meta_data() does not return same mode as used - in fopen). (Jani) -- Fixed bug #42434 (ImageLine w/ antialias = 1px shorter). (wojjie at gmail dot - com, Kalle) -- Fixed bug #40013 (php_uname() does not return nodename on Netware (Guenter - Knauf) -- Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo). - (Kalle, Rick Yorgason) -- Fixed bug #28038 (Sent incorrect RCPT TO commands to SMTP server) (Garrett) -- Fixed bug #27051 (Impersonation with FastCGI does not exec process as - impersonated user). (Pierre) - - -30 Jun 2009, PHP 5.3.0 -- Upgraded bundled PCRE to version 7.9. (Nuno) -- Upgraded bundled sqlite to version 3.6.15. (Scott) - -- Moved extensions to PECL (Derick, Lukas, Pierre, Scott): - . ext/dbase - . ext/fbsql - . ext/fdf - . ext/ncurses - . ext/mhash (BC layer is now entirely within ext/hash) - . ext/ming - . ext/msql - . ext/sybase (not maintained anymore, sybase_ct has to be used instead) - -- Removed the experimental RPL (master/slave) functions from mysqli. (Andrey) -- Removed zend.ze1_compatibility_mode. (Dmitry) -- Removed all zend_extension_* php.ini directives. Zend extensions are now - always loaded using zend_extension directive. (Derick) -- Removed special treatment of "/tmp" in sessions for open_basedir. - Note: This undocumented behaviour was introduced in 5.2.2. (Alexey) -- Removed shebang line check from CGI sapi (checked by scanner). (Dmitry) - -- Changed PCRE, Reflection and SPL extensions to be always enabled. (Marcus) -- Changed md5() to use improved implementation. (Solar Designer, Dmitry) -- Changed HTTP stream wrapper to accept any code between and including - 200 to 399 as successful. (Mike, Noah Fontes) -- Changed __call() to be invoked on private/protected method access, similar to - properties and __get(). (Andrei) -- Changed dl() to be disabled by default. Enabled only when explicitly - registered by the SAPI. Currently enabled with cli, cgi and embed SAPIs. - (Dmitry) -- Changed opendir(), dir() and scandir() to use default context when no context - argument is passed. (Sara) -- Changed open_basedir to allow tightening in runtime contexts. (Sara) -- Changed PHP/Zend extensions to use flexible build IDs. (Stas) -- Changed error level E_ERROR into E_WARNING in Soap extension methods - parameter validation. (Felipe) -- Changed openssl info to show the shared library version number. (Scott) -- Changed floating point behaviour to consistently use double precision on all - platforms and with all compilers. (Christian Seiler) -- Changed round() to act more intuitively when rounding to a certain precision - and round very large and very small exponents correctly. (Christian Seiler) -- Changed session_start() to return false when session startup fails. (Jani) -- Changed property_exists() to check the existence of a property independent of - accessibility (like method_exists()). (Felipe) -- Changed array_reduce() to allow mixed $initial (Christian Seiler) - -- Improved PHP syntax and semantics: - . Added lambda functions and closures. (Christian Seiler, Dmitry) - . Added "jump label" operator (limited "goto"). (Dmitry, Sara) - . Added NOWDOC syntax. (Gwynne Raskind, Stas, Dmitry) - . Added HEREDOC syntax with double quotes. (Lars Strojny, Felipe) - . Added support for using static HEREDOCs to initialize static variables and - class members or constants. (Matt) - . Improved syntax highlighting and consistency for variables in double-quoted - strings and literal text in HEREDOCs and backticks. (Matt) - . Added "?:" operator. (Marcus) - . Added support for namespaces. (Dmitry, Stas, Gregory, Marcus) - . Added support for Late Static Binding. (Dmitry, Etienne Kneuss) - . Added support for __callStatic() magic method. (Sara) - . Added forward_static_call(_array) to complete LSB. (Mike Lively) - . Added support for dynamic access of static members using $foo::myFunc(). - (Etienne Kneuss) - . Improved checks for callbacks. (Marcus) - . Added __DIR__ constant. (Lars Strojny) - . Added new error modes E_USER_DEPRECATED and E_DEPRECATED. - E_DEPRECATED is used to inform about stuff being scheduled for removal - in future PHP versions. (Lars Strojny, Felipe, Marcus) - . Added "request_order" INI variable to control specifically $_REQUEST - behavior. (Stas) - . Added support for exception linking. (Marcus) - . Added ability to handle exceptions in destructors. (Marcus) - -- Improved PHP runtime speed and memory usage: - . Substitute global-scope, persistent constants with their values at compile - time. (Matt) - . Optimized ZEND_SIGNED_MULTIPLY_LONG(). (Matt) - . Removed direct executor recursion. (Dmitry) - . Use fastcall calling convention in executor on x86. (Dmitry) - . Use IS_CV for direct access to $this variable. (Dmitry) - . Use ZEND_FREE() opcode instead of ZEND_SWITCH_FREE(IS_TMP_VAR). (Dmitry) - . Lazy EG(active_symbol_table) initialization. (Dmitry) - . Optimized ZEND_RETURN opcode to not allocate and copy return value if it is - not used. (Dmitry) - . Replaced all flex based scanners with re2c based scanners. - (Marcus, Nuno, Scott) - . Added garbage collector. (David Wang, Dmitry). - . Improved PHP binary size and startup speed with GCC4 visibility control. - (Nuno) - . Improved engine stack implementation for better performance and stability. - (Dmitry) - . Improved memory usage by moving constants to read only memory. - (Dmitry, Pierre) - . Changed exception handling. Now each op_array doesn't contain - ZEND_HANDLE_EXCEPTION opcode in the end. (Dmitry) - . Optimized require_once() and include_once() by eliminating fopen(3) on - second usage. (Dmitry) - . Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single - ZEND_ADD_INTERFACE opcode. (Dmitry) - . Optimized string searching for a single character. - (Michal Dziemianko, Scott) - . Optimized interpolated strings to use one less opcode. (Matt) - -- Improved php.ini handling: (Jani) - . Added ".htaccess" style user-defined php.ini files support for CGI/FastCGI. - . Added support for special [PATH=/opt/httpd/www.example.com/] and - [HOST=www.example.com] sections. Directives set in these sections can - not be overridden by user-defined ini-files or during runtime. - . Added better error reporting for php.ini syntax errors. - . Allowed using full path to load modules using "extension" directive. - . Allowed "ini-variables" to be used almost everywhere ini php.ini files. - . Allowed using alphanumeric/variable indexes in "array" ini options. - . Added 3rd optional parameter to parse_ini_file() to specify the scanning - mode of INI_SCANNER_NORMAL or INI_SCANNER_RAW. In raw mode option values - and section values are treated as-is. - . Fixed get_cfg_var() to be able to return "array" ini options. - . Added optional parameter to ini_get_all() to only retrieve the current - value. (Hannes) - -- Improved Windows support: - . Update all libraries to their latest stable version. (Pierre, Rob, Liz, - Garrett). - . Added Windows support for stat(), touch(), filemtime(), filesize() and - related functions. (Pierre) - . Re-added socket_create_pair() for Windows in sockets extension. (Kalle) - . Added inet_pton() and inet_ntop() also for Windows platforms. - (Kalle, Pierre) - . Added mcrypt_create_iv() for Windows platforms. (Pierre) - . Added ACL Cache support on Windows. - (Kanwaljeet Singla, Pierre, Venkat Raman Don) - . Added constants based on Windows' GetVersionEx information. - PHP_WINDOWS_VERSION_* and PHP_WINDOWS_NT_*. (Pierre) - . Added support for ACL (is_writable, is_readable, reports now correct - results) on Windows. (Pierre, Venkat Raman Don, Kanwaljeet Singla) - . Added support for fnmatch() on Windows. (Pierre) - . Added support for time_nanosleep() and time_sleep_until() on Windows. - (Pierre) - . Added support for symlink(), readlink(), linkinfo() and link() on Windows. - They are available only when the running platform supports them. (Pierre) - . the GMP extension now relies on MPIR instead of the GMP library. (Pierre) - . Added Windows support for stream_socket_pair(). (Kalle) - . Drop all external dependencies for the core features. (Pierre) - . Drastically improve the build procedure (Pierre, Kalle, Rob): - . VC9 (Visual C++ 2008) or later support - . Initial experimental x64 support - . MSI installer now supports all recent Windows versions, including - Windows 7. (John, Kanwaljeet Singla) - -- Improved and cleaned CGI code: - . FastCGI is now always enabled and cannot be disabled. - See sapi/cgi/CHANGES for more details. (Dmitry) - . Added CGI SAPI -T option which can be used to measure execution - time of script repeated several times. (Dmitry) - -- Improved streams: - . Fixed confusing error message on failure when no errors are logged. (Greg) - . Added stream_supports_lock() function. (Benjamin Schulz) - . Added context parameter for copy() function. (Sara) - . Added "glob://" stream wrapper. (Marcus) - . Added "params" as optional parameter for stream_context_create(). (Sara) - . Added ability to use stream wrappers in include_path. (Gregory, Dmitry) - -- Improved DNS API - . Added Windows support for dns_check_record(), dns_get_mx(), checkdnsrr() and - getmxrr(). (Pierre) - . Added support for old style DNS functions (supports OSX and FBSD). (Scott) - . Added a new "entries" array in dns_check_record() containing the TXT - elements. (Felipe, Pierre) - -- Improved hash extension: - . Changed mhash to be a wrapper layer around the hash extension. (Scott) - . Added hash_copy() function. (Tony) - . Added sha224 hash algorithm to the hash extension. (Scott) - -- Improved IMAP support (Pierre): - . Added imap_gc() to clear the imap cache - . Added imap_utf8_to_mutf7() and imap_mutf7_to_utf8() - -- Improved mbstring extension: - . Added "mbstring.http_output_conv_mimetypes" INI directive that allows - common non-text types such as "application/xhtml+xml" to be converted - by mb_output_handler(). (Moriyoshi) - -- Improved OCI8 extension (Chris Jones/Oracle Corp.): - . Added Database Resident Connection Pooling (DRCP) and Fast - Application Notification (FAN) support. - . Added support for Oracle External Authentication (not supported - on Windows). - . Improve persistent connection handling of restarted DBs. - . Added SQLT_AFC (aka CHAR datatype) support to oci_bind_by_name. - . Fixed bug #45458 (Numeric keys for associative arrays are not - handled properly) - . Fixed bug #41069 (Segmentation fault with query over DB link). - . Fixed define of SQLT_BDOUBLE and SQLT_BFLOAT constants with Oracle - 10g ORACLE_HOME builds. - . Changed default value of oci8.default_prefetch from 10 to 100. - . Fixed PECL Bug #16035 (OCI8: oci_connect without ORACLE_HOME defined causes - segfault) (Chris Jones/Oracle Corp.) - . Fixed PECL Bug #15988 (OCI8: sqlnet.ora isn't read with older Oracle - libraries) (Chris Jones/Oracle Corp.) - . Fixed PECL Bug #14268 (Allow "pecl install oci8" command to "autodetect" an - Instant Client RPM install) (Chris Jones/Oracle Corp.) - . Fixed PECL bug #12431 (OCI8 ping functionality is broken). - . Allow building (e.g from PECL) the PHP 5.3-based OCI8 code with - PHP 4.3.9 onwards. - . Provide separate extensions for Oracle 11g and 10g on Windows. - (Pierre, Chris) - -- Improved OpenSSL extension: - . Added support for OpenSSL digest and cipher functions. (Dmitry) - . Added access to internal values of DSA, RSA and DH keys. (Dmitry) - . Fixed a memory leak on openssl_decrypt(). (Henrique) - . Fixed segfault caused by openssl_pkey_new(). (Henrique) - . Fixed bug caused by uninitilized variables in openssl_pkcs7_encrypt() and - openssl_pkcs7_sign(). (Henrique) - . Fixed error message in openssl_seal(). (Henrique) - -- Improved pcntl extension: (Arnaud) - . Added pcntl_signal_dispatch(). - . Added pcntl_sigprocmask(). - . Added pcntl_sigwaitinfo(). - . Added pcntl_sigtimedwait(). - -- Improved SOAP extension: - . Added support for element names in context of XMLSchema's . (Dmitry) - . Added ability to use Traversable objects instead of plain arrays. - (Joshua Reese, Dmitry) - . Fixed possible crash bug caused by an uninitialized value. (Zdash Urf) - -- Improved SPL extension: - . Added SPL to list of standard extensions that cannot be disabled. (Marcus) - . Added ability to store associative information with objects in - SplObjectStorage. (Marcus) - . Added ArrayAccess support to SplObjectStorage. (Marcus) - . Added SplDoublyLinkedList, SplStack, SplQueue classes. (Etienne) - . Added FilesystemIterator. (Marcus) - . Added GlobIterator. (Marcus) - . Added SplHeap, SplMinHeap, SplMaxHeap, SplPriorityQueue classes. (Etienne) - . Added new parameter $prepend to spl_autoload_register(). (Etienne) - . Added SplFixedArray. (Etienne, Tony) - . Added delaying exceptions in SPL's autoload mechanism. (Marcus) - . Added RecursiveTreeIterator. (Arnaud, Marcus) - . Added MultipleIterator. (Arnaud, Marcus, Johannes) - -- Improved Zend Engine: - . Added "compact" handler for Zend MM storage. (Dmitry) - . Added "+" and "*" specifiers to zend_parse_parameters(). (Andrei) - . Added concept of "delayed early binding" that allows opcode caches to - perform class declaration (early and/or run-time binding) in exactly - the same order as vanilla PHP. (Dmitry) - -- Improved crypt() function: (Pierre) - . Added Blowfish and extended DES support. (Using Blowfish implementation - from Solar Designer). - . Made crypt features portable by providing our own implementations - for crypt_r and the algorithms which are used when OS does not provide - them. PHP implementations are always used for Windows builds. - -- Deprecated session_register(), session_unregister() and - session_is_registered(). (Hannes) -- Deprecated define_syslog_variables(). (Kalle) -- Deprecated ereg extension. (Felipe) - -- Added new extensions: - . Added Enchant extension as a way to access spell checkers. (Pierre) - . Added fileinfo extension as replacement for mime_magic extension. (Derick) - . Added intl extension for Internationalization. (Ed B., Vladimir I., - Dmitry L., Stanislav M., Vadim S., Kirti V.) - . Added mysqlnd extension as replacement for libmysql for ext/mysql, mysqli - and PDO_mysql. (Andrey, Johannes, Ulf) - . Added phar extension for handling PHP Archives. (Greg, Marcus, Steph) - . Added SQLite3 extension. (Scott) - -- Added new date/time functionality: (Derick) - . date_parse_from_format(): Parse date/time strings according to a format. - . date_create_from_format()/DateTime::createFromFormat(): Create a date/time - object by parsing a date/time string according to a given format. - . date_get_last_errors()/DateTime::getLastErrors(): Return a list of warnings - and errors that were found while parsing a date/time string through: - . strtotime() / new DateTime - . date_create_from_format() / DateTime::createFromFormat() - . date_parse_from_format(). - . support for abbreviation and offset based timezone specifiers for - the 'e' format specifier, DateTime::__construct(), DateTime::getTimeZone() - and DateTimeZone::getName(). - . support for selectively listing timezone identifiers by continent or - country code through timezone_identifiers_list() / - DateTimezone::listIdentifiers(). - . timezone_location_get() / DateTimezone::getLocation() for retrieving - location information from timezones. - . date_timestamp_set() / DateTime::setTimestamp() to set a Unix timestamp - without invoking the date parser. (Scott, Derick) - . date_timestamp_get() / DateTime::getTimestamp() to retrieve the Unix - timestamp belonging to a date object. - . two optional parameters to timezone_transitions_get() / - DateTimeZone::getTranstions() to limit the range of transitions being - returned. - . support for "first/last day of " style texts. - . support for date/time strings returned by MS SQL. - . support for serialization and unserialization of DateTime objects. - . support for diffing date/times through date_diff() / DateTime::diff(). - . support for adding/subtracting weekdays with strtotime() and - DateTime::modify(). - . DateInterval class to represent the difference between two date/times. - . support for parsing ISO intervals for use with DateInterval. - . date_add() / DateTime::add(), date_sub() / DateTime::sub() for applying an - interval to an existing date/time. - . proper support for "this week", "previous week"/"last week" and "next week" - phrases so that they actually mean the week and not a seven day period - around the current day. - . support for " of" and "last of" phrases to be used - with months - like in "last saturday of februari 2008". - . support for "back of " and "front of " phrases that are used in - Scotland. - . DatePeriod class which supports iterating over a DateTime object applying - DateInterval on each iteration, up to an end date or limited by maximum - number of occurences. - -- Added compatibility mode in GD, imagerotate, image(filled)ellipse - imagefilter, imageconvolution and imagecolormatch are now always enabled. - (Pierre) -- Added array_replace() and array_replace_recursive() functions. (Matt) -- Added ReflectionProperty::setAccessible() method that allows non-public - property's values to be read through ::getValue() and set through - ::setValue(). (Derick, Sebastian) -- Added msg_queue_exists() function to sysvmsg extension. (Benjamin Schulz) -- Added Firebird specific attributes that can be set via PDO::setAttribute() - to control formatting of date/timestamp columns: PDO::FB_ATTR_DATE_FORMAT, - PDO::FB_ATTR_TIME_FORMAT and PDO::FB_ATTR_TIMESTAMP_FORMAT. (Lars W) -- Added gmp_testbit() function. (Stas) -- Added icon format support to getimagesize(). (Scott) -- Added LDAP_OPT_NETWORK_TIMEOUT option for ldap_set_option() to allow - setting network timeout (FR #42837). (Jani) -- Added optional escape character parameter to fgetcsv(). (David Soria Parra) -- Added an optional parameter to strstr() and stristr() for retrieval of either - the part of haystack before or after first occurrence of needle. - (Johannes, Felipe) -- Added xsl->setProfiling() for profiling stylesheets. (Christian) -- Added long-option feature to getopt() and made getopt() available also on - win32 systems by adding a common getopt implementation into core. - (David Soria Parra, Jani) -- Added support for optional values, and = as separator, in getopt(). (Hannes) -- Added lcfirst() function. (David C) -- Added PREG_BAD_UTF8_OFFSET_ERROR constant. (Nuno) -- Added native support for asinh(), acosh(), atanh(), log1p() and expm1(). - (Kalle) -- Added LIBXML_LOADED_VERSION constant (libxml2 version currently used). (Rob) -- Added JSON_FORCE_OBJECT flag to json_encode(). (Scott, Richard Quadling) -- Added timezone_version_get() to retrieve the version of the used timezone - database. (Derick) -- Added 'n' flag to fopen to allow passing O_NONBLOCK to the underlying - open(2) system call. (Mikko) -- Added "dechunk" filter which can decode HTTP responses with chunked - transfer-encoding. HTTP streams use this filter automatically in case - "Transfer-Encoding: chunked" header is present in response. It's possible to - disable this behaviour using "http"=>array("auto_decode"=>0) in stream - context. (Dmitry) -- Added support for CP850 encoding in mbstring extension. - (Denis Giffeler, Moriyoshi) -- Added stream_cast() and stream_set_options() to user-space stream wrappers, - allowing stream_select(), stream_set_blocking(), stream_set_timeout() and - stream_set_write_buffer() to work with user-space stream wrappers. (Arnaud) -- Added header_remove() function. (chsc at peytz dot dk, Arnaud) -- Added stream_context_get_params() function. (Arnaud) -- Added optional parameter "new" to sybase_connect(). (Timm) -- Added parse_ini_string() function. (grange at lemonde dot fr, Arnaud) -- Added str_getcsv() function. (Sara) -- Added openssl_random_pseudo_bytes() function. (Scott) -- Added ability to send user defined HTTP headers with SOAP request. - (Brian J.France, Dmitry) -- Added concatenation option to bz2.decompress stream filter. - (Keisial at gmail dot com, Greg) -- Added support for using compressed connections with PDO_mysql. (Johannes) -- Added the ability for json_decode() to take a user specified depth. (Scott) -- Added support for the mysql_stmt_next_result() function from libmysql. - (Andrey) -- Added function preg_filter() that does grep and replace in one go. (Marcus) -- Added system independent realpath() implementation which caches intermediate - directories in realpath-cache. (Dmitry) -- Added optional clear_realpath_cache and filename parameters to - clearstatcache(). (Jani, Arnaud) -- Added litespeed SAPI module. (George Wang) -- Added ext/hash support to ext/session's ID generator. (Sara) -- Added quoted_printable_encode() function. (Tony) -- Added stream_context_set_default() function. (Davey Shafik) -- Added optional "is_xhtml" parameter to nl2br() which makes the function - output
when false and
when true (FR #34381). (Kalle) -- Added PHP_MAXPATHLEN constant (maximum length of a path). (Pierre) -- Added support for SSH via libssh2 in cURL. (Pierre) -- Added support for gray levels PNG image with alpha in GD extension. (Pierre) -- Added support for salsa hashing functions in HASH extension. (Scott) -- Added DOMNode::getLineNo to get line number of parsed node. (Rob) -- Added table info to PDO::getColumnMeta() with SQLite. (Martin Jansen, Scott) -- Added mail logging functionality that allows logging of mail sent via - mail() function. (Ilia) -- Added json_last_error() to return any error information from json_decode(). - (Scott) -- Added gethostname() to return the current system host name. (Ilia) -- Added shm_has_var() function. (Mike) -- Added depth parameter to json_decode() to lower the nesting depth from the - maximum if required. (Scott) -- Added pixelation support in imagefilter(). (Takeshi Abe, Kalle) -- Added SplObjectStorage::addAll/removeAll. (Etienne) - -- Implemented FR #41712 (curl progress callback: CURLOPT_PROGRESSFUNCTION). - (sdteffen[at]gmail[dot].com, Pierre) -- Implemented FR #47739 (Missing cURL option do disable IPv6). (Pierre) -- Implemented FR #39637 (Missing cURL option CURLOPT_FTP_FILEMETHOD). (Pierre) - -- Fixed an issue with ReflectionProperty::setAccessible(). - (Sebastian, Roman Borschel) -- Fixed html_entity_decode() incorrectly converting numeric html entities - to different characters with cp1251 and cp866. (Scott) -- Fixed an issue in date() where a : was printed for the O modifier after a P - modifier was used. (Derick) -- Fixed exec() on Windows to not eat the first and last double quotes. (Scott) -- Fixed readlink on Windows in thread safe SAPI (apache2.x etc.). (Pierre) -- Fixed a bug causing miscalculations with the "last of month" - relative time string. (Derick) -- Fixed bug causing the algorithm parameter of mhash() to be modified. (Scott) -- Fixed invalid calls to free when internal fileinfo magic file is used. (Scott) -- Fixed memory leak inside wddx_add_vars() function. (Felipe) -- Fixed check in recode extension to allow builing of recode and mysql - extensions when using a recent libmysql. (Johannes) - -- Fixed PECL bug #12794 (PDOStatement->nextRowset() doesn't work). (Johannes) -- Fixed PECL bug #12401 (Add support for ATTR_FETCH_TABLE_NAMES). (Johannes) - -- Fixed bug #48696 (ldap_read() segfaults with invalid parameters). (Felipe) -- Fixed bug #48643 (String functions memory issue). (Dmitry) -- Fixed bug #48641 (tmpfile() uses old parameter parsing). - (crrodriguez at opensuse dot org) -- Fixed bug #48624 (.user.ini never gets parsed). (Pierre) -- Fixed bug #48620 (X-PHP-Originating-Script assumes no trailing CRLF in - existing headers). (Ilia) -- Fixed bug #48578 (Can't build 5.3 on FBSD 4.11). (Rasmus) -- Fixed bug #48535 (file_exists returns false when impersonate is used). - (Kanwaljeet Singla, Venkat Raman Don) -- Fixed bug #48493 (spl_autoload_register() doesn't work correctly when - prepending functions). (Scott) -- Fixed bug #48215 (Calling a method with the same name as the parent class - calls the constructor). (Scott) -- Fixed bug #48200 (compile failure with mbstring.c when - --enable-zend-multibyte is used). (Jani) -- Fixed bug #48188 (Cannot execute a scrollable cursors twice with PDO_PGSQL). - (Matteo) -- Fixed bug #48185 (warning: value computed is not used in - pdo_sqlite_stmt_get_col line 271). (Matteo) -- Fixed bug #48087 (call_user_method() invalid free of arguments). (Felipe) -- Fixed bug #48060 (pdo_pgsql - large objects are returned as empty). (Matteo) -- Fixed bug #48034 (PHP crashes when script is 8192 (8KB) bytes long). (Dmitry) -- Fixed bug #48004 (Error handler prevents creation of default object). (Dmitry) -- Fixed bug #47880 (crashes in call_user_func_array()). (Dmitry) -- Fixed bug #47856 (stristr() converts needle to lower-case). (Ilia) -- Fixed bug #47851 (is_callable throws fatal error). (Dmitry) -- Fixed bug #47816 (pcntl tests failing on NetBSD). (Matteo) -- Fixed bug #47779 (Wrong value for SIG_UNBLOCK and SIG_SETMASK constants). - (Matteo) -- Fixed bug #47771 (Exception during object construction from arg call calls - object's destructor). (Dmitry) -- Fixed bug #47767 (include_once does not resolve windows symlinks or junctions) - (Kanwaljeet Singla, Venkat Raman Don) -- Fixed bug #47757 (rename JPG to JPEG in phpinfo). (Pierre) -- Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer). (Dmitry) -- Fixed bug #47714 (autoloading classes inside exception_handler leads to - crashes). (Dmitry) -- Fixed bug #47671 (Cloning SplObjectStorage instances). (Etienne) -- Fixed bug #47664 (get_class returns NULL instead of FALSE). (Dmitry) -- Fixed bug #47662 (Support more than 127 subpatterns in preg_match). (Nuno) -- Fixed bug #47596 (Bus error on parsing file). (Dmitry) -- Fixed bug #47572 (Undefined constant causes segmentation fault). (Felipe) -- Fixed bug #47560 (explode()'s limit parameter odd behaviour). (Matt) -- Fixed bug #47549 (get_defined_constants() return array with broken array - categories). (Ilia) -- Fixed bug #47535 (Compilation failure in ps_fetch_from_1_to_8_bytes()). - (Johannes) -- Fixed bug #47534 (RecursiveDiteratoryIterator::getChildren ignoring - CURRENT_AS_PATHNAME). (Etienne) -- Fixed bug #47443 (metaphone('scratch') returns wrong result). (Felipe) -- Fixed bug #47438 (mysql_fetch_field ignores zero offset). (Johannes) -- Fixed bug #47398 (PDO_Firebird doesn't implements quoter correctly). (Felipe) -- Fixed bug #47390 (odbc_fetch_into - BC in php 5.3.0). (Felipe) -- Fixed bug #47359 (Use the expected unofficial mimetype for bmp files). (Scott) -- Fixed bug #47343 (gc_collect_cycles causes a segfault when called within a - destructor in one case). (Dmitry) -- Fixed bug #47320 ($php_errormsg out of scope in functions). (Dmitry) -- Fixed bug #47318 (UMR when trying to activate user config). (Pierre) -- Fixed bug #47243 (OCI8: Crash at shutdown on Windows) (Chris Jones/Oracle - Corp.) -- Fixed bug #47231 (offsetGet error using incorrect offset). (Etienne) -- Fixed bug #47229 (preg_quote() should escape the '-' char). (Nuno) -- Fixed bug #47165 (Possible memory corruption when passing return value by - reference). (Dmitry) -- Fixed bug #47087 (Second parameter of mssql_fetch_array()). (Felipe) -- Fixed bug #47085 (rename() returns true even if the file in PHAR does not - exist). (Greg) -- Fixed bug #47050 (mysqli_poll() modifies improper variables). (Johannes) -- Fixed bug #47045 (SplObjectStorage instances compared with ==). (Etienne) -- Fixed bug #47038 (Memory leak in include). (Dmitry) -- Fixed bug #47031 (Fix constants in DualIterator example). (Etienne) -- Fixed bug #47021 (SoapClient stumbles over WSDL delivered with - "Transfer-Encoding: chunked"). (Dmitry) -- Fixed bug #46994 (OCI8: CLOB size does not update when using CLOB IN OUT param - in stored procedure) (Chris Jones/Oracle Corp.) -- Fixed bug #46979 (use with non-compound name *has* effect). (Dmitry) -- Fixed bug #46957 (The tokenizer returns deprecated values). (Felipe) -- Fixed bug #46944 (UTF-8 characters outside the BMP aren't encoded correctly). - (Scott) -- Fixed bug #46897 (ob_flush() should fail to flush unerasable buffers). - (David C.) -- Fixed bug #46849 (Cloning DOMDocument doesn't clone the properties). (Rob) -- Fixed bug #46847 (phpinfo() is missing some settings). (Hannes) -- Fixed bug #46844 (php scripts or included files with first line starting - with # have the 1st line missed from the output). (Ilia) -- Fixed bug #46817 (tokenizer misses last single-line comment (PHP 5.3+, with - re2c lexer)). (Matt, Shire) -- Fixed bug #46811 (ini_set() doesn't return false on failure). (Hannes) -- Fixed bug #46763 (mb_stristr() wrong output when needle does not exist). - (Henrique M. Decaria) -- Fixed bug #46755 (warning: use statement with non-compound name). (Dmitry) -- Fixed bug #46746 (xmlrpc_decode_request outputs non-suppressable error when - given bad data). (Ilia) -- Fixed bug #46738 (Segfault when mb_detect_encoding() fails). (Scott) -- Fixed bug #46731 (Missing validation for the options parameter of the - imap_fetch_overview() function). (Ilia) -- Fixed bug #46711 (cURL curl_setopt leaks memory in foreach loops). (magicaltux - [at] php [dot] net) -- Fixed bug #46701 (Creating associative array with long values in the key fails - on 32bit linux). (Shire) -- Fixed bug #46681 (mkdir() fails silently on PHP 5.3). (Hannes) -- Fixed bug #46653 (can't extend mysqli). (Johannes) -- Fixed bug #46646 (Restrict serialization on some internal classes like Closure - and SplFileInfo using exceptions). (Etienne) -- Fixed bug #46623 (OCI8: phpinfo doesn't show compile time ORACLE_HOME with - phpize) (Chris Jones/Oracle Corp.) -- Fixed bug #46578 (strip_tags() does not honor end-of-comment when it - encounters a single quote). (Felipe) -- Fixed bug #46546 (Segmentation fault when using declare statement with - non-string value). (Felipe) -- Fixed bug #46542 (Extending PDO class with a __call() function doesn't work as - expected). (Johannes) -- Fixed bug #46421 (SplFileInfo not correctly handling /). (Etienne) -- Fixed bug #46347 (parse_ini_file() doesn't support * in keys). (Nuno) -- Fixed bug #46268 (DateTime::modify() does not reset relative time values). - (Derick) -- Fixed bug #46241 (stacked error handlers, internal error handling in general). - (Etienne) -- Fixed bug #46238 (Segmentation fault on static call with empty string method). - (Felipe) -- Fixed bug #46192 (ArrayObject with objects as storage serialization). - (Etienne) -- Fixed bug #46185 (importNode changes the namespace of an XML element). (Rob) -- Fixed bug #46178 (memory leak in ext/phar). (Greg) -- Fixed bug #46160 (SPL - Memory leak when exception is thrown in offsetSet). - (Felipe) -- Fixed Bug #46147 (after stream seek, appending stream filter reads incorrect - data). (Greg) -- Fixed bug #46127 (php_openssl_tcp_sockop_accept forgets to set context on - accepted stream) (Mark Karpeles, Pierre) -- Fixed bug #46115 (Memory leak when calling a method using Reflection). - (Dmitry) -- Fixed bug #46110 (XMLWriter - openmemory() and openuri() leak memory on - multiple calls). (Ilia) -- Fixed bug #46108 (DateTime - Memory leak when unserializing). (Felipe) -- Fixed bug #46106 (Memory leaks when using global statement). (Dmitry) -- Fixed bug #46099 (Xsltprocessor::setProfiling - memory leak). (Felipe, Rob). -- Fixed bug #46087 (DOMXPath - segfault on destruction of a cloned object). - (Ilia) -- Fixed bug #46048 (SimpleXML top-level @attributes not part of iterator). - (David C.) -- Fixed bug #46044 (Mysqli - wrong error message). (Johannes) -- Fixed bug #46042 (memory leaks with reflection of mb_convert_encoding()). - (Ilia) -- Fixed bug #46039 (ArrayObject iteration is slow). (Arnaud) -- Fixed bug #46033 (Direct instantiation of SQLite3stmt and SQLite3result cause - a segfault.) (Scott) -- Fixed bug #45991 (Ini files with the UTF-8 BOM are treated as invalid). - (Scott) -- Fixed bug #45989 (json_decode() doesn't return NULL on certain invalid - strings). (magicaltux, Scott) -- Fixed bug #45976 (Moved SXE from SPL to SimpleXML). (Etienne) -- Fixed bug #45928 (large scripts from stdin are stripped at 16K border). - (Christian Schneider, Arnaud) -- Fixed bug #45911 (Cannot disable ext/hash). (Arnaud) -- Fixed bug #45907 (undefined reference to 'PHP_SHA512Init'). (Greg) -- Fixed bug #45826 (custom ArrayObject serialization). (Etienne) -- Fixed bug #45820 (Allow empty keys in ArrayObject). (Etienne) -- Fixed bug #45791 (json_decode() doesn't convert 0e0 to a double). (Scott) -- Fixed bug #45786 (FastCGI process exited unexpectedly). (Dmitry) -- Fixed bug #45757 (FreeBSD4.11 build failure: failed include; stdint.h). - (Hannes) -- Fixed bug #45743 (property_exists fails to find static protected member in - child class). (Felipe) -- Fixed bug #45717 (Fileinfo/libmagic build fails, missing err.h and getopt.h). - (Derick) -- Fixed bug #45706 (Unserialization of classes derived from ArrayIterator - fails). (Etienne, Dmitry) -- Fixed bug #45696 (Not all DateTime methods allow method chaining). (Derick) -- Fixed bug #45682 (Unable to var_dump(DateInterval)). (Derick) -- Fixed bug #45447 (Filesystem time functions on Vista and server 2008). - (Pierre) -- Fixed bug #45432 (PDO: persistent connection leak). (Felipe) -- Fixed bug #45392 (ob_start()/ob_end_clean() and memory_limit). (Ilia) -- Fixed bug #45384 (parse_ini_file will result in parse error with no trailing - newline). (Arnaud) -- Fixed bug #45382 (timeout bug in stream_socket_enable_crypto). (vnegrier at - optilian dot com, Ilia) -- Fixed bug #45044 (relative paths not resolved correctly). (Dmitry) -- Fixed bug #44861 (scrollable cursor don't work with pgsql). (Matteo) -- Fixed bug #44842 (parse_ini_file keys that start/end with underscore). - (Arnaud) -- Fixed bug #44575 (parse_ini_file comment # line problems). (Arnaud) -- Fixed bug #44409 (PDO::FETCH_SERIALIZE calls __construct()). (Matteo) -- Fixed bug #44173 (PDO->query() parameter parsing/checking needs an update). - (Matteo) -- Fixed bug #44154 (pdo->errorInfo() always have three elements in the returned - array). (David C.) -- Fixed bug #44153 (pdo->errorCode() returns NULL when there are no errors). - (David C.) -- Fixed bug #44135 (PDO MySQL does not support CLIENT_FOUND_ROWS). (Johannes, - chx1975 at gmail dot com) -- Fixed bug #44100 (Inconsistent handling of static array declarations with - duplicate keys). (Dmitry) -- Fixed bug #43831 ($this gets mangled when extending PDO with persistent - connection). (Felipe) -- Fixed bug #43817 (opendir() fails on Windows directories with parent directory - unaccessible). (Dmitry) -- Fixed bug #43069 (SoapClient causes 505 HTTP Version not supported error - message). (Dmitry) -- Fixed bug #43008 (php://filter uris ignore url encoded filternames and can't - handle slashes). (Arnaud) -- Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped). - (Scott, Edward Z. Yang) -- Fixed bug #41874 (separate STDOUT and STDERR in exec functions). (Kanwaljeet - Singla, Venkat Raman Don, Pierre) -- Fixed bug #41534 (SoapClient over HTTPS fails to reestablish connection). - (Dmitry) -- Fixed bug #38802 (max_redirects and ignore_errors). (patch by - datibbaw@php.net) -- Fixed bug #35980 (touch() works on files but not on directories). (Pierre) - -17 Jun 2009, PHP 5.2.10 -- Updated timezone database to version 2009.9 (2009i) (Derick) - -- Added "ignore_errors" option to http fopen wrapper. (David Zulke, Sara) -- Added new CURL options CURLOPT_REDIR_PROTOCOLS, CURLOPT_PROTOCOLS, - and CURLPROTO_* for redirect fixes in CURL 7.19.4. (Yoram Bar Haim, Stas) -- Added support for Sun CC (FR #46595 and FR #46513). (David Soria Parra) - -- Changed default value of array_unique()'s optional sorting type parameter - back to SORT_STRING to fix backwards compatibility breakage introduced in - PHP 5.2.9. (Moriyoshi) - -- Fixed memory corruptions while reading properties of zip files. (Ilia) -- Fixed memory leak in ob_get_clean/ob_get_flush. (Christian) -- Fixed segfault on invalid session.save_path. (Hannes) -- Fixed leaks in imap when a mail_criteria is used. (Pierre) -- Fixed missing erealloc() in fix for Bug #40091 in spl_autoload_register. (Greg) - -- Fixed bug #48562 (Reference recursion causes segfault when used in - wddx_serialize_vars()). (Felipe) -- Fixed bug #48557 (Numeric string keys in Apache Hashmaps are not cast to - integers). (David Zuelke) -- Fixed bug #48518 (curl crashes when writing into invalid file handle). (Tony) -- Fixed bug #48514 (cURL extension uses same resource name for simple and - multi APIs). (Felipe) -- Fixed bug #48469 (ldap_get_entries() leaks memory on empty search - results). (Patrick) -- Fixed bug #48456 (CPPFLAGS not restored properly in phpize.m4). (Jani, - spisek at kerio dot com) -- Fixed bug #48448 (Compile failure under IRIX 6.5.30 building cast.c). - (Kalle) -- Fixed bug #48441 (ldap_search() sizelimit, timelimit and deref options - persist). (Patrick) -- Fixed bug #48434 (Improve memory_get_usage() accuracy). (Arnaud) -- Fixed bug #48416 (Force a cache limit in ereg() to stop excessive memory - usage). (Scott) -- Fixed bug #48409 (Crash when exception is thrown while passing function - arguments). (Arnaud) -- Fixed bug #48378 (exif_read_data() segfaults on certain corrupted .jpeg - files). (Pierre) -- Fixed bug #48359 (Script hangs on snmprealwalk if OID is not increasing). - (Ilia, simonov at gmail dot com) -- Fixed bug #48336 (ReflectionProperty::getDeclaringClass() does not work - with redeclared property). - (patch by Markus dot Lidel at shadowconnect dot com) -- Fixed bug #48326 (constant MSG_DONTWAIT not defined). (Arnaud) -- Fixed bug #48313 (fgetcsv() does not return null for empty rows). (Ilia) -- Fixed bug #48309 (stream_copy_to_stream() and fpasstru() do not update - stream position of plain files). (Arnaud) -- Fixed bug #48307 (stream_copy_to_stream() copies 0 bytes when $source is a - socket). (Arnaud) -- Fixed bug #48273 (snmp*_real_walk() returns SNMP errors as values). - (Ilia, lytboris at gmail dot com) -- Fixed bug #48256 (Crash due to double-linking of history.o). - (tstarling at wikimedia dot org) -- Fixed bug #48248 (SIGSEGV when access to private property via &__get). - (Felipe) -- Fixed bug #48247 (Crash on errors during startup). (Stas) -- Fixed bug #48240 (DBA Segmentation fault dba_nextkey). (Felipe) -- Fixed bug #48224 (Incorrect shuffle in array_rand). (Etienne) -- Fixed bug #48221 (memory leak when passing invalid xslt parameter). - (Felipe) -- Fixed bug #48207 (CURLOPT_(FILE|WRITEHEADER options do not error out when - working with a non-writable stream). (Ilia) -- Fixed bug #48206 (Iterating over an invalid data structure with - RecursiveIteratorIterator leads to a segfault). (Scott) -- Fixed bug #48204 (xmlwriter_open_uri() does not emit warnings on invalid - paths). (Ilia) -- Fixed bug #48203 (Crash when CURLOPT_STDERR is set to regular file). (Jani) -- Fixed bug #48202 (Out of Memory error message when passing invalid file - path) (Pierre) -- Fixed bug #48156 (Added support for lcov v1.7). (Ilia) -- Fixed bug #48132 (configure check for curl ssl support fails with - --disable-rpath). (Jani) -- Fixed bug #48131 (Don't try to bind ipv4 addresses to ipv6 ips via bindto). - (Ilia) -- Fixed bug #48070 (PDO_OCI: Segfault when using persistent connection). - (Pierre, Matteo, jarismar dot php at gmail dot com) -- Fixed bug #48058 (Year formatter goes wrong with out-of-int range). (Derick) -- Fixed bug #48038 (odbc_execute changes variables used to form params array). - (Felipe) -- Fixed bug #47997 (stream_copy_to_stream returns 1 on empty streams). (Arnaud) -- Fixed bug #47991 (SSL streams fail if error stack contains items). (Mikko) -- Fixed bug #47981 (error handler not called regardless). (Hannes) -- Fixed bug #47969 (ezmlm_hash() returns different values depend on OS). (Ilia) -- Fixed bug #47946 (ImageConvolution overwrites background). (Ilia) -- Fixed bug #47940 (memory leaks in imap_body). (Pierre, Jake Levitt) -- Fixed bug #47937 (system() calls sapi_flush() regardless of output - buffering). (Ilia) -- Fixed bug #47903 ("@" operator does not work with string offsets). (Felipe) -- Fixed bug #47893 (CLI aborts on non blocking stdout). (Arnaud) -- Fixed bug #47849 (Non-deep import loses the namespace). (Rob) -- Fixed bug #47845 (PDO_Firebird omits first row from query). (Lars W) -- Fixed bug #47836 (array operator [] inconsistency when the array has - PHP_INT_MAX index value). (Matt) -- Fixed bug #47831 (Compile warning for strnlen() in main/spprintf.c). - (Ilia, rainer dot jung at kippdata dot de) -- Fixed bug #47828 (openssl_x509_parse() segfaults when a UTF-8 conversion - fails). (Scott, Kees Cook, Pierre) -- Fixed bug #47818 (Segfault due to bound callback param). (Felipe) -- Fixed bug #47801 (__call() accessed via parent:: operator is provided - incorrect method name). (Felipe) -- Fixed bug #47769 (Strange extends PDO). (Felipe) -- Fixed bug #47745 (FILTER_VALIDATE_INT doesn't allow minimum integer). - (Dmitry) -- Fixed bug #47721 (Alignment issues in mbstring and sysvshm extension). - (crrodriguez at opensuse dot org, Ilia) -- Fixed bug #47704 (PHP crashes on some "bad" operations with string - offsets). (Dmitry) -- Fixed bug #47695 (build error when xmlrpc and iconv are compiled against - different iconv versions). (Scott) -- Fixed bug #47667 (ZipArchive::OVERWRITE seems to have no effect). - (Mikko, Pierre) -- Fixed bug #47644 (Valid integers are truncated with json_decode()). (Scott) -- Fixed bug #47639 (pg_copy_from() WARNING: nonstandard use of \\ in a - string literal). (Ilia) -- Fixed bug #47616 (curl keeps crashing). (Felipe) -- Fixed bug #47598 (FILTER_VALIDATE_EMAIL is locale aware). (Ilia) -- Fixed bug #47566 (pcntl_wexitstatus() returns signed status). - (patch by james at jamesreno dot com) -- Fixed bug #47564 (unpacking unsigned long 32bit bit endian returns wrong - result). (Ilia) -- Fixed bug #47487 (performance degraded when reading large chunks after - fix of bug #44607). (Arnaud) -- Fixed bug #47468 (enable cli|cgi-only extensions for embed sapi). (Jani) -- Fixed bug #47435 (FILTER_FLAG_NO_PRIV_RANGE does not work with ipv6 - addresses in the filter extension). (Ilia) -- Fixed bug #47430 (Errors after writing to nodeValue parameter of an absent - previousSibling). (Rob) -- Fixed bug #47365 (ip2long() may allow some invalid values on certain 64bit - systems). (Ilia) -- Fixed bug #47254 (Wrong Reflection for extends class). (Felipe) -- Fixed bug #47042 (cgi sapi is incorrectly removing SCRIPT_FILENAME). - (Sriram Natarajan, David Soria Parra) -- Fixed bug #46882 (Serialize / Unserialize misbehaviour under OS with - different bit numbers). (Matt) -- Fixed bug #46812 (get_class_vars() does not include visible private variable - looking at subclass). (Arnaud) -- Fixed bug #46386 (Digest authentication with SOAP module fails against MSSQL - SOAP services). (Ilia, lordelph at gmail dot com) -- Fixed bug #46109 (Memory leak when mysqli::init() is called multiple times). - (Andrey) -- Fixed bug #45997 (safe_mode bypass with exec/system/passthru (windows only)). - (Pierre) -- Fixed bug #45877 (Array key '2147483647' left as string). (Matt) -- Fixed bug #45822 (Near infinite-loops while parsing huge relative offsets). - (Derick, Mike Sullivan) -- Fixed bug #45799 (imagepng() crashes on empty image). - (Martin McNickle, Takeshi Abe) -- Fixed bug #45622 (isset($arrayObject->p) misbehaves with - ArrayObject::ARRAY_AS_PROPS set). (robin_fernandes at uk dot ibm dot com, Arnaud) -- Fixed bug #45614 (ArrayIterator::current(), ::key() can show 1st private prop - of wrapped object). (robin_fernandes at uk dot ibm dot com, Arnaud) -- Fixed bug #45540 (stream_context_create creates bad http request). (Arnaud) -- Fixed bug #45202 (zlib.output_compression can not be set with ini_set()). - (Jani) -- Fixed bug #45191 (error_log ignores date.timezone php.ini val when setting - logging timestamps). (Derick) -- Fixed bug #45092 (header HTTP context option not being used when compiled - using --with-curlwrappers). (Jani) -- Fixed bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime). - (Ilia, kawai at apache dot org) -- Fixed bug #44827 (define() is missing error checks for class constants). - (Ilia) -- Fixed bug #44214 (Crash using preg_replace_callback() and global variables). - (Nuno, Scott) -- Fixed bug #43073 (TrueType bounding box is wrong for angle<>0). - (Martin McNickle) -- Fixed bug #42663 (gzinflate() try to allocate all memory with truncated - data). (Arnaud) -- Fixed bug #42414 (some odbc_*() functions incompatible with Oracle ODBC - driver). (jhml at gmx dot net) -- Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped). - (Scott, Edward Z. Yang) -- Fixed bug #42143 (The constant NAN is reported as 0 on Windows) - (Kanwaljeet Singla, Venkat Raman Don) -- Fixed bug #38805 (PDO truncates text from SQL Server text data type field). - (Steph) - -26 Feb 2009, PHP 5.2.9 -- Changed __call() to be invoked on private/protected method access, similar to - properties and __get(). (Andrei) - -- Added optional sorting type flag parameter to array_unique(). Default is - SORT_REGULAR. (Andrei) - -- Fixed a crash on extract in zip when files or directories entry names contain - a relative path. (Pierre) -- Fixed error conditions handling in stream_filter_append(). (Arnaud) -- Fixed zip filename property read. (Pierre) -- Fixed explode() behavior with empty string to respect negative limit. (Shire) -- Fixed security issue in imagerotate(), background colour isn't validated - correctly with a non truecolour image. Reported by Hamid Ebadi, - APA Laboratory (Fixes CVE-2008-5498). (Scott) -- Fixed a segfault when malformed string is passed to json_decode(). (Scott) -- Fixed bug in xml_error_string() which resulted in messages being - off by one. (Scott) - -- Fixed bug #47422 (modulus operator returns incorrect results on 64 bit - linux). (Matt) -- Fixed bug #47399 (mb_check_encoding() returns true for some illegal SJIS - characters). (for-bugs at hnw dot jp, Moriyoshi) -- Fixed bug #47353 (crash when creating a lot of objects in object - destructor). (Tony) -- Fixed bug #47322 (sscanf %d doesn't work). (Felipe) -- Fixed bug #47282 (FILTER_VALIDATE_EMAIL is marking valid email addresses - as invalid). (Ilia) -- Fixed bug #47220 (segfault in dom_document_parser in recovery mode). (Rob) -- Fixed bug #47217 (content-type is not set properly for file uploads). (Ilia) -- Fixed bug #47174 (base64_decode() interprets pad char in mid string as - terminator). (Ilia) -- Fixed bug #47165 (Possible memory corruption when passing return value by - reference). (Dmitry) -- Fixed bug #47152 (gzseek/fseek using SEEK_END produces strange results). - (Felipe) -- Fixed bug #47131 (SOAP Extension ignores "user_agent" ini setting). (Ilia) -- Fixed bug #47109 (Memory leak on $a->{"a"."b"} when $a is not an object). - (Etienne, Dmitry) -- Fixed bug #47104 (Linking shared extensions fails with icc). (Jani) -- Fixed bug #47049 (SoapClient::__soapCall causes a segmentation fault). - (Dmitry) -- Fixed bug #47048 (Segfault with new pg_meta_data). (Felipe) -- Fixed bug #47042 (PHP cgi sapi is removing SCRIPT_FILENAME for non - apache). (Sriram Natarajan) -- Fixed bug #47037 (No error when using fopen with empty string). (Cristian - Rodriguez R., Felipe) -- Fixed bug #47035 (dns_get_record returns a garbage byte at the end of a - TXT record). (Felipe) -- Fixed bug #47027 (var_export doesn't show numeric indices on ArrayObject). - (Derick) -- Fixed bug #46985 (OVERWRITE and binary mode does not work, regression - introduced in 5.2.8). (Pierre) -- Fixed bug #46973 (IPv6 address filter rejects valid address). (Felipe) -- Fixed bug #46964 (Fixed pdo_mysql build with older version of MySQL). (Ilia) -- Fixed bug #46959 (Unable to disable PCRE). (Scott) -- Fixed bug #46918 (imap_rfc822_parse_adrlist host part not filled in - correctly). (Felipe) -- Fixed bug #46889 (Memory leak in strtotime()). (Derick) -- Fixed bug #46887 (Invalid calls to php_error_docref()). (oeriksson at - mandriva dot com, Ilia) -- Fixed bug #46873 (extract($foo) crashes if $foo['foo'] exists). (Arnaud) -- Fixed bug #46843 (CP936 euro symbol is not converted properly). (ty_c at - cybozuy dot co dot jp, Moriyoshi) -- Fixed bug #46798 (Crash in mssql extension when retrieving a NULL value - inside a binary or image column type). (Ilia) -- Fixed bug #46782 (fastcgi.c parse error). (Matt) -- Fixed bug #46760 (SoapClient doRequest fails when proxy is used). (Felipe) -- Fixed bug #46748 (Segfault when an SSL error has more than one error). - (Scott) -- Fixed bug #46739 (array returned by curl_getinfo should contain - content_type key). (Mikko) -- Fixed bug #46699 (xml_parse crash when parser is namespace aware). (Rob) -- Fixed bug #46419 (Elements of associative arrays with NULL value are - lost). (Dmitry) -- Fixed bug #46282 (Corrupt DBF When Using DATE). (arne at bukkie dot nl) -- Fixed bug #46026 (bz2.decompress/zlib.inflate filter tries to decompress - after end of stream). (Greg) -- Fixed bug #46005 (User not consistently logged under Apache2). (admorten - at umich dot edu, Stas) -- Fixed bug #45996 (libxml2 2.7 causes breakage with character data in - xml_parse()). (Rob) -- Fixed bug #45940 (MySQLI OO does not populate connect_error property on - failed connect). (Johannes) -- Fixed bug #45923 (mb_st[r]ripos() offset not handled correctly). (Moriyoshi) -- Fixed bug #45327 (memory leak if offsetGet throws exception). (Greg) -- Fixed bug #45239 (Encoding detector hangs with mbstring.strict_detection - enabled). (Moriyoshi) -- Fixed bug #45161 (Reusing a curl handle leaks memory). (Mark Karpeles, Jani) -- Fixed bug #44336 (Improve pcre UTF-8 string matching performance). (frode - at coretrek dot com, Nuno) -- Fixed bug #43841 (mb_strrpos() offset is byte count for negative values). - (Moriyoshi) -- Fixed bug #37209 (mssql_execute with non fatal errors). (Kalle) -- Fixed bug #35975 (Session cookie expires date format isn't the most - compatible. Now matches that of setcookie()). (Scott) - - -08 Dec 2008, PHP 5.2.8 -- Reverted bug fix #42718 that broke magic_quotes_gpc (Scott) - -04 Dec 2008, PHP 5.2.7 -- Upgraded PCRE to version 7.8 (Fixes CVE-2008-2371). (Ilia) -- Updated timezone database to version 2008.9. (Derick) -- Upgraded bundled libzip to 0.9.0. (Pierre) - -- Added logging option for error_log to send directly to SAPI. (Stas) -- Added PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION, - PHP_EXTRA_VERSION, PHP_VERSION_ID, PHP_ZTS and PHP_DEBUG constants. (Pierre) -- Added "PHP_INI_SCAN_DIR" environment variable which can be used to - either disable or change the compile time ini scan directory (FR #45114). - (Jani) - -- Fixed missing initialization of BG(page_uid) and BG(page_gid), - reported by Maksymilian Arciemowicz. (Stas) -- Fixed memory leak inside sqlite_create_aggregate(). (Felipe) -- Fixed memory leak inside PDO sqlite's sqliteCreateAggregate() method. - (Felipe) -- Fixed a crash inside gd with invalid fonts (Fixes CVE-2008-3658). (Pierre) -- Fixed a possible overflow inside memnstr (Fixes CVE-2008-3659). - (LaurentGaffie) -- Fixed incorrect php_value order for Apache configuration, reported by - Maksymilian Arciemowicz. (Stas) -- Fixed memory leak inside readline_callback_handler_remove() function. - (Felipe) -- Fixed sybase_fetch_*() to continue reading after CS_ROW_FAIL status (Timm) -- Fixed a bug inside dba_replace() that could cause file truncation - withinvalid keys. (Ilia) -- Fixed memory leak inside readline_callback_handler_install() function.(Ilia) -- Fixed memory leak inside readline_completion_function() function. (Felipe) -- Fixed stream_get_contents() when using $maxlength and socket is notclosed. - indeyets [at] php [dot] net on #46049. (Arnaud) -- Fixed stream_get_line() to behave as documented on non-blocking streams. - (Arnaud) -- Fixed endless loop in PDOStatement::debugDumpParams(). - (jonah.harris at gmail dot com) -- Fixed ability to use "internal" heaps in extensions. (Arnaud, Dmitry) -- Fixed weekdays adding/subtracting algorithm. (Derick) -- Fixed some ambiguities in the date parser. (Derick) -- Fixed a bug with the YYYY-MM format not resetting the day correctly. - (Derick) -- Fixed a bug in the DateTime->modify() methods, it would not use the advanced - relative time strings. (Derick) -- Fixed extraction of zip files or directories when the entry name is a - relative path. (Pierre) -- Fixed read or write errors for large zip archives. (Pierre) -- Fixed security issues detailed in CVE-2008-2665 and CVE-2008-2666. - (Christian Hoffmann) -- Fixed simplexml asXML() not to lose encoding when dumping entire - document to file. (Ilia) -- Fixed a crash inside PDO when trying instantiate PDORow manually. - (Felipe) -- Fixed build failure of ext/mysqli with libmysql 6.0 - missing - rplfunctions. (Andrey) -- Fixed a regression when using strip_tags() and < is within an - attribute.(Scott) -- Fixed a crash on invalid method in ReflectionParameter constructor. - (Christian Seiler) -- Reverted fix for bug #44197 due to behaviour change in minor version. - (Felipe) - -- Fixed bug #46732 (mktime.year description is wrong). (Derick) -- Fixed bug #46696 (cURL fails in upload files with specified content-type). - (Ilia) -- Fixed bug #46673 (stream_lock call with wrong parameter). (Arnaud) -- Fixed bug #46649 (Setting array element with that same array produces - inconsistent results). (Arnaud) -- Fixed bug #46626 (mb_convert_case does not handle apostrophe correctly). - (Ilia) -- Fixed bug #46543 (ibase_trans() memory leaks when using wrong parameters). - (Felipe) -- Fixed bug #46521 (Curl ZTS OpenSSL, error in config.m4 fragment). - (jd at cpanel dot net) -- Fixed bug #46496 (wddx_serialize treats input as ISO-8859-1). (Mark Karpeles) -- Fixed bug #46427 (SoapClient() stumbles over its "stream_context" parameter). - (Dmitry, Herman Radtke) -- Fixed bug #46426 (offset parameter of stream_get_contents() does not - workfor "0"). (Felipe) -- Fixed bug #46406 (Unregistering nodeclass throws E_FATAL). (Rob) -- Fixed bug #46389 (NetWare needs small patch for _timezone). - (patch by guenter@php.net) -- Fixed bug #46388 (stream_notification_callback inside of object destroys - object variables). (Felipe) -- Fixed bug #46381 (wrong $this passed to internal methods causes segfault). - (Tony) -- Fixed bug #46379 (Infinite loop when parsing '#' in one line file). (Arnaud) -- Fixed bug #46366 (bad cwd with / as pathinfo). (Dmitry) -- Fixed bug #46360 (TCP_NODELAY constant for socket_{get,set}_option). - (bugs at trick dot vanstaveren dot us) -- Fixed bug #46343 (IPv6 address filter accepts invalid address). (Ilia) -- Fixed bug #46335 (DOMText::splitText doesn't handle multibyte characters). - (Rob) -- Fixed bug #46323 (compilation of simplexml for NetWare breaks). - (Patch by guenter [at] php [dot] net) -- Fixed bug #46319 (PHP sets default Content-Type header for HTTP 304 - response code, in cgi sapi). (Ilia) -- Fixed bug #46313 (Magic quotes broke $_FILES). (Arnaud) -- Fixed bug #46308 (Invalid write when changing property from inside getter). - (Dmitry) -- Fixed bug #46292 (PDO::setFetchMode() shouldn't requires the 2nd arg when - using FETCH_CLASSTYPE). (Felipe) -- Fixed bug #46274, #46249 (pdo_pgsql always fill in NULL for empty BLOB and - segfaults when returned by SELECT). (Felipe) -- Fixed bug #46271 (local_cert option is not resolved to full path). (Ilia) -- Fixed bug #46247 (ibase_set_event_handler() is allowing to pass callback - without event). (Felipe) -- Fixed bug #46246 (difference between call_user_func(array($this, $method)) - and $this->$method()). (Dmitry) -- Fixed bug #46222 (ArrayObject EG(uninitialized_var_ptr) overwrite). - (Etienne) -- Fixed bug #46215 (json_encode mutates its parameter and has some - class-specific state). (Felipe) -- Fixed bug #46206 (pg_query_params/pg_execute convert passed values to - strings). (Ilia) -- Fixed bug #46191 (BC break: DOMDocument saveXML() doesn't accept null). - (Rob) -- Fixed bug #46164 (stream_filter_remove() closes the stream). (Arnaud) -- Fixed bug #46157 (PDOStatement::fetchObject prototype error). (Felipe) -- Fixed bug #46147 (after stream seek, appending stream filter reads - incorrect data). (Greg) -- Fixed bug #46139 (PDOStatement->setFetchMode() forgets FETCH_PROPS_LATE). - (chsc at peytz dot dk, Felipe) -- Fixed bug #46127 (php_openssl_tcp_sockop_accept forgets to set context - on accepted stream) (Mark Karpeles, Pierre) -- Fixed bug #46110 (XMLWriter - openmemory() and openuri() leak memory on - multiple calls). (Ilia) -- Fixed bug #46088 (RegexIterator::accept - segfault). (Felipe) -- Fixed bug #46082 (stream_set_blocking() can cause a crash in some - circumstances). (Felipe) -- Fixed bug #46064 (Exception when creating ReflectionProperty object - on dynamicly created property). (Felipe) -- Fixed bug #46059 (Compile failure under IRIX 6.5.30 building posix.c). - (Arnaud) -- Fixed bug #46053 (SplFileObject::seek - Endless loop). (Arnaud) -- Fixed bug #46051 (SplFileInfo::openFile - memory overlap). (Arnaud) -- Fixed bug #46047 (SimpleXML converts empty nodes into object with - nested array). (Rob) -- Fixed bug #46031 (Segfault in AppendIterator::next). (Arnaud) -- Fixed bug #46029 (Segfault in DOMText when using with Reflection). (Rob) -- Fixed bug #46026 (bzip2.decompress/zlib.inflate filter tries to decompress - after end of stream). (Keisial at gmail dot com, Greg) -- Fixed bug #46024 (stream_select() doesn't return the correct number). - (Arnaud) -- Fixed bug #46010 (warnings incorrectly generated for iv in ecb mode). - (Felipe) -- Fixed bug #46003 (isset on nonexisting node return unexpected results). (Rob) -- Fixed bug #45956 (parse_ini_file() does not return false with syntax errors - in parsed file). (Jani) -- Fixed bug #45901 (wddx_serialize_value crash with SimpleXMLElement object). - (Rob) -- Fixed bug #45862 (get_class_vars is inconsistent with 'protected' and - 'private' variables). (ilewis at uk dot ibm dot com, Felipe) -- Fixed bug #45860 (header() function fails to correctly replace all Status - lines). (Dmitry) -- Fixed bug #45805 (Crash on throwing exception from error handler). (Dmitry) -- Fixed bug #45765 (ReflectionObject with default parameters of self::xxx cause - an error). (Felipe) -- Fixed bug #45751 (Using auto_prepend_file crashes (out of scope stack address - use)). (basant dot kukreja at sun dot com) -- Fixed bug #45722 (mb_check_encoding() crashes). (Moriyoshi) -- Fixed bug #45705 (rfc822_parse_adrlist() modifies passed address parameter). - (Jani) -- Fixed bug #45691 (Some per-dir or runtime settings may leak into other - requests). (Moriyoshi) -- Fixed bug #45581 (htmlspecialchars() double encoding &#x hex items). (Arnaud) -- Fixed bug #45580 (levenshtein() crashes with invalid argument). (Ilia) -- Fixed bug #45575 (Segfault with invalid non-string as event handler callback). - (Christian Seiler) -- Fixed bug #45568 (ISAPI doesn't properly clear auth_digest in header). - (Patch by: navara at emclient dot com) -- Fixed bug #45556 (Return value from callback isn't freed). (Felipe) -- Fixed bug #45555 (Segfault with invalid non-string as - register_introspection_callback). (Christian Seiler) -- Fixed bug #45553 (Using XPath to return values for attributes with a - namespace does not work). (Rob) -- Fixed bug #45529 (new DateTimeZone() and date_create()->getTimezone() behave - different). (Derick) -- Fixed bug #45522 (FCGI_GET_VALUES request does not return supplied values). - (Arnaud) -- Fixed bug #45486 (mb_send_mail(); header 'Content-Type: text/plain; charset=' - parsing incorrect). (Felipe) -- Fixed bug #45485 (strip_tags and ). (Dmitry) -- Fixed bug #43668 (Added odbc.default_cursortype to control the ODBCcursor - model). (Patrick) -- Fixed bug #43666 (Fixed code to use ODBC 3.52 datatypes for 64bit - systems). (Patrick) -- Fixed bug #43540 (rfc1867 handler newlength problem). (Arnaud) -- Fixed bug #43452 (strings containing a weekday, or a number plus weekday - behaved incorrect of the current day-of-week was the same as the one in the - phrase). (Derick) -- Fixed bug #43353 (wrong detection of 'data' wrapper causes notice). - (gk at gknw dot de, Arnaud) -- Fixed bug #43053 (Regression: some numbers shown in scientific notation). - (int-e at gmx dot de) -- Fixed bug #43045 (SOAP encoding violation on "INF" for type double/float). - (Dmitry) -- Fixed bug #42862 (IMAP toolkit crash: rfc822.c legacy routine buffer - overflow). (Fixes CVE-2008-2829) (Dmitry) -- Fixed bug #42855 (dns_get_record() doesn't return all text from TXT record). - (a dot u dot savchuk at gmail dot com) -- Fixed bug #42737 (preg_split('//u') triggers a E_NOTICE with newlines). - (Nuno) -- Fixed bug #42718 (FILTER_UNSAFE_RAW not applied when configured as default - filter). (Arnaud) -- Fixed bug #42604 ("make test" fails with --with-config-file-scan-dir=path). - (Jani) -- Fixed bug #42473 (ob_start php://output and headers). (Arnaud) -- Fixed bug #42318 (problem with nm on AIX, not finding object files). - (Dmitry) -- Fixed bug #42294 (Unified solution for round() based on C99 round). (Ilia) -- Fixed bug #42078 (pg_meta_data mix tables metadata from different schemas). - (Felipe) -- Fixed bug #41348 (OCI8: allow compilation with Oracle 8.1). (Chris Jones) -- Fixed bug #41033 (enable signing with DSA keys. - (gordyf at google dot com, Pierre) -- Fixed bug #37100 (data is returned truncated with BINARY CURSOR). (Tony) -- Fixed bug #30312 (crash in sybase_unbuffered_query() function). (Timm) -- Fixed bug #24679 (pg_* functions doesn't work using schema). (Felipe) -- Fixed bug #14962 (PECL) (::extractTo 2nd argument is not really optional) - (Mark van Der Velden) -- Fixed bug #14032 (Mail() always returns false but mail is sent). (Mikko) - - -01 May 2008, PHP 5.2.6 -- Fixed two possible crashes inside posix extension (Tony) -- Fixed incorrect heredoc handling when label is used within the block. - (Matt) -- Fixed possible stack buffer overflow in FastCGI SAPI. (Andrei Nigmatulin) -- Fixed sending of uninitialized paddings which may contain some information. (Andrei Nigmatulin) -- Fixed a bug in formatting timestamps when DST is active in the default timezone (Derick) -- Properly address incomplete multibyte chars inside escapeshellcmd() (Ilia, Stefan Esser) -- Fix integer overflow in printf(). (Stas, Maksymilian Aciemowicz) -- Fixed security issue detailed in CVE-2008-0599. (Rasmus) -- Fixed potential memleak in stream filter parameter for zlib filter. (Greg) -- Added Reflection API metadata for the methods of the DOM classes. (Sebastian) -- Fixed weird behavior in CGI parameter parsing. (Dmitry, Hannes Magnusson) -- Fixed a safe_mode bypass in cURL identified by Maksymilian Arciemowicz. - (Ilia) -- Fixed a bug with PDO::FETCH_COLUMN|PDO::FETCH_GROUP mode when a column # by - which to group by data is specified. (Ilia) -- Fixed segfault in filter extension when using callbacks. (Arnar Mar Sig, - Felipe) -- Fixed faulty fix for bug #40189 (endless loop in zlib.inflate stream filter). (Greg) -- Upgraded PCRE to version 7.6 (Nuno) - -- Fixed bug #44742 (timezone_offset_get() causes segmentation faults). (Derick) -- Fixed bug #44720 (Prevent crash within session_register()). (Scott) -- Fixed bug #44703 (htmlspecialchars() does not detect bad character set argument). (Andy Wharmby) -- Fixed bug #44673 (With CGI argv/argc starts from arguments, not from script) (Dmitry) -- Fixed bug #44667 (proc_open() does not handle pipes with the mode 'wb' correctly). (Jani) -- Fixed bug #44663 (Crash in imap_mail_compose if "body" parameter invalid). (Ilia) -- Fixed bug #44650 (escaepshellscmd() does not check arg count). (Ilia) -- Fixed bug #44613 (Crash inside imap_headerinfo()). (Ilia, jmessa) -- Fixed bug #44603 (Order issues with Content-Type/Length headers on POST). (Ilia) -- Fixed bug #44594 (imap_open() does not validate # of retries parameter). (Ilia) -- Fixed bug #44591 (imagegif's filename parameter). (Felipe) -- Fixed bug #44557 (Crash in imap_setacl when supplied integer as username) (Thomas Jarosch) -- Fixed bug #44487 (call_user_method_array issues a warning when throwing an exception). (David Soria Parra) -- Fixed bug #44478 (Inconsistent behaviour when assigning new nodes). (Rob, Felipe) -- Fixed bug #44445 (email validator does not handle domains starting/ending with a -). (Ilia) -- Fixed bug #44440 (st_blocks undefined under BeOS). (Felipe) -- Fixed bug #44394 (Last two bytes missing from output). (Felipe) -- Fixed bug #44388 (Crash inside exif_read_data() on invalid images) (Ilia) -- Fixed bug #44373 (PDO_OCI extension compile failed). (Felipe) -- Fixed bug #44333 (SEGFAULT when using mysql_pconnect() with client_flags). (Felipe) -- Fixed bug #44306 (Better detection of MIPS processors on Windows). (Ilia) -- Fixed bug #44242 (metaphone('CMXFXM') crashes PHP). (Felipe) -- Fixed bug #44233 (MSG_PEEK undefined under BeOS R5). (jonathonfreeman at gmail dot com, Ilia) -- Fixed bug #44216 (strftime segfaults on large negative value). (Derick) -- Fixed bug #44209 (strtotime() doesn't support 64 bit timestamps on 64 bit platforms). (Derick) -- Fixed bug #44206 (OCI8 selecting ref cursors leads to ORA-1000 maximum open cursors reached). (Oracle Corp.) -- Fixed bug #44200 (A crash in PDO when no bound targets exists and yet bound parameters are present). (Ilia) -- Fixed bug #44197 (socket array keys lost on socket_select). (Felipe) -- Fixed bug #44191 (preg_grep messes up array index). (Felipe) -- Fixed bug #44189 (PDO setAttribute() does not properly validate values for native numeric options). (Ilia) -- Fixed bug #44184 (Double free of loop-variable on exception). (Dmitry) -- Fixed bug #44171 (Invalid FETCH_COLUMN index does not raise an error). (Ilia) -- Fixed bug #44166 (Parameter handling flaw in PDO::getAvailableDrivers()). (Ilia) -- Fixed bug #44159 (Crash: $pdo->setAttribute(PDO::STATEMENT_ATTR_CLASS, NULL)). (Felipe) -- Fixed bug #44152 (Possible crash with syslog logging on ZTS builds). (Ilia) -- Fixed bug #44141 (private parent constructor callable through static function). (Dmitry) -- Fixed bug #44113 (OCI8 new collection creation can fail with OCI-22303). (Oracle Corp.) -- Fixed bug #44069 (Huge memory usage with concatenation using . instead of .=). (Dmitry) -- Fixed bug #44046 (crash inside array_slice() function with an invalid by-ref offset). (Ilia) -- Fixed bug #44028 (crash inside stream_socket_enable_crypto() when enabling encryption without crypto type). (Ilia) -- Fixed bug #44018 (RecursiveDirectoryIterator options inconsistancy). (Marcus) -- Fixed bug #44008 (OCI8 incorrect usage of OCI-Lob->close crashes PHP). (Oracle Corp.) -- Fixed bug #43998 (Two error messages returned for incorrect encoding for mb_strto[upper|lower]). (Rui) -- Fixed bug #43994 (mb_ereg 'successfully' matching incorrect). (Rui) -- Fixed bug #43954 (Memory leak when sending the same HTTP status code multiple times). (Scott) -- Fixed bug #43927 (koi8r is missing from html_entity_decode()). (andy at demos dot su, Tony) -- Fixed bug #43912 (Interbase column names are truncated to 31 characters). (Ilia) -- Fixed bug #43875 (Two error messages returned for $new and $flag argument in mysql_connect()). (Hannes) -- Fixed bug #43863 (str_word_count() breaks on cyrillic "ya" in locale cp1251). (phprus at gmail dot com, Tony) -- Fixed bug #43841 (mb_strrpos offset is byte count for negative values). (Rui) -- Fixed bug #43840 (mb_strpos bounds check is byte count rather than a character count). (Rui) -- Fixed bug #43808 (date_create never fails (even when it should)). (Derick) -- Fixed bug #43793 (zlib filter is unable to auto-detect gzip/zlib file headers). (Greg) -- Fixed bug #43703 (Signature compatibility check broken). (Dmitry) -- Fixed bug #43677 (Inconsistent behaviour of include_path set with php_value). (manuel at mausz dot at) -- Fixed bug #43663 (Extending PDO class with a __call() function doesn't work). (David Soria Parra) -- Fixed bug #43647 (Make FindFile use PATH_SEPARATOR instead of ";"). (Ilia) -- Fixed bug #43635 (mysql extension ingores INI settings on NULL values passed to mysql_connect()). (Ilia) -- Fixed bug #43620 (Workaround for a bug inside libcurl 7.16.2 that can result in a crash). (Ilia) -- Fixed bug #43614 (incorrect processing of numerical string keys of array in arbitrary serialized data). (Dmitriy Buldakov, Felipe) -- Fixed bug #43606 (define missing depencies of the exif extension). (crrodriguez at suse dot de) -- Fixed bug #43589 (a possible infinite loop in bz2_filter.c). (Greg) -- Fixed bug #43580 (removed bogus declaration of a non-existent php_is_url() function). (Ilia) -- Fixed bug #43559 (array_merge_recursive() doesn't behave as expected with duplicate NULL values). (Felipe, Tony) -- Fixed bug #43533 (escapeshellarg('') returns null). (Ilia) -- Fixed bug #43527 (DateTime created from a timestamp reports environment timezone). (Derick) -- Fixed bug #43522 (stream_get_line() eats additional characters). (Felipe, Ilia, Tony) -- Fixed bug #43507 (SOAPFault HTTP Status 500 - would like to be able to set the HTTP Status). (Dmitry) -- Fixed bug #43505 (Assign by reference bug). (Dmitry) -- Fixed bug #43498 (file_exists() on a proftpd server got SIZE not allowed in ASCII mode). (Ilia, crrodriguez at suse dot de) -- Fixed bug #43497 (OCI8 XML/getClobVal aka temporary LOBs leak UGA memory). (Chris) -- Fixed bug #43495 (array_merge_recursive() crashes with recursive arrays). (Ilia) -- Fixed bug #43493 (pdo_pgsql does not send username on connect when password is not available). (Ilia) -- Fixed bug #43491 (Under certain conditions, file_exists() never returns). (Dmitry) -- Fixed bug #43483 (get_class_methods() does not list all visible methods). (Dmitry) -- Fixed bug #43482 (array_pad() does not warn on very small pad numbers). (Ilia) -- Fixed bug #43457 (Prepared statement with incorrect parms doesn't throw exception with pdo_pgsql driver). (Ilia) -- Fixed bug #43450 (Memory leak on some functions with implicit object __toString() call). (David C.) -- Fixed bug #43386 (array_globals not reset to 0 properly on init). (Ilia) -- Fixed bug #43377 (PHP crashes with invalid argument for DateTimeZone). (Ilia) -- Fixed bug #43373 (pcntl_fork() should not raise E_ERROR on error). (Ilia) -- Fixed bug #43364 (recursive xincludes don't remove internal xml nodes properly). (Rob, patch from ddb@bitxtender.de) -- Fixed bug #43301 (mb_ereg*_replace() crashes when replacement string is invalid PHP expression and 'e' option is used). (Jani) -- Fixed bug #43295 (crash because of uninitialized SG(sapi_headers).mimetype). (Dmitry) -- Fixed bug #43293 (Multiple segfaults in getopt()). (Hannes) -- Fixed bug #43279 (pg_send_query_params() converts all elements in 'params' to strings). (Ilia) -- Fixed bug #43276 (Incomplete fix for bug #42739, mkdir() under safe_mode). (Ilia) -- Fixed bug #43248 (backward compatibility break in realpath()). (Dmitry) -- Fixed bug #43221 (SimpleXML adding default namespace in addAttribute). (Rob) -- Fixed bug #43216 (stream_is_local() returns false on "file://"). (Dmitry) -- Fixed bug #43201 (Crash on using uninitialized vals and __get/__set). (Dmitry) -- Fixed bug #43182 (file_put_contents() LOCK_EX does not work properly on file truncation). (Ilia) -- Fixed bug #43175 (__destruct() throwing an exception with __call() causes segfault). (Dmitry) -- Fixed bug #43128 (Very long class name causes segfault). (Dmitry) -- Fixed bug #43105 (PHP seems to fail to close open files). (Hannes) -- Fixed bug #43092 (curl_copy_handle() crashes with > 32 chars long URL). (Jani) -- Fixed bug #43003 (Invalid timezone reported for DateTime objects constructed using a timestamp). (Derick) -- Fixed bug #42978 (mismatch between number of bound params and values causes a crash in pdo_pgsql). (Ilia) -- Fixed bug #42945 (preg_split() swallows part of the string). (Nuno) -- Fixed bug #42937 (__call() method not invoked when methods are called on parent from child class). (Dmitry) -- Fixed bug #42841 (REF CURSOR and oci_new_cursor() crash PHP). (Chris) -- Fixed bug #42838 (Wrong results in array_diff_uassoc) (Felipe) -- Fixed bug #42779 (Incorrect forcing from HTTP/1.0 request to HTTP/1.1 response). (Ilia) -- Fixed bug #42736 (xmlrpc_server_call_method() crashes). (Tony) -- Fixed bug #42692 (Procedure 'int1' not present with doc/lit SoapServer). (Dmitry) -- Fixed bug #42548 (mysqli PROCEDURE calls can't return result sets). (Hartmut) -- Fixed bug #42505 (new sendmail default breaks on Netware platform) (Guenter Knauf) -- Fixed bug #42369 (Implicit conversion to string leaks memory). (David C., Rob). -- Fixed bug #42272 (var_export() incorrectly escapes char(0)). (Derick) -- Fixed bug #42261 (Incorrect lengths for date and boolean data types). (Ilia) -- Fixed bug #42190 (Constructing DateTime with TimeZone Indicator invalidates DateTimeZone). (Derick) -- Fixed bug #42177 (Warning "array_merge_recursive(): recursion detected" comes again...). (Felipe) -- Fixed bug #41941 (oci8 extension not lib64 savvy). (Chris) -- Fixed bug #41828 (Failing to call RecursiveIteratorIterator::__construct() causes a sefault). (Etienne) -- Fixed bug #41599 (setTime() fails after modify() is used). (Derick) -- Fixed bug #41562 (SimpleXML memory issue). (Rob) -- Fixed bug #40013 (php_uname() does not return nodename on Netware (Guenter Knauf) -- Fixed bug #38468 (Unexpected creation of cycle). (Dmitry) -- Fixed bug #32979 (OpenSSL stream->fd casts broken in 64-bit build) (stotty at tvnet dot hu) - -08 Nov 2007, PHP 5.2.5 -- Upgraded PCRE to version 7.3 (Nuno) -- Added optional parameter $provide_object to debug_backtrace(). (Sebastian) -- Added alpha support for imagefilter() IMG_FILTER_COLORIZE. (Pierre) -- Added ability to control memory consumption between request using - ZEND_MM_COMPACT environment variable. (Dmitry) - -- Improved speed of array_intersect_key(), array_intersect_assoc(), - array_uintersect_assoc(), array_diff_key(), array_diff_assoc() and - array_udiff_assoc(). (Dmitry) - -- Fixed move_uploaded_file() to always set file permissions of resulting file - according to UMASK. (Andrew Sitnikov) -- Fixed possible crash in ext/soap because of uninitialized value. (Zdash Urf) -- Fixed regression in glob() when enforcing safe_mode/open_basedir checks on - paths containing '*'. (Ilia) -- Fixed "mail.force_extra_parameters" php.ini directive not to be modifiable - in .htaccess due to the security implications - reported by SecurityReason. - (Stas) -- Fixed PDO crash when driver returns empty LOB stream. (Stas) -- Fixed dl() to only accept filenames - reported by Laurent Gaffie. (Stas) -- Fixed dl() to limit argument size to MAXPATHLEN (CVE-2007-4887). - (Christian Hoffmann) -- Fixed iconv_*() functions to limit argument sizes as workaround to libc - bug (CVE-2007-4783, CVE-2007-4840 by Laurent Gaffie). - (Christian Hoffmann, Stas) -- Fixed missing brackets leading to build warning and error in the log. - Win32 code. (Andrey) -- Fixed leaks with multiple connects on one mysqli object. (Andrey) -- Fixed endianness detection on MacOS when building universal binary. - (Uwe Schindler, Christian Speich, Tony) -- Fixed possible triggering of buffer overflows inside glibc - implementations of the fnmatch(), setlocale() and glob() functions. - Reported by Laurent Gaffie. (Ilia) -- Fixed imagerectangle regression with 1x1 rectangle (libgd #106). (Pierre) -- Fixed htmlentities/htmlspecialchars not to accept partial multibyte - sequences. (Stas) - -- Fixed bug #43196 (array_intersect_assoc() crashes with non-array input). - (Jani) -- Fixed bug #43139 (PDO ignores ATTR_DEFAULT_FETCH_MODE in some cases with - fetchAll()). (Ilia) -- Fixed bug #43137 (rmdir() and rename() do not clear statcache). (Jani) -- Fixed bug #43130 (Bound parameters cannot have - in their name). (Ilia) -- Fixed bug #43099 (XMLWriter::endElement() does not check # of params). - (Ilia) -- Fixed bug #43020 (Warning message is missing with shuffle() and more - than one argument). (Scott) -- Fixed bug #42976 (Crash when constructor for newInstance() or - newInstanceArgs() fails) (Ilia) -- Fixed bug #42943 (ext/mssql: Move *timeout initialization from RINIT - to connect time). (Ilia) -- Fixed bug #42917 (PDO::FETCH_KEY_PAIR doesn't work with setFetchMode). - (Ilia) -- Fixed bug #42890 (Constant "LIST" defined by mysqlclient and c-client). - (Andrey) -- Fixed bug #42869 (automatic session id insertion adds sessions id to - non-local forms). (Ilia) -- Fixed bug #42818 ($foo = clone(array()); leaks memory). (Dmitry) -- Fixed bug #42817 (clone() on a non-object does not result in a fatal - error). (Ilia) -- Fixed bug #42785 (json_encode() formats doubles according to locale rather - then following standard syntax). (Ilia) -- Fixed bug #42783 (pg_insert() does not accept an empty list for - insertion). (Ilia) -- Fixed bug #42773 (WSDL error causes HTTP 500 Response). (Dmitry) -- Fixed bug #42772 (Storing $this in a static var fails while handling a cast - to string). (Dmitry) -- Fixed bug #42767 (highlight_string() truncates trailing comment). (Ilia) -- Fixed bug #42739 (mkdir() doesn't like a trailing slash when safe_mode is - enabled). (Ilia) -- Fixed bug #42703 (Exception raised in an iterator::current() causes segfault - in FilterIterator) (Marcus) -- Fixed bug #42699 (PHP_SELF duplicates path). (Dmitry) -- Fixed bug #42654 (RecursiveIteratorIterator modifies only part of leaves) - (Marcus) -- Fixed bug #42643 (CLI segfaults if using ATTR_PERSISTENT). (Ilia) -- Fixed bug #42637 (SoapFault : Only http and https are allowed). (Bill Moran) -- Fixed bug #42629 (Dynamically loaded PHP extensions need symbols exported - on MacOSX). (jdolecek at NetBSD dot org) -- Fixed bug #42627 (bz2 extension fails to build with -fno-common). - (dolecek at netbsd dot org) -- Fixed Bug #42596 (session.save_path MODE option does not work). (Ilia) -- Fixed bug #42590 (Make the engine recognize \v and \f escape sequences). - (Ilia) -- Fixed bug #42587 (behavior change regarding symlinked .php files). (Dmitry) -- Fixed bug #42579 (apache_reset_timeout() does not exist). (Jani) -- Fixed bug #42549 (ext/mysql failed to compile with libmysql 3.23). (Scott) -- Fixed bug #42523 (PHP_SELF duplicates path). (Dmitry) -- Fixed bug #42512 (ip2long('255.255.255.255') should return 4294967295 on - 64-bit PHP). (Derick) -- Fixed bug #42506 (php_pgsql_convert() timezone parse bug) (nonunnet at - gmail dot com, Ilia) -- Fixed bug #42496 (OCI8 cursor is not closed when using 2 clobs in a select - query). (Oracle Corp.) -- Fixed bug #42462 (Segmentation when trying to set an attribute in a - DOMElement). (Rob) -- Fixed bug #42453 (CGI SAPI does not shut down cleanly with -i/-m/-v cmdline - options). (Dmitry) -- Fixed bug #42452 (PDO classes do not expose Reflection API information). - (Hannes) -- Fixed bug #42468 (Write lock on file_get_contents fails when using a - compression stream). (Ilia) -- Fixed bug #42488 (SoapServer reports an encoding error and the error itself - breaks). (Dmitry) -- Fixed bug #42378 (mysqli_stmt_bind_result memory exhaustion). (Andrey) -- Fixed bug #42359 (xsd:list type not parsed). (Dmitry) -- Fixed bug #42326 (SoapServer crash). (Dmitry) -- Fixed bug #42214 (SoapServer sends clients internal PHP errors). (Dmitry) -- Fixed bug #42189 (xmlrpc_set_type() crashes php on invalid datetime - values). (Ilia) -- Fixed bug #42139 (XMLReader option constants are broken using XML()). (Rob) -- Fixed bug #42086 (SoapServer return Procedure '' not present for WSIBasic - compliant wsdl). (Dmitry) -- Fixed bug #41822 (Relative includes broken when getcwd() fails). (Ab5602, - Jani) -- Fixed bug #41561 (Values set with php_admin_* in httpd.conf can be overwritten - with ini_set()). (Stas, Jani) -- Fixed bug #39651 (proc_open() append mode doesn't work on windows). (Nuno) - -30 Aug 2007, PHP 5.2.4 -- Removed --enable-versioning configure option. (Jani) - -- Upgraded PCRE to version 7.2 (Nuno) -- Updated timezone database to version 2007.6. (Derick) - -- Improved openssl_x509_parse() to return extensions in readable form. (Dmitry) - -- Enabled changing the size of statement cache for non-persistent OCI8 - connections. (Chris Jones, Tony) - -- Changed "display_errors" php.ini option to accept "stderr" as value which - makes the error messages to be outputted to STDERR instead of STDOUT with - CGI and CLI SAPIs (FR #22839). (Jani) -- Changed error handler to send HTTP 500 instead of blank page on PHP errors. - (Dmitry, Andrei Nigmatulin) -- Changed mail() function to be always available. (Johannes) - -- Added check for unknown options passed to configure. (Jani) -- Added persistent connection status checker to pdo_pgsql. - (Elvis Pranskevichus, Ilia) -- Added support for ATTR_TIMEOUT inside pdo_pgsql driver. (Ilia) -- Added php_ini_loaded_file() function which returns the path to the actual - php.ini in use. (Jani) -- Added GD version constants GD_MAJOR_VERSION, GD_MINOR_VERSION, - GD_RELEASE_VERSION, GD_EXTRA_VERSION and GD_VERSION_STRING. (Pierre) -- Added missing open_basedir checks to CGI. - (anight at eyelinkmedia dot com, Tony) -- Added missing format validator to unpack() function. (Ilia) -- Added missing error check inside bcpowmod(). (Ilia) -- Added CURLOPT_PRIVATE & CURLINFO_PRIVATE constants. - (Andrey A. Belashkov, Tony) -- Added missing MSG_EOR and MSG_EOF constants to sockets extension. (Jani) -- Added PCRE_VERSION constant. (Tony) -- Added ReflectionExtension::info() function to print the phpinfo() - block for an extension. (Johannes) - -- Implemented FR #41884 (ReflectionClass::getDefaultProperties() does not - handle static attributes). (Tony) - -- Fixed "Floating point exception" inside wordwrap(). - (Mattias Bengtsson, Ilia) -- Fixed several integer overflows in ImageCreate(), ImageCreateTrueColor(), - ImageCopyResampled() and ImageFilledPolygon() reported by Mattias Bengtsson. - (Tony) -- Fixed size calculation in chunk_split(). (Stas) -- Fixed integer overflow in str[c]spn(). (Stas) -- Fixed money_format() not to accept multiple %i or %n tokens. - (Stas, Ilia) -- Fixed zend_alter_ini_entry() memory_limit interruption - vulnerability. (Ilia) -- Fixed INFILE LOCAL option handling with MySQL extensions not to be - allowed when open_basedir or safe_mode is active. (Stas) -- Fixed session.save_path and error_log values to be checked against - open_basedir and safe_mode (CVE-2007-3378) (Stas, Maksymilian Arciemowicz) -- Fixed possible invalid read in glob() win32 implementation (CVE-2007-3806). - (Tony) -- Improved fix for MOPB-03-2007. (Ilia) -- Corrected fix for CVE-2007-2872. (Ilia) - -- Fixed possible crash in imagepsloadfont(), work around a bug in the pslib on - Windows. (Pierre) -- Fixed oci8 and PDO_OCI extensions to allow configuring with Oracle 11g - client libraries. (Chris Jones) -- Fixed EOF handling in case of reading from file opened in write only mode. - (Dmitry) -- Fixed var_export() to use the new H modifier so that it can generate - parseable PHP code for floats, independent of the locale. (Derick) -- Fixed regression introduced by the fix for the libgd bug #74. (Pierre) -- Fixed SimpleXML's behavior when used with empty(). (Sara) -- Fixed crash in OpenSSL extension because of non-string passphrase. (Dmitry) - -- Fixed PECL Bug #11345 (PDO_OCI crash after National language Support "NLS" - environment initialization error). (Chris Jones) -- Fixed PECL bug #11216 (crash in ZipArchive::addEmptyDir when a directory - already exists). (Pierre) - -- Fixed bug #43926 (isInstance() isn't equivalent to instanceof operator). (Marcus) -- Fixed bug #42368 (Incorrect error message displayed by pg_escape_string). - (Ilia) -- Fixed bug #42365 (glob() crashes and/or accepts way too many flags). - (Jani) -- Fixed Bug #42364 (Crash when using getRealPath with DirectoryIterator). - (Johannes) -- Fixed bug #42292 ($PHP_CONFIG not set for phpized builds). (Jani) -- Fixed bug #42261 (header wrong for date field). - (roberto at spadim dot com dot br, Ilia) -- Fixed bug #42259 (SimpleXMLIterator loses ancestry). (Rob) -- Fixed bug #42247 (ldap_parse_result() not defined under win32). (Jani) -- Fixed bug #42243 (copy() does not output an error when the first arg is a - dir). (Ilia) -- Fixed bug #42242 (sybase_connect() crashes). (Ilia) -- Fixed bug #42237 (stream_copy_to_stream returns invalid values for mmaped - streams). (andrew dot minerd at sellingsource dot com, Ilia) -- Fixed bug #42233 (Problems with æøå in extract()). (Jani) -- Fixed bug #42222 (possible buffer overflow in php_openssl_make_REQ). (Pierre) -- Fixed bug #42211 (property_exists() fails to find protected properties - from a parent class). (Dmitry) -- Fixed bug #42208 (substr_replace() crashes when the same array is passed - more than once). (crrodriguez at suse dot de, Ilia) -- Fixed bug #42198 (SCRIPT_NAME and PHP_SELF truncated when inside a userdir - and using PATH_INFO). (Dmitry) -- Fixed bug #42195 (C++ compiler required always). (Jani) -- Fixed bug #42183 (classmap causes crash in non-wsdl mode). (Dmitry) -- Fixed bug #42173 (oci8 INTERVAL and TIMESTAMP type fixes). (Chris) -- Fixed bug #42151 (__destruct functions not called after catching a SoapFault - exception). (Dmitry) -- Fixed bug #42142 (substr_replace() returns FALSE when length > string length). - (Ilia) -- Fixed bug #42135 (Second call of session_start() causes creation of SID). - (Ilia) -- Fixed bug #42134 (oci_error() returns false after oci_new_collection() fails). - (Tony) -- Fixed bug #42119 (array_push($arr,&$obj) doesn't work with - zend.ze1_compatibility_mode On). (Dmitry) -- Fixed bug #42117 (bzip2.compress loses data in internal buffer). - (Philip, Ilia) -- Fixed bug #42112 (deleting a node produces memory corruption). (Rob) -- Fixed bug #42107 (sscanf broken when using %2$s format parameters). (Jani) -- Fixed bug #42090 (json_decode causes segmentation fault). (Hannes) -- Fixed bug #42082 (NodeList length zero should be empty). (Hannes) -- Fixed bug #42072 (No warning message for clearstatcache() with arguments). - (Ilia) -- Fixed bug #42071 (ini scanner allows using NULL as option name). (Jani) -- Fixed bug #42027 (is_file() / is_dir() matches file/dirnames with wildcard char - or trailing slash in Windows). (Dmitry) -- Fixed bug #42019 (configure option --with-adabas=DIR does not work). (Jani) -- Fixed bug #42015 (ldap_rename(): server error "DSA is unwilling to perform"). - (bob at mroczka dot com, Jani) -- Fixed bug #42009 (is_a() and is_subclass_of() should NOT call autoload, in the - same way as "instanceof" operator). (Dmitry) -- Fixed bug #41989 (move_uploaded_file() & relative path in ZTS mode). (Tony) -- Fixed bug #41984 (Hangs on large SoapClient requests). (Dmitry) -- Fixed bug #41983 (Error Fetching http headers terminated by '\n'). (Dmitry) -- Fixed bug #41973 (--with-ldap=shared fails with LDFLAGS="-Wl,--as-needed"). (Nuno) -- Fixed bug #41971 (PDOStatement::fetch and PDOStatement::setFetchMode causes - unexpected behavior). (Ilia) -- Fixed bug #41964 (strtotime returns a timestamp for non-time string of - pattern '(A|a) .+'). (Derick) -- Fixed bug #41961 (Ensure search for hidden private methods does not stray from - class hierarchy). (robin_fernandes at uk dot ibm dot com) -- Fixed bug #41947 (SimpleXML incorrectly registers empty strings asnamespaces). - (Rob) -- Fixed bug #41929 (Foreach on object does not iterate over all visible properties). - (Dmitry) -- Fixed bug #41919 (crash in string to array conversion). - (judas dot iscariote at gmail dot com, Ilia) -- Fixed bug #41909 (var_export() is locale sensitive when exporting float - values). (Derick) -- Fixed bug #41908 (CFLAGS="-Os" ./configure --enable-debug fails). - (christian at hoffie dot info, Tony) -- Fixed bug #41904 (proc_open(): empty env array should cause empty environment - to be passed to process). (Jani) -- Fixed bug #41867 (SimpleXML: getName is broken). (Rob) -- Fixed bug #41865 (fputcsv(): 2nd parameter is not optional). (Jani) -- Fixed bug #41861 (SimpleXML: getNamespaces() returns the namespaces of a node's - siblings). (Rob) -- Fixed bug #41845 (pgsql extension does not compile with PostgreSQL <7.4). (Ilia) -- Fixed bug #41844 (Format returns incorrect number of digits for negative years - -0001 to -0999). (Derick) -- Fixed bug #41842 (Cannot create years < 0100 & negative years with date_create - or new DateTime). (Derick) -- Fixed bug #41833 (addChild() on a non-existent node, no node created, - getName() segfaults). (Rob) -- Fixed bug #41831 (pdo_sqlite prepared statements convert resources to - strings). (Ilia) -- Fixed bug #41815 (Concurrent read/write fails when EOF is reached). (Sascha) -- Fixed bug #41813 (segmentation fault when using string offset as an object). - (judas dot iscariote at gmail dot com, Tony) -- Fixed bug #41795 (checkdnsrr does not support DNS_TXT type). - (lucas at facebook dot com, Tony) -- Fixed bug #41773 (php_strip_whitespace() sends headers with errors - suppressed). (Tony) -- Fixed bug #41770 (SSL: fatal protocol error due to buffer issues). (Ilia) -- Fixed bug #41765 (Recode crashes/does not work on amd64). - (nexus at smoula dot net, Stas) -- Fixed bug #41724 (libxml_get_last_error() - errors service request scope). - (thekid at php dot net, Ilia) -- Fixed bug #41717 (imagepolygon does not respect thickness). (Pierre) -- Fixed bug #41713 (Persistent memory consumption on win32 since 5.2). (Dmitry) -- Fixed bug #41711 (NULL temporary lobs not supported in OCI8). - (Chris Jones, Tony) -- Fixed bug #41709 (strtotime() does not handle 00.00.0000). (Derick) -- Fixed bug #41698 (float parameters truncated to integer in prepared - statements). (Ilia) -- Fixed bug #41692 (ArrayObject shows weird behavior in respect to - inheritance). (Tony) -- Fixed bug #41691 (ArrayObject::exchangeArray hangs Apache). (Tony) -- Fixed bug #41686 (Omitting length param in array_slice not possible). (Ilia) -- Fixed bug #41685 (array_push() fails to warn when next index is - already occupied). (Ilia) -- Fixed bug #41655 (open_basedir bypass via glob()). (Ilia) -- Fixed bug #41640 (get_class_vars produces error on class constants). - (Johannes) -- Fixed bug #41635 (SoapServer and zlib.output_compression with FastCGI - result in major slowdown). (Dmitry) -- Fixed bug #41633 (Crash instantiating classes with self-referencing - constants). (Dmitry) -- Fixed bug #41630 (segfault when an invalid color index is present in the - image data). (Reported by Elliot ) (Pierre) -- Fixed bug #41628 (PHP settings leak between Virtual Hosts in Apache 1.3). - (Scott, manuel at mausz dot at) -- Fixed bug #41608 (segfault on a weird code with objects and switch()). - (Tony) -- Fixed bug #41600 (url rewriter tags doesn't work with namespaced tags). - (Ilia) -- Fixed bug #41596 (Fixed a crash inside pdo_pgsql on some non-well-formed - SQL queries). (Ilia) -- Fixed bug #41594 (OCI8 statement cache is flushed too frequently). (Tony) -- Fixed bug #41582 (SimpleXML crashes when accessing newly created element). - (Tony) -- Fixed bug #41576 (configure failure when using --without-apxs or some other - SAPIs disabling options). (Jani) -- Fixed bug #41567 (json_encode() double conversion is inconsistent with PHP). - (Lucas, Ilia) -- Fixed bug #41566 (SOAP Server not properly generating href attributes). - (Dmitry) -- Fixed bug #41555 (configure failure: regression caused by fix for #41265). - (Jani) -- Fixed bug #41527 (WDDX deserialize numeric string array key). - (Matt, Ilia) -- Fixed bug #41523 (strtotime('0000-00-00 00:00:00') is parsed as 1999-11-30). - (Derick) -- Fixed bug #41518 (file_exists() warns of open_basedir restriction on - non-existent file). (Tony) -- Fixed bug #41445 (parse_ini_file() has a problem with certain types of - integer as sections). (Tony) -- Fixed bug #41433 (DBA: configure fails to include correct db.h for db4). - (Jani) -- Fixed bug #41372 (Internal pointer of source array resets during array - copying). (Dmitry) -- Fixed bug #41350 (my_thread_global_end() error during request shutdown on - Windows). (Scott, Andrey) -- Fixed bug #41278 (get_loaded_extensions() should list Zend extensions). - (Johannes) -- Fixed bug #41127 (Memory leak in ldap_{first|next}_attribute functions). - (Jani) -- Fixed bug #40757 (get_object_vars get nothing in child class). (Dmitry) -- Fixed bug #40705 (Iterating within function moves original array pointer). - (Dmitry) -- Fixed bug #40509 (key() function changed behaviour if global array is used - within function). (Dmitry) -- Fixed bug #40419 (Trailing slash in CGI request does not work). (Dmitry) -- Fixed bug #39330 (apache2handler does not call shutdown actions before - apache child die). (isk at ecommerce dot com, Gopal, Tony) -- Fixed bug #39291 (ldap_sasl_bind() misses the sasl_authc_id parameter). - (diafour at gmail dot com, Jani) -- Fixed bug #37715 (array pointers resetting on copy). (Dmitry) -- Fixed bug #37273 (Symlinks and mod_files session handler allow open_basedir - bypass). (Ilia) -- Fixed bug #36492 (Userfilters can leak buckets). (Sara) -- Fixed bugs #36796, #36918, #41371 (stream_set_blocking() does not work). - (Jani) -- Fixed bug #35981 (pdo-pgsql should not use pkg-config when not present). - (Jani) -- Fixed bug #31892 (PHP_SELF incorrect without cgi.fix_pathinfo, but turning on - screws up PATH_INFO). (Dmitry) -- Fixed bug #21197 (socket_read() outputs error with PHP_NORMAL_READ). - (Nuno, Jani) - -31 May 2007, PHP 5.2.3 -- Changed CGI install target to php-cgi and 'make install' to install CLI - when CGI is selected. (Jani) -- Changed JSON maximum nesting depth from 20 to 128. (Rasmus) - -- Improved compilation of heredocs and interpolated strings. (Matt, Dmitry) -- Optimized out a couple of per-request syscalls. (Rasmus) -- Optimized digest generation in md5() and sha1() functions. (Ilia) -- Upgraded bundled SQLite 3 to version 3.3.17. (Ilia) - -- Added "max_input_nesting_level" php.ini option to limit nesting level of - input variables. Fix for MOPB-03-2007. (Stas) -- Added a 4th parameter flag to htmlspecialchars() and htmlentities() that - makes the function not encode existing html entities. (Ilia) -- Added PDO::FETCH_KEY_PAIR mode that will fetch a 2 column result set into - an associated array. (Ilia) -- Added CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_MS cURL constants. (Sara) -- Added --ini switch to CLI that prints out configuration file names. (Marcus) -- Added mysql_set_charset() to allow runtime altering of connection encoding. - (Scott) - -- Implemented FR #41416 (getColumnMeta() should also return table name). (Tony) - -- Fixed an integer overflow inside chunk_split(). Identified by Gerhard Wagner. - (Ilia) -- Fixed SOAP extension's handler() to work even when - "always_populate_raw_post_data" is off. (Ilia) -- Fixed possible infinite loop in imagecreatefrompng. (libgd #86) - (by Xavier Roche, CVE-2007-2756). (Pierre) -- Fixed ext/filter Email Validation Vulnerability (MOPB-45 by Stefan Esser). - (Ilia) -- Fixed altering $this via argument named "this". (Dmitry) -- Fixed PHP CLI usage of php.ini from the binary location. (Hannes) -- Fixed segfault in strripos(). (Tony, Joxean Koret) -- Fixed bug #41693 (scandir() allows empty directory names). (Ilia) -- Fixed bug #41673 (json_encode breaks large numbers in arrays). (Ilia) -- Fixed bug #41525 (ReflectionParameter::getPosition() not available). (Marcus) -- Fixed bug #41511 (Compile failure under IRIX 6.5.30 building md5.c). (Jani) -- Fixed bug #41504 (json_decode() incorrectly decodes JSON arrays with empty - string keys). (Ilia) -- Fixed bug #41492 (open_basedir/safe_mode bypass inside realpath()). (Ilia) -- Fixed bug #41477 (no arginfo about SoapClient::__soapCall()). (Ilia) -- Fixed bug #41455 (ext/dba/config.m4 pollutes global $LIBS and $LDFLAGS). - (mmarek at suse dot cz, Tony) -- Fixed bug #41442 (imagegd2() under output control). (Tony) -- Fixed bug #41430 (Fatal error with negative values of maxlen parameter of - file_get_contents()). (Tony) -- Fixed bug #41423 (PHP assumes wrongly that certain ciphers are enabled in - OpenSSL). (Pierre) -- Fixed bug #41421 (Uncaught exception from a stream wrapper segfaults). - (Tony, Dmitry) -- Fixed bug #41403 (json_decode cannot decode floats if localeconv - decimal_point is not '.'). (Tony) -- Fixed bug #41401 (wrong unary operator precedence). (Stas) -- Fixed bug #41394 (dbase_create creates file with corrupted header). (Tony) -- Fixed bug #41390 (Clarify error message with invalid protocol scheme). - (Scott) -- Fixed bug #41378 (fastcgi protocol lacks support for Reason-Phrase in - "Status:" header). (anight at eyelinkmedia dot com, Dmitry) -- Fixed bug #41374 (whole text concats values of wrong nodes). (Rob) -- Fixed bug #41358 (configure cannot determine SSL lib with libcurl >= 7.16.2). - (Mike) -- Fixed bug #41353 (crash in openssl_pkcs12_read() on invalid input). (Ilia) -- Fixed bug #41351 (Invalid opcode with foreach ($a[] as $b)). (Dmitry, Tony) -- Fixed bug #41347 (checkdnsrr() segfaults on empty hostname). (Scott) -- Fixed bug #41337 (WSDL parsing doesn't ignore non soap bindings). (Dmitry) -- Fixed bug #41326 (Writing empty tags with Xmlwriter::WriteElement[ns]) - (Pierre) -- Fixed bug #41321 (downgrade read errors in getimagesize() to E_NOTICE). - (Ilia) -- Fixed bug #41304 (compress.zlib temp files left). (Dmitry) -- Fixed bug #41293 (Fixed creation of HTTP_RAW_POST_DATA when there is no - default post handler). (Ilia) -- Fixed bug #41291 (FastCGI does not set SO_REUSEADDR). - (fmajid at kefta dot com, Dmitry) -- Fixed gd build when used with freetype 1.x (Pierre, Tony) -- Fixed bug #41287 (Namespace functions don't allow xmlns definition to be - optional). (Rob) -- Fixed bug #41285 (Improved fix for CVE-2007-1887 to work with non-bundled - sqlite2 lib). (Ilia) -- Fixed bug #41283 (Bug with deserializing array key that are doubles or - floats in wddx). (Ilia) -- Fixed bug #41257 (lookupNamespaceURI does not work as expected). (Rob) -- Fixed bug #41236 (Regression in timeout handling of non-blocking SSL - connections during reads and writes). (Ilia) -- Fixed bug #41134 (zend_ts_hash_clean not thread-safe). - (marco dot cova at gmail dot com, Tony) -- Fixed bug #41097 (ext/soap returning associative array as indexed without - using WSDL). (Dmitry) -- Fixed bug #41004 (minOccurs="0" and null class member variable). (Dmitry) -- Fixed bug #39542 (Behavior of require/include different to < 5.2.0). - (Dmitry) - -03 May 2007, PHP 5.2.2 -- Improved bundled GD - . Sync to 2.0.35 - . Added imagegrabwindow and imagegrabscreen, capture a screen or a - window using its handle (Pierre) - . colors allocated henceforth from the resulting image overwrite the palette - colors (Rob Leslie) - . Improved thread safety of the gif support (Roman Nemecek, Nuno, Pierre) - . Use the dimension of the GIF frame to create the destination image (Pierre) - . Load only once the local color map from a GIF data (Pierre) - . Improved thread safety of the freetype cache (Scott MacVicar, Nuno, Pierre) - . imagearc huge CPU usage with large angles, libgd bug #74 (Pierre) -- Improved FastCGI SAPI to support external pipe and socket servers on win32. - (Dmitry) -- Improved Zend Memory Manager - . guarantee of reasonable time for worst cases of best-fit free block - searching algorithm. (Dmitry) - . better cache usage and less fragmentation on erealloc() (Tony, Dmitry) -- Improved SPL (Marcus) - . Added SplFileInfo::getBasename(), DirectoryIterator::getBasename(). - . Added SplFileInfo::getLinkTarget(), SplFileInfo::getRealPath(). - . Made RecursiveFilterIterator::accept() abstract as stated in documentation. -- Improved SOAP - . Added ability to encode arrays with "SOAP-ENC:Array" type instead of WSDL - type. To activate the ability use "feature"=>SOAP_USE_XSI_ARRAY_TYPE - option in SoapClient/SoapServer constructors. (Rob, Dmitry) - -- Added GMP_VERSION constant. (Tony) -- Added --ri switch to CLI which allows to check extension information. (Marcus) -- Added tidyNode::getParent() method (John, Nuno) -- Added openbasedir and safemode checks in zip:// stream wrapper and - ZipArchive::open (Pierre) -- Added php_pdo_sqlite_external.dll, a version of the PDO SQLite driver that - links against an external sqlite3.dll. This provides Windows users to upgrade - their sqlite3 version outside of the PHP release cycle. (Wez, Edin) -- Added linenumbers to array returned by token_get_all(). (Johannes) - -- Upgraded SQLite 3 to version 3.3.16 (Ilia) -- Upgraded libraries bundled in the Windows distribution. (Edin) - . c-client (imap) to version 2006e - . libpq (PostgreSQL) to version 8.2.3 - . libmysql (MySQL) to version 5.0.37 - . openssl to version 0.9.8e -- Upgraded PCRE to version 7.0 (Nuno) - -- Updated timezone database to version 2007.5. (Derick) - -- Fixed commandline handling for CLI and CGI. (Marcus, Johannes) -- Fixed iterator_apply() with a callback using __call(). (Johannes) -- Fixed possible multi bytes issues in openssl csr parser (Pierre) -- Fixed shmop_open() with IPC_CREAT|IPC_EXCL flags on Windows. - (Vladimir Kamaev, Tony). -- Fixed possible leak in ZipArchive::extractTo when safemode checks fails (Ilia) -- Fixed possible relative path issues in zip_open and TS mode (old API) (Pierre) -- Fixed zend_llist_remove_tail (Michael Wallner, Dmitry) -- Fixed a thread safety issue in gd gif read code (Nuno, Roman Nemecek) -- Fixed CVE-2007-1001, GD wbmp used with invalid image size (Pierre) -- Fixed unallocated memory access/double free in in array_user_key_compare() - (MOPB-24 by Stefan Esser) (Stas) -- Fixed wrong length calculation in unserialize S type - (MOPB-29 by Stefan Esser) (Stas) - -- Fixed bug #41215 (setAttribute return code reversed). (Ilia) -- Fixed bug #41192 (Per Directory Values only work for one key). (Dmitry) -- Fixed bug #41175 (addAttribute() fails to add an attribute with an empty - value). (Ilia) -- Fixed bug #41159 (mysql_pconnect() hash does not account for connect - flags). (Ilia) -- Fixed bug #41121 (range() overflow handling for large numbers on 32bit - machines). (Ilia) -- Fixed bug #41118 (PHP does not handle overflow of octal integers). (Tony) -- Fixed bug #41109 (recursiveiterator.inc says "implements" Iterator instead of - "extends"). (Marcus) -- Fixed bug #40130 (TTF usage doesn't work properly under Netware). (Scott, - gk at gknw dot de) -- Fixed bug #41093 (magic_quotes_gpc ignores first arrays keys). (Arpad, Ilia) -- Fixed bug #41075 (memleak when creating default object caused exception). - (Dmitry) -- Fixed bug #41067 (json_encode() problem with UTF-16 input). (jp at df5ea - dot net. Ilia) -- Fixed bug #41063 (chdir doesn't like root paths). (Dmitry) -- Fixed bug #41061 ("visibility error" in ReflectionFunction::export()). - (Johannes) -- Fixed bug #41043 (pdo_oci crash when freeing error text with persistent - connection). (Tony) -- Fixed bug #41037 (unregister_tick_function() inside the tick function crash PHP). - (Tony) -- Fixed bug #41034 (json_encode() ignores null byte started keys in arrays). - (Ilia) -- Fixed bug #41026 (segfault when calling "self::method()" in shutdown functions). - (Tony) -- Fixed bug #40999 (mcrypt_create_iv() not using random seed). (Ilia) -- Fixed bug #40998 (long session array keys are truncated). (Tony) -- Implement feature request #40947, allow a single filter as argument - for filter_var_array (Pierre) -- Fixed bug #40935 (pdo_mysql does not raise an exception on empty - fetchAll()). (Ilia) -- Fixed bug #40931 (open_basedir bypass via symlink and move_uploaded_file()). - (Tony) -- Fixed bug #40921 (php_default_post_reader crashes when post_max_size is - exceeded). (trickie at gmail dot com, Ilia) -- Fixed bug #40915 (addcslashes unexpected behavior with binary input). (Tony) -- Fixed bug #40899 (memory leak when nesting list()). (Dmitry) -- Fixed bug #40897 (error_log file not locked). (Ilia) -- Fixed bug #40883 (mysql_query() is allocating memory incorrectly). (Tony) -- Fixed bug #40872 (inconsistency in offsetSet, offsetExists treatment of - string enclosed integers). (Marcus) -- Fixed bug #40861 (strtotime() doesn't handle double negative relative time - units correctly). (Derick, Ilia) -- Fixed bug #40854 (imap_mail_compose() creates an invalid terminator for - multipart e-mails). (Ilia) -- Fixed bug #40848 (sorting issue on 64-bit Solaris). (Wez) -- Fixed bug #40836 (Segfault in ext/dom). (Rob) -- Fixed bug #40833 (Crash when using unset() on an ArrayAccess object retrieved - via __get()). (Dmitry) -- Fixed bug #40822 (pdo_mysql does not return rowCount() on select). (Ilia) -- Fixed bug #40815 (using strings like "class::func" and static methods in - set_exception_handler() might result in crash). (Tony) -- Fixed bug #40809 (Poor performance of ".="). (Dmitry) -- Fixed bug #40805 (Failure executing function ibase_execute()). (Tony) -- Fixed bug #40800 (cannot disable memory_limit with -1). (Dmitry, Tony) -- Fixed bug #40794 (ReflectionObject::getValues() may crash when used with - dynamic properties). (Tony) -- Fixed bug #40784 (Case sensitivity in constructor's fallback). (Tony) -- Fixed bug #40770 (Apache child exits when PHP memory limit reached). (Dmitry) -- Fixed bug #40764 (line thickness not respected for horizontal and vertical - lines). (Pierre) -- Fixed bug #40758 (Test fcgi_is_fastcgi() is wrong on windows). (Dmitry) -- Fixed bug #40754 (added substr() & substr_replace() overflow checks). (Ilia) -- Fixed bug #40752 (parse_ini_file() segfaults when a scalar setting is - redeclared as an array). (Tony) -- Fixed bug #40750 (openssl stream wrapper ignores default_stream_timeout). - (Tony) -- Fixed bug #40727 (segfault in PDO when failed to bind parameters). (Tony) -- Fixed bug #40709 (array_reduce() behaves strange with one item stored arrays). - (Ilia) -- Fixed bug #40703 (Resolved a possible namespace conflict between libxmlrpc - and MySQL's NDB table handler). (Ilia) -- Fixed bug #40961 (Incorrect results of DateTime equality check). (Mike) -- Fixed bug #40678 (Cross compilation fails). (Tony) -- Fixed bug #40621 (Crash when constructor called inappropriately). (Tony) -- Fixed bug #40609 (Segfaults when using more than one SoapVar in a request). - (Rob, Dmitry) -- Fixed bug #40606 (umask is not being restored when request is finished). - (Tony) -- Fixed bug #40598 (libxml segfault). (Rob) -- Fixed bug #40591 (list()="string"; gives invalid opcode). (Dmitry) -- Fixed bug #40578 (imagettftext() multithreading issue). (Tony, Pierre) -- Fixed bug #40576 (double values are truncated to 6 decimal digits when - encoding). (Tony) -- Fixed bug #40560 (DIR functions do not work on root UNC path). (Dmitry) -- Fixed bug #40548 (SplFileInfo::getOwner/getGroup give a warning on broken - symlink). (Marcus) -- Fixed bug #40546 (SplFileInfo::getPathInfo() throws an exception if directory - is in root dir). (Marcus) -- Fixed bug #40545 (multithreading issue in zend_strtod()). (Tony) -- Fixed bug #40503 (json_encode() value corruption on 32bit systems with - overflown values). (Ilia) -- Fixed bug #40467 (Partial SOAP request sent when XSD sequence or choice - include minOccurs=0). (Dmitry) -- Fixed bug #40465 (Ensure that all PHP elements are printed by var_dump). - (wharmby at uk dot ibm dot com, Ilia) -- Fixed bug #40464 (session.save_path wont use default-value when safe_mode - or open_basedir is enabled). (Ilia) -- Fixed bug #40455 (proc_open() uses wrong command line when safe_mode_exec_dir - is set). (Tony) -- Fixed bug #40432 (strip_tags() fails with greater than in attribute). (Ilia) -- Fixed bug #40431 (dynamic properties may cause crash in ReflectionProperty - methods). (Tony) -- Fixed bug #40451 (addAttribute() may crash when used with non-existent child - node). (Tony) -- Fixed bug #40442 (ArrayObject::offsetExists broke in 5.2.1, works in 5.2.0). - (olivier at elma dot fr, Marcus) -- Fixed bug #40428 (imagepstext() doesn't accept optional parameter). (Pierre) -- Fixed bug #40417 (Allow multiple instances of the same named PDO token in - prepared statement emulation code). (Ilia) -- Fixed bug #40414 (possible endless fork() loop when running fastcgi). - (Dmitry) -- Fixed bug #40410 (ext/posix does not compile on MacOS 10.3.9). (Tony) -- Fixed bug #40392 (memory leaks in PHP milter SAPI). - (tuxracer69 at gmail dot com, Tony) -- Fixed bug #40371 (pg_client_encoding() not working on Windows). (Edin) -- Fixed bug #40352 (FCGI_WEB_SERVER_ADDRS function get lost). (Dmitry) -- Fixed bug #40290 (strtotime() returns unexpected result with particular - timezone offset). (Derick) -- Fixed bug #40286 (PHP fastcgi with PHP_FCGI_CHILDREN don't kill children when - parent is killed). (Dmitry) -- Fixed bug #40261 (Extremely slow data handling due to memory fragmentation). - (Dmitry) -- Fixed bug #40236 (php -a function allocation eats memory). (Dmitry) -- Fixed bug #40109 (iptcembed fails on non-jfif jpegs). (Tony) -- Fixed bug #39965 (Latitude and longitude are backwards in date_sun_info()). - (Derick) -- Implement #39867 (openssl PKCS#12 support) (Marc Delling, Pierre) -- Fixed bug #39836 (SplObjectStorage empty after unserialize). (Marcus) -- Fixed bug #39416 (Milliseconds in date()). (Derick) -- Fixed bug #39396 (stream_set_blocking crashes on Win32). (Ilia, maurice at - iceblog dot de) -- Fixed bug #39351 (relative include fails on Solaris). (Dmitry, Tony) -- Fixed bug #39322 (proc_terminate() destroys process resource). (Nuno) -- Fixed bug #38406 (crash when assigning objects to SimpleXML attributes). (Tony) -- Fixed bug #37799 (ftp_ssl_connect() falls back to non-ssl connection). (Nuno) -- Fixed bug #36496 (SSL support in imap_open() not working on Windows). (Edin) -- Fixed bug #36226 (Inconsistent handling when passing nillable arrays). - (Dmitry) -- Fixed bug #35872 (Avoid crash caused by object store being referenced during - RSHUTDOWN). (Andy) -- Fixed bug #34794 (proc_close() hangs when used with two processes). - (jdolecek at netbsd dot org, Nuno) -- Fixed PECL bug #10194 (crash in Oracle client when memory limit reached in - the callback). (Tony) -- Fixed substr_compare and substr_count information leak (MOPB-14) (Stas, Ilia) -- Fixed crash on op-assign where argument is string offset (Brian, Stas) -- Fixed bug #38710 (data leakage because of nonexisting boundary checking in - statements in mysqli) (Stas) -- Fixed bug #37386 (autocreating element doesn't assign value to first node). - (Rob) -- Fixed bug #37013 (server hangs when returning circular object references). - (Dmitry) -- Fixed bug #33664 Console window appears when using exec() - (Richard Quadling, Stas) - - -08 Feb 2007, PHP 5.2.1 -- Added read-timeout context option "timeout" for HTTP streams. (Hannes, Ilia). -- Added CURLOPT_TCP_NODELAY constant to Curl extension. (Sara) -- Added support for hex numbers of any size. (Matt) -- Added function stream_socket_shutdown(). It is a wrapper for system - shutdown() function, that shut downs part of a full-duplex connection. - (Dmitry) -- Added internal heap protection (Dmitry) - . memory-limit is always enabled (--enable-memory-limit removed) - . default value if memory-limit is set to 128M - . safe unlinking - . cookies - . canary protection (debug build only) - . random generation of cookies and canaries -- Added forward support for 'b' prefix in front of string literals. (Andrei) -- Added three new functions to ext/xmlwriter (Rob, Ilia) - . xmlwriter_start_dtd_entity() - . xmlwriter_end_dtd_entity() - . xmlwriter_write_dtd_entity() -- Added a meta tag to phpinfo() output to prevent search engines from indexing - the page. (Ilia) -- Added new function, sys_get_temp_dir(). (Hartmut) -- Added missing object support to file_put_contents(). (Ilia) -- Added support for md2, ripemd256 and ripemd320 algos to hash(). (Sara) -- Added forward support for (binary) cast. (Derick) -- Added optimization for imageline with horizontal and vertical lines (Pierre) - -- Removed dependency from SHELL32.DLL. (Dmitry) -- Removed double "wrong parameter count" warnings in various functions. - (Hannes) -- Moved extensions to PECL: - . ext/informix (Derick, Tony) - -- Changed double-to-string utilities to use BSD implementation. (Dmitry, Tony) -- Updated bundled libcURL to version 7.16.0 in the Windows distro. (Edin) -- Updated timezone database to version 2006.16. (Derick) -- cgi.* and fastcgi.* directives are moved to INI subsystem. The new directive - cgi.check_shebang_line can be used to omitting check for "#! /usr/bin/php" - line. (Dmitry). -- Improved proc_open(). Now on Windows it can run external commands not - through CMD.EXE. (Dmitry) -- VCWD_REALPATH() is improved to use realpath cache without VIRTUAL_DIR. - (Dmitry) -- ext/bcmath initialization code is moved from request startup to module - startup. (Dmitry) -- Zend Memory Manager Improvements (Dmitry) - . use HeapAlloc() instead of VirtualAlloc() - . use "win32" storage manager (instead of "malloc") on Windows by default -- Zip Extension Improvements (Pierre) - . Fixed leak in statName and stateIndex - . Fixed return setComment (Hannes) - . Added addEmptyDir method -- Filter Extension Improvements (Ilia, Pierre) - . Fixed a bug when callback function returns a non-modified value. - . Added filter support for $_SERVER in cgi/apache2 sapis. - . Make sure PHP_SELF is filtered in Apache 1 sapi. - . Fixed bug #39358 (INSTALL_HEADERS contains incorrect reference to - php_filter.h). - . Added "default" option that allows a default value to be set for an - invalid or missing value. - . Invalid filters fails instead of returning unsafe value - . Fixed possible double encoding problem with sanitizing filters - . Make use of space-strict strip_tags() function - . Fixed whitespace trimming - . Added support for FastCGI environment variables. (Dmitry) -- PDO_MySQL Extension Improvements (Ilia) - . Enabled buffered queries by default. - . Enabled prepared statement emulation by default. - -- Small optimization of the date() function. (Matt,Ilia) -- Optimized the internal is_numeric_string() function. (Matt,Ilia) -- Optimized array functions utilizing php_splice(). (Ilia) -- Windows related optimizations (Dmitry, Stas) - . COM initialization/deinitialization are done only if necessary - . removed unnecessary checks for ISREG file and corresponding stat() calls - . opendir() is reimplementation using GetFistFile/GetNextFile those are - faster then _findfirst/_findnext - . implemented registry cache that prevent registry lookup on each request. - In case of modification of corresponding registry-tree PHP will reload it - automatic - . start timeout thread only if necessary - . stat() is reimplementation using GetFileAttributesEx(). The new - implementation is faster then implementation in MS VC CRT, but it doesn't - support Windows 95. -- Streams optimization (Dmitry) - . removed unnecessary ftell() calls (one call for each included PHP file) - . disabled calls to read() after EOF - -- Fixed incorrect function names on FreeBSD where inet_pton() was named - __inet_pton() and inet_ntop() was named __inet_ntop(). (Hannes) -- Fixed FastCGI impersonation for persistent connections on Windows. (Dmitry) -- Fixed wrong signature initialization in imagepng (Takeshi Abe) -- Fixed ftruncate() with negative size on FreeBSD. (Hannes) -- Fixed segfault in RegexIterator when given invalid regex. (Hannes) -- Fixed segfault in SplFileObject->openFile()->getPathname(). (Hannes) -- Fixed segfault in ZTS mode when OCI8 statements containing sub-statements - are destroyed in wrong order. (Tony) -- Fixed the validate email filter so that the letter "v" can also be used in - the user part of the email address. (Derick) -- Fixed bug #40297 (compile failure in ZTS mode when collections support is - missing). (Tony) -- Fixed bug #40285 (The PDO prepare parser goes into an infinite loop in - some instances). (Ilia) -- Fixed bug #40274 (Sessions fail with numeric root keys). (Ilia) -- Fixed bug #40259 (ob_start call many times - memory error). (Dmitry) -- Fixed bug #40231 (file_exists incorrectly reports false). (Dmitry) -- Fixed bug #40228 (ZipArchive::extractTo does create empty directories - recursively). (Pierre) -- Fixed bug #40200 (The FastCgi version has different realpath results than - thread safe version). (Dmitry) -- Fixed bug #40191 (use of array_unique() with objects triggers segfault). - (Tony) -- Fixed bug #40189 (possible endless loop in zlib.inflate stream filter). - (Greg, Tony) -- Fixed bug #40169 (CURLOPT_TCP_NODELAY only available in curl >= 7.11.2). - (Tony) -- Fixed bug #40129 (iconv extension doesn't compile with CodeWarrior on - Netware). (gk at gknw dot de, Tony) -- Fixed bug #40127 (apache2handler doesn't compile on Netware). - (gk at gknw dot de) -- Fixed bug #40121 (PDO_DBLIB driver wont free statements). (Ilia) -- Fixed bug #40098 (php_fopen_primary_script() not thread safe). (Ilia) -- Fixed bug #40092 (chroot() doesn't clear realpath cache). (Dmitry) -- Fixed bug #40091 (spl_autoload_register with 2 instances of the same class). - (Ilia) -- Fixed bug #40083 (milter SAPI functions always return false/null). (Tony) -- Fixed bug #40079 (php_get_current_user() not thread safe). - (Ilia, wharmby at uk dot ibm dot com) -- Fixed bug #40078 (ORA-01405 when fetching NULL values using - oci_bind_array_by_name()). (Tony) -- Fixed bug #40076 (zend_alloc.c: Value of enumeration constant must be in - range of signed integer). (Dmitry) -- Fixed bug #40073 (exif_read_data dies on certain images). (Tony, Marcus) -- Fixed bug #40036 (empty() does not work correctly with ArrayObject when - using ARRAY_AS_PROPS). (Ilia) -- Fixed bug #40012 (php_date.c doesn't compile on Netware). - (gk at gknw dot de, Derick) -- Fixed bug #40009 (http_build_query(array()) returns NULL). (Ilia) -- Fixed bug #40002 (Try/Catch performs poorly). (Dmitry) -- Fixed bug #39993 (tr_TR.UTF-8 locale has problems with PHP). (Ilia) -- Fixed bug #39990 (Cannot "foreach" over overloaded properties). (Dmitry) -- Fixed bug #39988 (type argument of oci_define_by_name() is ignored). - (Chris Jones, Tony) -- Fixed bug #39984 (redirect response code in header() could be ignored - in CGI sapi). (Ilia) -- Fixed bug #39979 (PGSQL_CONNECT_FORCE_NEW will causes next connect to - establish a new connection). (Ilia) -- Fixed bug #39971 (pg_insert/pg_update do not allow now() to be used - for timestamp fields). (Ilia) -- Fixed bug #39969 (ini setting short_open_tag has no effect when using - --enable-maintainer-zts). (Dmitry) -- Fixed bug #39952 (zip ignoring --with-libdir on zlib checks) - (judas dot iscariote at gmail dot com) -- Fixed bug #39944 (References broken). (Dmitry) -- Fixed bug #39935 (Extensions tidy,mcrypt,mhash,pdo_sqlite ignores - --with-libdir). (judas dot iscariote at gmail dot com, Derick) -- Fixed bug #39903 (Notice message when executing __halt_compiler() more than - once). (Tony) -- Fixed bug #39898 (FILTER_VALIDATE_URL validates \r\n\t etc). (Ilia) -- Fixed bug #39890 (using autoconf 2.6x and --with-layout=GNU breaks PEAR - install path). (Tony) -- Fixed bug #39884 (ReflectionParameter::getClass() throws exception for - type hint self). (thekid at php dot net) -- Fixed bug #39878 (CURL doesn't compile on Sun Studio Pro). (Ilia) -- Fixed bug #39873 (number_format() breaks with locale & decimal points). - (Ilia) -- Fixed bug #39869 (safe_read does not initialize errno). - (michiel at boland dot org, Dmitry) -- Fixed bug #39850 (SplFileObject throws contradictory/wrong error messages - when trying to open "php://wrong"). (Tony) -- Fixed bug #39846 (Invalid IPv4 treated as valid). (Ilia) -- Fixed bug #39845 (Persistent connections generate a warning in pdo_pgsql). - (Ilia) -- Fixed bug #39832 (SOAP Server: parameter not matching the WSDL specified - type are set to 0). (Dmitry) -- Fixed bug #39825 (foreach produces memory error). (Dmitry) -- Fixed bug #39816 (apxs2filter ignores httpd.conf & .htaccess php config - settings). (Ilia) -- Fixed bug #39815 (SOAP double encoding is not locale-independent). (Dmitry) -- Fixed bug #39797 (virtual() does not reset changed INI settings). (Ilia) -- Fixed bug #39795 (build fails on AIX because crypt_r() uses different - data struct). (Tony) -- Fixed bug #39791 (Crash in strtotime() on overly long relative date - multipliers). (Ilia) -- Fixed bug #39787 (PHP doesn't work with Apache 2.3). - (mv at binarysec dot com). -- Fixed bug #39782 (setTime() on a DateTime constructed with a Weekday - yields incorrect results). (Ilia) -- Fixed bug #39780 (PNG image with CRC/data error raises fatal error) (Pierre) -- Fixed bug #39779 (Enable AUTH PLAIN mechanism in underlying libc-client). - (michael dot heimpold at s2000 dot tu-chemnitz dot de, Ilia) -- Fixed bug #39775 ("Indirect modification ..." message is not shown). - (Dmitry) -- Fixed bug #39763 (magic quotes are applied twice by ext/filter in - parse_str()). (Ilia) -- Fixed bug #39760 (cloning fails on nested SimpleXML-Object). (Rob) -- Fixed bug #39759 (Can't use stored procedures fetching multiple result - sets in pdo_mysql). (Ilia) -- Fixed bug #39754 (Some POSIX extension functions not thread safe). - (Ilia, wharmby at uk dot ibm dot com) -- Fixed bug #39751 (putenv crash on Windows). (KevinJohnHoffman at gmail.com) -- Fixed bug #39732 (oci_bind_array_by_name doesn't work on Solaris 64bit). - (Tony) -- Fixed bug #39724 (Broken build due to spl/filter usage of pcre extension). - (Tony, Ilia) -- Fixed bug #39718 (possible crash if assert.callback is set in ini). (Ilia) -- Fixed bug #39702 (php crashes in the allocator on linux-m68k). (Dmitry) -- Fixed bug #39685 (iconv() - undefined function). (Hannes) -- Fixed bug #39673 (file_get_contents causes bus error on certain offsets). - (Tony) -- Fixed bug #39663 (Memory leak in pg_get_notify() and a possible memory - corruption on Windows in pgsql and pdo_pgsql extensions). - (Ilia, matteo at beccati dot com) -- Fixed bug #39662 (Segfault when calling asXML() of a cloned - SimpleXMLElement). (Rob, Tony) -- Fixed bug #39656 (crash when calling fetch() on a PDO statment object after - closeCursor()). (Ilia, Tony) -- Fixed bug #39653 (ext/dba doesn't check for db-4.5 and db-4.4 when db4 - support is enabled). (Tony) -- Fixed bug #39652 (Wrong negative results from memory_get_usage()). (Dmitry) -- Fixed bug #39648 (Implementation of PHP functions chown() and chgrp() are - not thread safe). (Ilia, wharmby at uk dot ibm dot com) -- Fixed bug #39640 (Segfault with "Allowed memory size exhausted"). (Dmitry) -- Fixed bug #39625 (Apache crashes on importStylesheet call). (Rob) -- Fixed bug #39623 (thread safety fixes on *nix for putenv() & mime_magic). - (Ilia, wharmby at uk dot ibm dot com) -- Fixed bug #39621 (str_replace() is not binary safe on strings with equal - length). (Tony) -- Fixed bug #39613 (Possible segfault in imap initialization due to missing - module dependency). (wharmby at uk dot ibm dot com, Tony) -- Fixed bug #39606 (Use of com.typelib_file in PHP.ini STILL causes A/V). (Rob) -- Fixed bug #39602 (Invalid session.save_handler crashes PHP). (Dmitry) -- Fixed bug #39596 (Creating Variant of type VT_ARRAY). (Rob) -- Fixed bug #39583 (ftp_put() does not change transfer mode to ASCII). (Tony) -- Fixed bug #39576 (array_walk() doesn't separate user data zval). (Tony) -- Fixed bug #39575 (move_uploaded_file() no longer working (safe mode - related)). (Tony) -- Fixed bug #39571 (timeout ssl:// connections). (Ilia) -- Fixed bug #39564 (PDO::errorInfo() returns inconsistent information when - sqlite3_step() fails). (Tony) -- Fixed bug #39548 (ZMSG_LOG_SCRIPT_NAME not routed to OutputDebugString() - on Windows). (Dmitry) -- Fixed bug #39538 (fgetcsv can't handle starting newlines and trailing odd - number of backslashes). (David Soria Parra, Pierre) -- Fixed bug #39534 (Error in maths to calculate of - ZEND_MM_ALIGNED_MIN_HEADER_SIZE). (wharmby at uk dot ibm dot com, Dmitry) -- Fixed bug #39527 (Failure to retrieve results when multiple unbuffered, - prepared statements are used in pdo_mysql). (Ilia) -- Fixed bug #39508 (imagefill crashes with small images 3 pixels or less). - (Pierre) -- Fixed bug #39506 (Archive corrupt with ZipArchive::addFile method). (Pierre) -- Fixed bug #39504 (xmlwriter_write_dtd_entity() creates Attlist tag, not - entity). (Hannes) -- Fixed bug #39483 (Problem with handling of \ char in prepared statements). - (Ilia, suhachov at gmail dot com) -- Fixed bug #39458 (ftp_nlist() returns false on empty dirs). (Nuno) -- Fixed bug #39454 (Returning a SOAP array segfaults PHP). (Dmitry) -- Fixed bug #39450 (getenv() fills other super-globals). (Ilia, Tony) -- Fixed bug #39449 (Overloaded array properties do not work correctly). - (Dmitry) -- Fixed bug #39445 (Calling debug_backtrace() in the __toString() - function produces a crash). (Dmitry) -- Fixed bug #39438 (Fatal error: Out of memory). (Dmitry) -- Fixed bug #39435 ('foo' instanceof bar gives invalid opcode error). (Sara) -- Fixed bug #39414 (Syntax error while compiling with Sun Workshop Complier). - (Johannes) -- Fixed bug #39398 (Booleans are not automatically translated to integers). - (Ilia) -- Fixed bug #39394 (Missing check for older variants of openssl). (Ilia) -- Fixed bug #39367 (clearstatcache() doesn't clear realpath cache). - (j at pureftpd dot org, Dmitry) -- Fixed bug #39366 (imagerotate does not use alpha with angle > 45 degrees) - (Pierre) -- Fixed bug #39364 (Removed warning on empty haystack inside mb_strstr()). - (Ilia) -- Fixed bug #39362 (Added an option to imap_open/imap_reopen to control the - number of connection retries). (Ilia) -- Fixed bugs #39361 & #39400 (mbstring function overloading problem). (Seiji) -- Fixed bug #39354 (Allow building of curl extension against libcurl - 7.16.0). (Ilia) -- Fixed bug #39350 (crash with implode("\n", array(false))). (Ilia) -- Fixed bug #39344 (Unnecessary calls to OnModify callback routine for - an extension INI directive). (wharmby at uk dot ibm dot com, Dmitry) -- Fixed bug #39320 (ZEND_HASH_APPLY_STOP causes deletion). (Marcus) -- Fixed bug #39313 (spl_autoload triggers Fatal error). (Marcus) -- Fixed bug #39300 (make install fails if wget is not available). (Tony) -- Fixed bug #39297 (Memory corruption because of indirect modification of - overloaded array). (Dmitry) -- Fixed bug #39286 (misleading error message when invalid dimensions are - given) (Pierre) -- Fixed bug #39273 (imagecopyresized may ignore alpha channel) (Pierre) -- Fixed bug #39265 (Fixed path handling inside mod_files.sh). - (michal dot taborsky at gmail dot com, Ilia) -- Fixed bug #39217 (serialNumber might be -1 when the value is too large). - (Pierre, Tony) -- Fixed bug #39215 (Inappropriate close of stdin/stdout/stderr). (Wez, Ilia) -- Fixed bug #39201 (Possible crash in Apache 2 with 413 ErrorHandler). (Ilia) -- Fixed bug #39151 (Parse error in recursiveiteratoriterator.php). (Marcus) -- Fixed bug #39121 (Incorrect return array handling in non-wsdl soap client). - (Dmitry) -- Fixed bug #39090 (DirectoryFilterDots doxygen docs and example is wrong). - (Marcus) -- Fixed bug #38852 (XML-RPC Breaks iconv). (Hannes) -- Fixed bug #38770 (unpack() broken with longs on 64 bit machines). - (Ilia, David Soria Parra). -- Fixed bug #38698 (for some keys cdbmake creates corrupted db and cdb can't - read valid db). (Marcus) -- Fixed bug #38680 (Added missing handling of basic types in json_decode). - (Ilia) -- Fixed bug #38604 (Fixed request time leak inside foreach() when iterating - through virtual properties). (Dmitry) -- Fixed bug #38602 (header( "HTTP/1.0 ..." ) does not change proto version). - (Ilia) -- Fixed bug #38542 (proc_get_status() returns wrong PID on windows). (Nuno) -- Fixed bug #38536 (SOAP returns an array of values instead of an object). - (Dmitry) -- Fixed bug #38456 (Apache2 segfaults when virtual() is called in .php - ErrorDocument). (Ilia) -- Fixed bug #38325 (spl_autoload_register() gives wrong line for "class not - found"). (Ilia) -- Fixed bug #38319 (Remove bogus warnings from persistent PDO connections). - (Ilia) -- Fixed bug #38274 (Memlimit fatal error sent to "wrong" stderr when using - fastcgi). (Dmitry) -- Fixed bug #38252 (Incorrect PDO error message on invalid default fetch - mode). (Ilia) -- Fixed bug #37927 (Prevent trap when COM extension processes argument of - type VT_DISPATCH|VT_REF) (Andy) -- Fixed bug #37773 (iconv_substr() gives "Unknown error" when string - length = 1"). (Ilia) -- Fixed bug #37627 (session save_path check checks the parent directory). - (Ilia) -- Fixed bug #37619 (proc_open() closes stdin on fork() failure). - (jdolecek at NetBSD dot org, Nuno) -- Fixed bug #37588 (COM Property propputref converts to PHP function - and can't be accesed). (Rob) -- Fixed bug #36975 (natcasesort() causes array_pop() to misbehave). - (Hannes) -- Fixed bug #36812 (pg_execute() modifies input array). (Ilia) -- Fixed bug #36798 (Error parsing named parameters with queries containing - high-ascii chars). (Ilia) -- Fixed bug #36644 (possible crash in variant_date_from_timestamp()). (Ilia) -- Fixed bug #36427 (proc_open() / proc_close() leak handles on windows). - (jdolecek at NetBSD dot org, Nuno) -- Fixed bug #36392 (wrong number of decimal digits with %e specifier in - sprintf). (Matt,Ilia) -- Fixed bug #36214 (__get method works properly only when conditional - operator is used). (Dmitry) -- Fixed bug #35634 (Erroneous "Class declarations may not be nested" - error raised). (Carl P. Corliss, Dmitry) -- Fixed bug #35106 (nested foreach fails when array variable has a - reference). (Dmitry) -- Fixed bug #34564 (COM extension not returning modified "out" argument) (Andy) -- Fixed bug #33734 (Something strange with COM Object). (Rob) -- Fixed bug #33386 (ScriptControl only sees last function of class). (Rob) -- Fixed bug #33282 (Re-assignment by reference does not clear the is_ref - flag) (Ilia, Dmitry, Matt Wilmas) -- Fixed bug #30074 (apparent symbol table error with - extract($blah, EXTR_REFS)) (Brian) -- Fixed bug #29840 (is_executable() does not honor safe_mode_exec_dir - setting). (Ilia) -- Fixed PECL bug #7295 (ORA-01405: fetched column value is NULL on LOB - fields). (Tony) - -02 Nov 2006, PHP 5.2.0 -- Updated bundled OpenSSL to version 0.9.8d in the Windows distro. (Edin) -- Updated Postgresql client libraries to 8.1.4 in the Windows distro. (Edin) -- Updated PCRE to version 6.7. (Ilia) -- Updated libsqlite in ext/pdo_sqlite to 3.3.7. (Ilia) -- Updated bundled MySQL client library to version 5.0.22 in the Windows - distribution. (Edin) -- Updated timezonedb to version 2006.7. (Derick) - -- Added ability to make SOAP call userspace PHP<->XML converters. (Dmitry) -- Added support for character sets in pg_escape_string() for PostgreSQL 8.1.4 - and higher. (Ilia) -- Added support for character sets in PDO quote() method for PostgreSQL 8.1.4 - and higher. (Ilia) -- Added DSA key generation support to openssl_pkey_new(), FR #38731 (marci - at balabit dot hu, Tony) -- Added SoapServer::setObject() method (it is a simplified version of - SoapServer::setClass() method). (Dmitry) -- Added support for hexadecimal entity in imagettftext() for the bundled GD. - (Pierre) -- Added support for httpOnly flag for session extension and cookie setting - functions. (Scott MacVicar, Ilia) -- Added version specific registry keys to allow different configurations for - different php version. (Richard, Dmitry) -- Added "PHPINIDir" Apache directive to apache and apache_hooks SAPIs. - (Dmitry) -- Added an optional boolean parameter to memory_get_usage() and - memory_get_peak_usage() to get memory size allocated by emalloc() or real - size of memory allocated from system. (Dmitry) -- Added Zip Archive extension. (Pierre) -- Added RFC1867 fileupload processing hook. (Stefan E.) -- Added JSON and Filter extensions. (Derick, Rasmus) -- Added error messages to disk_free_space() and disk_total_space() functions. - FR #37971 (Tony) -- Added PATHINFO_FILENAME option to pathinfo() to get the filename. - (Toby S. and Christian S.) -- Added array_fill_keys() function. (Marcus, Matt Wilmas) -- Added posix_initgroups() function. (Ilia) -- Added an optional parameter to parse_url() to allow retrieval of distinct - URL components. (Ilia) -- Added optional parameter to http_build_query() to allow specification of - string separator. (Ilia) -- Added image_type_to_extension() function. (Hannes, Ilia) -- Added allow_url_include ini directive to complement allow_url_fopen. (Rasmus) -- Added automatic module globals management. (Dmitry) -- Added RFC2397 (data: stream) support. (Marcus) -- Added new error mode E_RECOVERABLE_ERROR. (Derick, Marcus, Tony) -- Added support for getenv() input filtering. (Rasmus) -- Added support for constructors in interfaces to force constructor signature - checks in implementations. (Marcus) -- Added memory_get_peak_usage() function for retrieving peak memory usage of - a PHP script. (Ilia) -- Added pg_field_table() function. (Edin) -- Added SimpleXMLElement::saveXML() as an alias for SimpleXMLElement::asXML(). - (Hannes) -- Added DOMNode::getNodePath() for getting an XPath for a node. (Christian) -- Added gmp_nextprime() function. (ants dot aasma at gmail dot com, Tony) -- Added error_get_last() function. (Mike) - -- Removed current working directory from the php.ini search path for CLI and - re-added it for other SAPIs (restore to pre 5.1.x behavior). (Edin) -- Moved extensions to PECL: - . ext/filepro (Derick, Tony) - . ext/hwapi (Derick, Tony) -- Disabled CURLOPT_FOLLOWLOCATION in curl when open_basedir or - safe_mode are enabled. (Stefan E., Ilia) - -- Increased default memory limit to 16 megabytes to accommodate for a more - accurate memory utilization measurement. -- In addition to path to php.ini, PHPRC now may specify full file name. - (Dmitry) - -- Optimized array/HashTable copying. (Matt Wilmas, Dmitry) -- Optimized zend_try/zend_catch macros by eliminating memcpy(3). (Dmitry) -- Optimized require_once() and include_once() by eliminating fopen(3) on - second usage. (Dmitry) -- Optimized request shutdown sequence. Restoring ini directives now iterates - only over modified directives instead of all. (Dmitry) - -- Changed priority of PHPRC environment variable on win32 to be higher then - value from registry. (Dmitry) -- Changed __toString() to be called wherever applicable. (Marcus) -- Changed E_ALL error reporting mode to include E_RECOVERABLE_ERROR. (Marcus) -- Changed realpath cache to be disabled when "open_basedir" or "safe_mode" - are enabled on per-request basis. (Ilia) - -- Improved SNMP extension: (Jani) - . Renamed snmp_set_oid_numeric_print() to snmp_set_oid_output_format(). - . Added 2 new constants: SNMP_OID_OUTPUT_FULL and SNMP_OID_OUTPUT_NUMERIC - . Fixed bug #37564 (AES privacy encryption not possible due to net-snmp 5.2 - compatibility issue). (Patch: scott dot moynes+php at gmail dot com) -- Improved OpenSSL extension: (Pierre) - . Added support for all supported algorithms in openssl_verify - . Added openssl_pkey_get_details, returns the details of a key - . Added x509 v3 extensions support - . Added openssl_csr_get_subject() and openssl_csr_get_public_key() - . Added 3 new constants OPENSSL_VERSION_TEXT and OPENSSL_VERSION_NUMBER and - OPENSSL_KEYTYPE_EC -- Improved the Zend memory manager: (Dmitry) - . Removed unnecessary "--disable-zend-memory-manager" configure option. - . Added "--enable-malloc-mm" configure option which is enabled by default in - debug builds to allow using internal and external memory debuggers. - . Allow tweaking the memory manager with ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE - environment variables. - . For more information: Zend/README.ZEND_MM -- Improved safe_mode check for the error_log() function. (Ilia) -- Improved the error reporting in SOAP extension on request failure. (Ilia) -- Improved crypt() on win32 to be about 10 times faster and to have friendlier - license. (Frank, Dmitry) -- Improved performance of the implode() function on associated arrays. (Ilia) -- Improved performance of str_replace() when doing 1 char to 1 char or 1 char - to many chars replacement. (Ilia) -- Improved apache2filter SAPI: - . Allowed PHP to be an arbitrary filter in the chain and read the script from - the Apache stream. (John) - . Added support for apache2filter in the Windows build including binary - support for both Apache 2.0.x (php5apache2_filter.dll) and Apache 2.2.x - (php5apache2_2_filter.dll). (Edin) -- Improved apache2handler SAPI: - . Changed ap_set_content_type() to be called only once. (Mike) - . Added support for Apache 2.2 handler in the Windows distribution. (Edin) -- Improved FastCGI SAPI: (Dmitry) - . Removed source compatibility with libfcgi. - . Optimized access to FastCGI environment variables by using HashTable - instead of linear search. - . Allowed PHP_FCGI_MAX_REQUESTS=0 that assumes no limit. - . Allowed PHP_FCGI_CHILDREN=0 that assumes no worker children. (FastCGI - requests are handled by main process itself) -- Improved CURL: - . Added control character checks for "open_basedir" and "safe_mode" checks. - (Ilia) - . Added implementation of curl_multi_info_read(). (Brian) -- Improved PCRE: (Andrei) - . Added run-time configurable backtracking/recursion limits. - . Added preg_last_error(). (Andrei) -- Improved PDO: - . Added new attribute ATTR_DEFAULT_FETCH_MODE. (Pierre) - . Added FETCH_PROPS_LATE. (Marcus) -- Improved SPL: (Marcus) - . Made most iterator code exception safe. - . Added RegExIterator and RecursiveRegExIterator. - . Added full caching support and ArrayAccess to CachingIterator. - . Added array functions to ArrayObject/ArrayIterator and made them faster. - . Added support for reading csv and skipping empty lines in SplFileObject. - . Added CachingIterator::TOSTRING_USE_INNER, calls inner iterator __toString. - . Added ability to set the CSV separator per SplFileObject. -- Improved xmlReader: (Rob) - . Added readInnerXml(), xmlReader::setSchema(). - . Added readInnerXML(), readOuterXML(), readString(), setSchema(). (2.6.20+) - . Changed to passing libxml options when loading reader. - -- Fixed invalid read in imagecreatefrompng when an empty file is given - (Pierre, Tony) -- Fixed infinite loop when a wrong color index is given to imagefill (Pierre) -- Fixed mess with CGI/CLI -d option (now it works with cgi; constants are - working exactly like in php.ini; with FastCGI -d affects all requests). - (Dmitry) -- Fixed missing open_basedir check inside chdir() function. (Ilia) -- Fixed overflow on 64bit systems in str_repeat() and wordwrap(). (Stefan E.) -- Fixed XSLTProcessor::importStylesheet() to return TRUE on success - (Christian) -- Fixed leaks in openssl_csr_sign and openssl_csr_new (Pierre) -- Fixed phpinfo() cutoff of variables at \0. (Ilia) -- Fixed a bug in the filter extension that prevented magic_quotes_gpc from - being applied when RAW filter is used. (Ilia) -- Fixed memory leaks in openssl streams context options. (Pierre) -- Fixed handling of extremely long paths inside tempnam() function. (Ilia) -- Fixed bug #39721 (Runtime inheritance causes data corruption). (Dmitry) -- Fixed bug #39304 (Segmentation fault with list unpacking of string offset). - (Dmitry) -- Fixed bug #39192 (Not including nsapi.h properly with SJSWS 7). This will - make PHP 5.2 compatible to new Sun Webserver. (Uwe) -- Fixed bug #39140 (Uncaught exception may cause crash). (Dmitry) -- Fixed bug #39125 (Memleak when reflecting non-existing class/method). (Tony) -- Fixed bug #39067 (getDeclaringClass() and private properties). (Tony) -- Fixed bug #39039 (SSL: fatal protocol error when fetching HTTPS from servers - running Google web server). (Ilia) -- Fixed bug #39035 (Compatibility issue between DOM and - zend.ze1_compatibility_mode). (Rob) -- Fixed bug #39034 (curl_exec() with return transfer returns TRUE on empty - files). (Ilia) -- Fixed bug #39032 (strcspn() stops on null character). (Tony) -- Fixed bug #39020 (PHP in FastCGI server mode crashes). (Dmitry) -- Fixed bug #39017 (foreach(($obj = new myClass) as $v); echo $obj; - segfaults). (Dmitry) -- Fixed bug #39004 (Fixed generation of config.nice with autoconf 2.60). (Ilia) -- Fixed bug #39003 (__autoload() is called for type hinting). (Dmitry, Tony) -- Fixed bug #39001 (ReflectionProperty returns incorrect declaring class for - protected properties). (Tony) -- Fixed bug #38996 (PDO_MYSQL doesn't check connections for liveness). (Tony) -- Fixed bug #38993 (Fixed safe_mode/open_basedir checks for session.save_path, - allowing them to account for extra parameters). (Ilia) -- Fixed bug #38989 (Absolute path with slash at beginning doesn't work on win). - (Dmitry) -- Fixed bug #38985 (Can't cast COM objects). (Wez) -- Fixed bug #38981 (using FTP URLs in get_headers() causes crash). (Tony) -- Fixed bug #38963 (Fixed a possible open_basedir bypass in tempnam()). (Ilia) -- Fixed bug #38961 (metaphone() results in segmentation fault on NetBSD). - (Tony) -- Fixed bug #38949 (Cannot get xmlns value attribute). (Rob) -- Fixed bug #38942 (Double old-style-ctor inheritance). (Dmitry) -- Fixed bug #38941 (imap extension does not compile against new version of the - imap library). (Ilia) -- Fixed bug #38934 (move_uploaded_file() cannot read uploaded file outside of - open_basedir). (Ilia) -- Fixed bug #38904 (apache2filter changes cwd to /). (Ilia, Hannes) -- Fixed bug #38891 (get_headers() do not work with curl-wrappers). (Ilia) -- Fixed bug #38882 (ldap_connect causes segfault with newer versions of - OpenLDAP). (Tony) -- Fixed bug #38859 (parse_url() fails if passing '@' in passwd). (Tony) -- Fixed bug #38850 (lookupNamespaceURI doesn't return default namespace). (Rob) -- Fixed bug #38844 (curl_easy_strerror() is defined only since cURL 7.12.0). - (Tony) -- Fixed bug #38813 (DOMEntityReference->__construct crashes when called - explicitly). (Rob) -- Fixed bug #38808 ("maybe ref" issue for current() and others). (Dmitry) -- Fixed bug #38779 (engine crashes when require()'ing file with syntax error - through userspace stream wrapper). (Tony, Dmitry) -- Fixed bug #38772 (inconsistent overriding of methods in different visibility - contexts). (Dmitry) -- Fixed bug #38759 (PDO sqlite2 empty query causes segfault). (Tony) -- Fixed bug #38721 (Invalid memory read in date_parse()). (Tony, Derick) -- Fixed bug #38700 (SoapClient::__getTypes never returns). (Dmitry) -- Fixed bug #38693 (curl_multi_add_handle() set curl handle to null). (Ilia) -- Fixed bug #38687 (sockaddr local storage insufficient for all sock families). - (Sara) -- Fixed bug #38661 (mixed-case URL breaks url-wrappers). (Ilia) -- Fixed bug #38653 (memory leak in ReflectionClass::getConstant()). (Tony) -- Fixed bug #38649 (uninit'd optional arg in stream_socket_sendto()). (Sara) -- Fixed bug #38637 (curl_copy_handle() fails to fully copy the cURL handle). - (Tony, Ilia) -- Fixed bug #38624 (Strange warning when incrementing an object property and - exception is thrown from __get method). (Tony) -- Fixed bug #38623 (leaks in a tricky code with switch() and exceptions). - (Dmitry) -- Fixed bug #38579 (include_once() may include the same file twice). (Dmitry) -- Fixed bug #38574 (missing curl constants and improper constant detection). - (Ilia) -- Fixed bug #38543 (shutdown_executor() may segfault when memory_limit is too - low). (Dmitry) -- Fixed bug #38535 (memory corruption in pdo_pgsql driver on error retrieval - inside a failed query executed via query() method). (Ilia) -- Fixed bug #38534 (segfault when calling setlocale() in userspace session - handler). (Tony) -- Fixed bug #38524 (strptime() does not initialize the internal date storage - structure). (Ilia) -- Fixed bug #38511, #38473, #38263 (Fixed session extension request shutdown - order to ensure it is shutdown before the extensions it may depend on). - (Ilia) -- Fixed bug #38488 (Access to "php://stdin" and family crashes PHP on win32). - (Dmitry) -- Fixed bug #38474 (getAttribute select attribute by order, even when - prefixed). (Rob) -- Fixed bug #38467 (--enable-versioning causes make fail on OS X). (Tony) -- Fixed bug #38465 (ReflectionParameter fails if default value is an access - to self::). (Johannes) -- Fixed bug #38464 (array_count_values() mishandles numeric strings). - (Matt Wilmas, Ilia) -- Fixed bug #38461 (setting private attribute with __set() produces - segfault). (Tony) -- Fixed bug #38458, PECL bug #8944, PECL bug #7775 (error retrieving columns - after long/text columns with PDO_ODBC). (Wez) -- Fixed bug #38454 (warning upon disabling handler via - xml_set_element_handler). (dtorop933 at gmail dot com, Rob) -- Fixed bug #38451 (PDO_MYSQL doesn't compile on Solaris). (Tony) -- Fixed bug #38450 (constructor is not called for classes used in userspace - stream wrappers). (Tony) -- Fixed bug #38438 (DOMNodeList->item(0) segfault on empty NodeList). (Ilia) -- Fixed bug #38431 (xmlrpc_get_type() crashes PHP on objects). (Tony) -- Fixed bug #38427 (unicode causes xml_parser to misbehave). (Rob) -- Fixed bug #38424 (Different attribute assignment if new or existing). (Rob) -- Fixed bug #38400 (Use of com.typelib_file may cause a crash). (Ilia) -- Fixed bug #38394 (PDO fails to recover from failed prepared statement - execution). (Ilia) -- Fixed bug #38377 (session_destroy() gives warning after - session_regenerate_id()). (Ilia) -- Implemented #38357 (dbase_open can't open DBase 3 dbf file). - (rodrigo at fabricadeideias dot com, Mike) -- Fixed bug #38354 (Unwanted reformatting of XML when using AsXML). (Christian) -- Fixed bug #38347 (Segmentation fault when using foreach with an unknown/empty - SimpleXMLElement). (Tony) -- Fixed bug #38322 (reading past array in sscanf() leads to arbitrary code - execution). (Tony) -- Fixed bug #38315 (Constructing in the destructor causes weird behavior). - (Dmitry) -- Fixed bug #38303 (spl_autoload_register() suppress all errors silently). - (Ilia) -- Fixed bug #38290 (configure script ignores --without-cdb,inifile,flatfile). - (Marcus) -- Fixed bug #38289 (segfault in session_decode() when _SESSION is NULL). - (Tony) -- Fixed bug #38287 (static variables mess up global vars). (Dmitry) -- Fixed bug #38278 (session_cache_expire()'s value does not match phpinfo's - session.cache_expire). (Tony) -- Fixed bug #38276 (file_exists() works incorrectly with long filenames - on Windows). (Ilia, Tony) -- Fixed bug #38269 (fopen wrapper doesn't fail on invalid hostname with - curlwrappers enabled). (Tony) -- Fixed bug #38265 (heap corruption). (Dmitry) -- Fixed bug #38261 (openssl_x509_parse() leaks with invalid cert) (Pierre) -- Fixed bug #38255 (openssl possible leaks while passing keys) (Pierre) -- Fixed bug #38253 (PDO produces segfault with default fetch mode). (Tony) -- Fixed bug #38251 (socket_select() and invalid arguments). (Tony) -- Fixed bug #38236 (Binary data gets corrupted on multipart/formdata POST). - (Ilia) -- Fixed bug #38234 (Exception in __clone makes memory leak). (Dmitry, Nuno) -- Fixed bug #38229 (strtotime() does not parse YYYY-MM format). (Ilia) -- Fixed bug #38224 (session extension can't handle broken cookies). (Ilia) -- Fixed bug #38220 (Crash on some object operations). (Dmitry) -- Fixed bug #38217 (ReflectionClass::newInstanceArgs() tries to allocate too - much memory). (Tony) -- Fixed bug #38214 (gif interlace output cannot work). (Pierre) -- Fixed bug #38213, #37611, #37571 (wddx encoding fails to handle certain - characters). (Ilia) -- Fixed bug #38212 (Segfault on invalid imagecreatefromgd2part() parameters). - (Pierre) -- Fixed bug #38211 (variable name and cookie name match breaks script - execution). (Dmitry) -- Fixed bug #38199 (fclose() unable to close STDOUT and STDERR). (Tony) -- Fixed bug #38198 (possible crash when COM reports an exception). (Ilia) -- Fixed bug #38194 (ReflectionClass::isSubclassOf() returns TRUE for the - class itself). (Ilia) -- Fixed bug #38183 (disable_classes=Foobar causes disabled class to be - called Foo). (Jani) -- Fixed bug #38179 (imagecopy from a palette to a truecolor image loose alpha - channel) (Pierre) -- Fixed bug #38173 (Freeing nested cursors causes OCI8 to segfault). (Tony) -- Fixed bug #38168 (Crash in pdo_pgsql on missing bound parameters). (Ilia) -- Fixed bug #38161 (oci_bind_by_name() returns garbage when Oracle didn't set - the variable). (Tony) -- Fixed bug #38146 (Cannot use array returned from foo::__get('bar') in write - context). (Dmitry) -- Fixed bug #38132 (ReflectionClass::getStaticProperties() retains \0 in key - names). (Ilia) -- Fixed bug #38125 (undefined reference to spl_dual_it_free_storage). (Marcus) -- Fixed bug #38112 (corrupted gif segfaults) (Pierre) -- Fixed bug #38096 (large timeout values ignored on 32bit machines in - stream_socket_accept() and stream_socket_client()). (Ilia) -- Fixed bug #38086 (stream_copy_to_stream() returns 0 when maxlen is bigger - than the actual length). (Tony) -- Fixed bug #38072 (boolean arg for mysqli_autocommit() is always true on - Solaris). (Tony) -- Fixed bug #38067 (Parameters are not decoded from utf-8 when using encoding - option). (Dmitry) -- Fixed bug #38064 (ignored constructor visibility). (Marcus) -- Fixed bug #38055 (Wrong interpretation of boolean parameters). (Dmitry) -- Fixed bug #38047 ("file" and "line" sometimes not set in backtrace from - inside error handler). (Dmitry) -- Fixed bug #38019 (segfault extending mysqli class). (Dmitry) -- Fixed bug #38005 (SoapFault faultstring doesn't follow encoding rules). - (Dmitry) -- Fixed bug #38004 (Parameters in SoapServer are decoded twice). (Dmitry) -- Fixed bug #38003 (in classes inherited from MySQLi it's possible to call - private constructors from invalid context). (Tony) -- Fixed bug #37987 (invalid return of file_exists() in safe mode). (Ilia) -- Fixed bug #37947 (zend_ptr_stack reallocation problem). (Dmitry) -- Fixed bug #37945 (pathinfo() cannot handle argument with special characters - like German "Umlaut"). (Mike) -- Fixed bug #37931 (possible crash in OCI8 after database restart - when using persistent connections). (Tony) -- Fixed bug #37923 (Display constant value in reflection::export). (Johannes) -- Fixed bug #37920 (compilation problems on z/OS). (Tony) -- Fixed bug #37870 (pgo_pgsql tries to de-allocate unused statements). - (Ilia, ce at netage dot bg) -- Fixed bug #37864 (file_get_contents() leaks on empty file). (Hannes) -- Fixed bug #37862 (Integer pointer comparison to numeric value). - (bugs-php at thewrittenword dot com) -- Fixed bug #37846 (wordwrap() wraps incorrectly). (ddk at krasn dot ru, Tony) -- Fixed bug #37816 (ReflectionProperty does not throw exception when accessing - protected attribute). (Marcus) -- Fixed bug #37811 (define not using toString on objects). (Marcus) -- Fixed bug #37807 (segmentation fault during SOAP schema import). (Tony) -- Fixed bug #37806 (weird behavior of object type and comparison). (Marcus) -- Fixed bug #37780 (memory leak trying to execute a non existing file (CLI)). - (Mike) -- Fixed bug #37779 (empty include_path leads to search for files inside /). - (jr at terragate dot net, Ilia) -- Fixed bug #37747 (strtotime segfaults when given "nextyear"). (Derick) -- Fixed bug #37720 (merge_php_config scrambles values). - (Mike, pumuckel at metropolis dot de) -- Fixed bug #37709 (Possible crash in PDO::errorCode()). (Ilia) -- Fixed bug #37707 (clone without assigning leaks memory). (Ilia, Nuno, Dmitri) -- Fixed bug #37705 (Semaphore constants not available). (Ilia) -- Fixed bug #37671 (MySQLi extension fails to recognize BIT column). (Ilia) -- Fixed bug #37667 (Object is not added into array returned by __get). (Marcus) -- Fixed bug #37635 (parameter of pcntl signal handler is trashed). (Mike) -- Fixed bug #37632 (Protected method access problem). (Marcus) -- Fixed bug #37630 (MySQL extensions should link against thread safe client - libs if built with ZTS). (Mike) -- Fixed bug #37620 (mysqli_ssl_set validation is inappropriate). (Georg) -- Fixed bug #37616 (DATE_RFC822 does not product RFC 822 dates). - (Hannes Magnusson, Derick) -- Fixed bug #37614 (Class name lowercased in error message). (Johannes) -- Fixed bug #37587 (var without attribute causes segfault). (Marcus) -- Fixed bug #37586 (Bumped minimum PCRE version to 6.6, needed for recursion - limit support). (Ilia) -- Fixed bug #37581 (oci_bind_array_by_name clobbers input array when using - SQLT_AFC, AVC). (Tony) -- Fixed bug #37569 (WDDX incorrectly encodes high-ascii characters). (Ilia) -- Fixed bug #37565 (Using reflection::export with simplexml causing a crash). - (Marcus) -- Fixed bug #37564 (AES privacy encryption not possible due to net-snmp 5.2 - compatibility issue). (Jani, patch by scott dot moynes+php at gmail dot com) -- Fixed bug #37563 (array_key_exists performance is poor for &$array). (Ilia) -- Fixed bug #37558 (timeout functionality doesn't work after a second PHP - start-up on the same thread). (p dot desarnaud at wanadoo dot fr) -- Fixed bug #37531 (oci8 persistent connection corruption). (Tony) -- Fixed bug #37523 (namespaces added too late, leads to missing xsi:type - attributes. Incompatibility with libxml2-2.6.24). (Dmitry) -- Fixed bug #37514 (strtotime doesn't assume year correctly). (Derick) -- Fixed bug #37510 (session_regenerate_id changes session_id() even on - failure). (Hannes) -- Fixed bug #37505 (touch() truncates large files). (Ilia) -- Fixed bug #37499 (CLI segmentation faults during cleanup with sybase-ct - extension enabled). (Tony) -- Fixed bug #37496 (FastCGI output buffer overrun). (Piotr, Dmitry) -- Fixed bug #37487 (oci_fetch_array() array-type should always default to - OCI_BOTH). (Tony) -- Fixed bug #37457 (Crash when an exception is thrown in accept() method of - FilterIterator). (Marcus) -- Fixed bug #37456 (DOMElement->setAttribute() loops forever). (Rob) -- Fixed bug #37445 (Fixed crash in pdo_mysql resulting from premature object - destruction). (Ilia) -- Fixed bug #37428 (PHP crashes on windows if there are start-up errors and - event log is used for logging them). (Edin) -- Fixed bug #37418 (tidy module crashes on shutdown). (Tony) -- Fixed bug #37416 (iterator_to_array() hides exceptions thrown in rewind() - method). (Tony) -- Fixed bug #37413 (Rejected versions of flex that don't work). (Ilia) -- Fixed bug #37395 (recursive mkdir() fails to create nonexistent directories - in root dir). (Tony) -- Fixed bug #37394 (substr_compare() returns an error when offset equals - string length). (Ilia) -- Fixed bug #37392 (Unnecessary call to OCITransRollback() at the end of - request). (Tony) -- Fixed bug #37376 (fastcgi.c compile fail with gcc 2.95.4). (Ilia) -- Fixed bug #37368 (Incorrect timestamp returned for strtotime()). (Derick) -- Fixed bug #37363 (PDO_MYSQL does not build if no other mysql extension is - enabled). (Mike) -- Fixed bug #37348 (make PEAR install ignore open_basedir). (Ilia) -- Fixed bug #37341 ($_SERVER in included file is shortened to two entries, - if $_ENV gets used). (Dmitry) -- Fixed bug #37313 (sigemptyset() used without including ). - (jdolecek) -- Fixed bug #37306 (max_execution_time = max_input_time). (Dmitry) -- Fixed bug #37278 (SOAP not respecting uri in __soapCall). (Dmitry) -- Fixed bug #37265 (Added missing safe_mode & open_basedir checks to - imap_body()). (Ilia) -- Fixed bug #37262 (var_export() does not escape \0 character). (Ilia) -- Fixed bug #37256 (php-fastcgi doesn't handle connection abort). (Dmitry) -- Fixed bug #37244 (Added strict flag to base64_decode() that enforces - RFC3548 compliance). (Ilia) -- Fixed bug #37144 (PHP crashes trying to assign into property of dead object). - (Dmitry) -- Fixed bug #36949 (invalid internal mysqli objects dtor). (Mike) -- Implement #36732 (req/x509 extensions support for openssl_csr_new and - openssl_csr_sign) (ben at psc dot edu, Pierre) -- Fixed bug #36759 (Objects destructors are invoked in wrong order when script - is finished). (Dmitry) -- Fixed bug #36681 (pdo_pgsql driver incorrectly ignored some errors). - (Wez, Ilia) -- Fixed bug #36630 (umask not reset at the end of the request). (Ilia) -- Fixed bug #36515 (Unlinking buckets from non-existent brigades). (Sara) -- Fixed bug #35973 (Error ORA-24806 occurs when trying to fetch a NCLOB - field). (Tony) -- Fixed bug #35886 (file_get_contents() fails with some combinations of - offset & maxlen). (Nuno) -- Fixed bug #35512 (Lack of read permission on main script results in - E_WARNING rather then E_ERROR). (Ilia) -- Fixed bug #34180 (--with-curlwrappers causes PHP to disregard some HTTP - stream context options). (Mike) -- Fixed bug #34066 (recursive array_walk causes segfault). (Tony) -- Fixed bug #34065 (throw in foreach causes memory leaks). (Dmitry) -- Fixed bug #34005 (oci_password_change() fails). - (pholdaway at technocom-wireless dot com, Tony) -- Fixed bug #33895 (Missing math constants). (Hannes) -- Fixed bug #33770 (https:// or ftps:// do not work when --with-curlwrappers - is used and ssl certificate is not verifiable). (Ilia) -- Fixed bug #29538 (number_format and problem with 0). (Matt Wilmas) -- Implement #28382 (openssl_x509_parse() extensions support) (Pierre) -- Fixed PECL bug #9061 (oci8 might reuse wrong persistent connection). (Tony) -- Fixed PECL bug #8816 (issue in php_oci_statement_fetch with more than one - piecewise column) (jeff at badtz-maru dot com, Tony) -- Fixed PECL bug #8112 (OCI8 persistent connections misbehave when Apache - process times out). (Tony) -- Fixed PECL bug #7755 (error selecting DOUBLE fields with PDO_ODBC). - ("slaws", Wez) - - -04 May 2006, PHP 5.1.4 -- Added "capture_peer_cert" and "capture_peer_cert_chain" context options - for SSL streams. (Wez). -- Added PDO::PARAM_EVT_* family of constants. (Sara) -- Fixed possible crash in highlight_string(). (Dmitry) -- Fixed bug #37291 (FastCGI no longer works with isapi_fcgi.dll). (Dmitry) -- Fixed bug #37277 (cloning Dom Documents or Nodes does not work). (Rob) -- Fixed bug #37276 (problems with $_POST array). (Dmitry) -- Fixed bug #36632 (bad error reporting for pdo_odbc exec UPDATE). (Wez). -- Fixed bug #35552 (crash when pdo_odbc prepare fails). (Wez). - -28 Apr 2006, PHP 5.1.3 -- Updated bundled PCRE library to version 6.6. (Andrei) -- Moved extensions to PECL: - . ext/msession (Derick) -- Reimplemented FastCGI interface. (Dmitry) -- Improved SPL: (Marcus) - - Fixed issues with not/double calling of constructors of SPL iterators. - - Fixed issues with info-class/file-class in SPL directory handling classes. - - Fixed ArrayIterator::seek(). - - Added SimpleXMLIterator::count(). - - Dropped erroneous RecursiveDirectoryIterator::getSubPathInfo(). -- Improved SimpleXML: (Marcus, Rob) - . Added SimpleXMLElement::getName() to retrieve name of element. - . Added ability to create elements on the fly. - . Added addChild() method for element creation supporting namespaces. - . Added addAttribute() method for attribute creation supporting namespaces. - . Added ability to delete specific elements and attributes by offset. -- Improved Reflection API: (Marcus) - . Added ReflectionClass::newInstanceArgs($args). - . Added ability to analyze extension dependency. - . Added ReflectionFunction::isDeprecated() and constant IS_DEPRECATED. - . Added ReflectionParameter::getDeclaringClass(). - . Changed reflection constants to be prefixed with IS_. (Johannes) -- Improved cURL extension: (Ilia) - . Added curl_setopt_array() function that allows setting of multiple - options via an associated array. - . Added the ability to retrieve the request message sent to the server. -- Improved GD extension: (Pierre) - . Added a weak/tolerant mode to the JPEG loader. - . Added filtering mode option to imagepng() to allow reducing file size. - . Fixed imagecolorallocate() and imagecolorallocatelapha() to return FALSE - on error. -- Changed get_headers() to retrieve headers also from non-200 responses. - (Ilia) -- Changed get_headers() to use the default context. (Ilia) -- Added lchown() and lchgrp() to change user/group ownership of symlinks. - (Derick) -- Added support for exif date format in strtotime(). (Derick) -- Added a check for special characters in the session name. (Ilia) -- Added "consumed" stream filter. (Marcus) -- Added new mysqli constants for BIT and NEW_DECIMAL field types: - MYSQLI_TYPE_NEWDECIMAL and MYSQLI_TYPE_BIT. FR #36007. (Georg) -- Added imap_savebody() that allows message body to be written to a - file. (Mike) -- Added overflow checks to wordwrap() function. (Ilia) -- Added support for BINARY_DOUBLE and BINARY_FLOAT to PDO_OCI and OCI8 - (also fixes bug #36764). (Tony) -- Eliminated run-time constant fetching for TRUE, FALSE and NULL. (Dmitry) -- Removed the E_STRICT deprecation notice from "var". (Ilia) -- Fixed reading stream filters never notified about EOF. (Mike) -- Fixed tempnam() 2nd parameter to be checked against path components. (Ilia) -- Fixed a bug that would not fill in the fifth argument to preg_replace() - properly, if the variable was not declared previously. (Andrei) -- Fixed safe_mode check for source argument of the copy() function. (Ilia) -- Fixed mysqli bigint conversion under Windows (Georg) -- Fixed XSS inside phpinfo() with long inputs. (Ilia) -- Fixed Apache2 SAPIs header handler modifying header strings. (Mike) -- Fixed 'auto_globals_jit' to work together with 'register_argc_argv'. (Dmitry) -- Fixed offset/length parameter validation in substr_compare() function. (Ilia) -- Fixed debug_zval_dump() to support private and protected members. (Dmitry) -- Fixed SoapFault::getMessage(). (Dmitry) -- Fixed issue with iconv_mime_decode where the "encoding" would only allow - upper case specifiers. (Derick) -- Fixed tiger hash algorithm generating wrong results on big endian platforms. - (Mike) -- Fixed crash with DOMImplementation::createDocumentType("name:"). (Mike) -- Fixed bug #37205 (Serving binary content/images fails with "comm with server - aborted" FastCGI err). (Dmitry) -- Fixed bug #37192 (cc may complain about non-constant initializers in - hash_adler.c). (Mike) -- Fixed bug #37191 (chmod takes off sticky bit when safe_mode is On). (Tony) -- Fixed bug #37167 (PDO segfaults when throwing exception from the - fetch handler). (Tony) -- Fixed bug #37162 (wddx does not build as a shared extension). - (jdolecek at NetBSD dot org, Ilia) -- Fixed bug #37158 (fread behavior changes after calling - stream_wrapper_register). (Wez) -- Fixed bug #37138 (__autoload tries to load callback'ed self and parent). - (Dmitry) -- Fixed bug #37103 (libmbfl headers not installed). (Jani) -- Fixed bug #37062 (compile failure on ARM architecture). (Tony) -- Fixed bug #37061 (curl_exec() doesn't zero-terminate binary strings). (Tony) -- Fixed bug #37060 (Type of retval of Countable::count() is not checked). - (Johannes) -- Fixed bug #37059 (oci_bind_by_name() doesn't support RAW and LONG RAW - fields). (Tony) -- Fixed bug #37057 (xmlrpc_decode() may produce arrays with numeric strings, - which are unaccessible). (Tony) -- Fixed bug #37055 (incorrect reference counting for persistent OCI8 - connections). (Tony) -- Fixed bug #37054 (SoapClient Error Fetching http headers). (Dmitry) -- Fixed bug #37053 (html_errors with internal classes produces wrong links). - (Tony) -- Fixed bug #37046 (foreach breaks static scope). (Dmitry) -- Fixed bug #37045 (Fixed check for special chars for http redirects). (Ilia) -- Fixed bug #37017 (strtotime fails before 13:00:00 with some time zones - identifiers). (Derick) -- Fixed bug #37002 (Have to quote literals in INI when concatenating with - vars). (Dmitry)z -- Fixed bug #36988 (mktime freezes on long numbers). (Derick) -- Fixed bug #36981 (SplFileObject->fgets() ignores max_length). (Tony) -- Fixed bug #36957 (serialize() does not handle recursion). (Ilia) -- Fixed bug #36944 (strncmp & strncasecmp do not return false on negative - string length). (Tony) -- Fixed bug #36941 (ArrayIterator does not clone itself). (Marcus) -- Fixed bug #36934 (OCILob->read() doesn't move internal pointer when - reading 0's). (Tony) -- Fixed bug #36908 (wsdl default value overrides value in soap request). - (Dmitry) -- Fixed bug #36898 (__set() leaks in classes extending internal ones). - (Tony, Dmitry) -- Fixed bug #36886 (User filters can leak buckets in some situations). (Ilia) -- Fixed bug #36878 (error messages are printed even though an exception has - been thrown). (Tony) -- Fixed bug #36875 (is_*() functions do not account for open_basedir). (Ilia) -- Fixed bug #36872 (session_destroy() fails after call to - session_regenerate_id(true)). (Ilia) -- Fixed bug #36869 (memory leak in output buffering when using chunked - output). (Tony) -- Fixed bug #36859 (DOMElement crashes when calling __construct when - cloning). (Tony) -- Fixed bug #36857 (Added support for partial content fetching to the - HTTP streams wrapper). (Ilia) -- Fixed bug #36851 (Documentation and code discrepancies for NULL - data in oci_fetch_*() functions). (Tony) -- Fixed bug #36825 (Exceptions thrown in ArrayObject::offsetGet cause - segfault). (Tony) -- Fixed bug #36820 (Privileged connection with an Oracle password file - fails). (Tony) -- Fixed bug #36809 (__FILE__ behavior changed). (Dmitry) -- Fixed bug #36808 (syslog ident becomes garbage between requests). (Tony) -- Fixed bug #36802 (mysqli_set_charset() crash with a non-open connection). - (Ilia) -- Fixed bug #36756 (DOMDocument::removeChild corrupts node). (Rob) -- Fixed bug #36749 (SOAP: 'Error Fetching http body' when using HTTP Proxy). - (Dmitry) -- Fixed bug #36745 (No error message when load data local file isn't found). - (Georg) -- Fixed bug #36743 (In a class extending XMLReader array properties are not - writable). (Tony) -- Fixed bug #36727 (segfault in pdo_pgsql bindValue() when no parameters are - defined). (Tony) -- Fixed bug #36721 (The SoapServer is not able to send a header that it didn't - receive). (Dmitry) -- Fixed bug #36697 (Transparency is lost when using imagecreatetruecolor). - (Pierre) -- Fixed bug #36689 (Removed arbitrary limit on the length of syslog messages). - (Ilia) -- Fixed bug #36656 (http_build_query generates invalid URIs due to use of - square brackets). (Mike) -- Fixed bug #36638 (strtotime() returns false when 2nd argument < 1). (Derick) -- Fixed bug #36629 (SoapServer::handle() exits on SOAP faults). (Dmitry) -- Fixed bug #36625 (pg_trace() does not work). (iakio at mono-space dot net) -- Fixed bug #36614 (Segfault when using Soap). (Dmitry) -- Fixed bug #36611 (assignment to SimpleXML object attribute changes argument - type to string). (Tony) -- Fixed bug #36606 (pg_query_params() changes arguments type to string). (Tony) -- Fixed bug #36599 (DATE_W3C format constant incorrect). (Derick) -- Fixed bug #36575 (SOAP: Incorrect complex type instantiation with - hierarchies). (Dmitry) -- Fixed bug #36572 (Added PDO::MYSQL_ATTR_DIRECT_QUERY constant that should - be set when executing internal queries like "show master status" via MySQL). - (Ilia) -- Fixed bug #36568 (memory_limit setting on win32 has no effect). (Dmitry) -- Fixed bug #36513 (comment will be outputted in last line). (Dmitry) -- Fixed bug #36510 (strtotime() fails to parse date strings with tabs). - (Ilia, Derick) -- Fixed bug #36459 (Incorrect adding PHPSESSID to links, which contains \r\n). - (Ilia) -- Fixed bug #36458 (sleep() accepts negative values). (Ilia) -- Fixed bug #36436 (DBA problem with Berkeley DB4). (Marcus) -- Fixed bug #36434 (Improper resolution of declaring class name of an - inherited property). (Ilia) -- Fixed bug #36420 (segfault when access result->num_rows after calling - result->close()). (Ilia,Tony) -- Fixed bug #36403 (oci_execute() no longer supports OCI_DESCRIBE_ONLY). (Tony) -- Fixed bug #36400 (Custom 5xx error does not return correct HTTP response error - code). (Tony) -- Fixed bug #36396 (strtotime() fails to parse dates in dd-mm-yyyy format). - (Derick) -- Fixed bug #36388 (ext/soap crashes when throwing exception and session - persistence). (David) -- Fixed bug #36382 (PDO/PgSQL's getColumnMeta() crashes). (Derick) -- Fixed bug #36359 (splFileObject::fwrite() doesn't write when no data - length specified). (Tony) -- Fixed bug #36351 (parse_url() does not parse numeric paths properly). (Ilia) -- Fixed bug #36345 (PDO/MySQL problem loading BLOB over 1MB). (Ilia) -- Fixed bug #36337 (ReflectionProperty fails to return correct visibility). - (Ilia) -- Fixed bug #36334 (Added missing documentation about realpath cache INI - settings). (Ilia) -- Fixed bug #36308 (ReflectionProperty::getDocComment() does not reflect - extended class commentary). (Ilia) -- Fixed bug #36306 (crc32() differ on 32-bit and 64-bit platforms) - (anight@eyelinkmedia dot com, Pierre) -- Fixed bug #36303 (foreach on error_zval produces segfault). (Dmitry) -- Fixed bug #36295 (typo in SplFileObject::flock() parameter name). (Tony) -- Fixed bug #36287 (Segfault with SplFileInfo conversion). (Marcus) -- Fixed bug #36283 (SOAPClient Compression Broken). (Dmitry) -- Fixed bug #36268 (Object destructors called even after fatal errors). (Dmitry) -- Fixed bug #36258 (SplFileObject::getPath() may lead to segfault). (Tony) -- Fixed bug #36250 (PHP causes ORA-07445 core dump in Oracle server 9.2.x). - (Tony) -- Fixed bug #36242 (Possible memory corruption in stream_select()). (Tony) -- Fixed bug #36235 (ocicolumnname returns false before a successful fetch). - (Tony) -- Fixed bug #36226 (Inconsistent handling when passing potential arrays). - (Dmitry) -- Fixed bug #36224 (date(DATE_ATOM) gives wrong results). - (Derick, Hannes Magnusson) -- Fixed bug #36222 (errorInfo in PDOException is always NULL). (Ilia) -- Fixed bug #36208 (symbol namespace conflicts using bundled gd). (Jakub Moc) -- Fixed bug #36205 (Memory leaks on duplicate cookies). (Dmitry) -- Fixed bug #36185 (str_rot13() crash on non-string parameter). (Pierre) -- Fixed bug #36176 (PDO_PGSQL - PDO::exec() does not return number of rows - affected by the operation). (Ilia) -- Fixed bug #36158 (SIGTERM is not handled correctly when running as a - FastCGI server). (Dmitry) -- Fixed bug #36152 (problems with curl+ssl and pgsql+ssl in same PHP). (Mike) -- Fixed bug #36148 (unpack("H*hex", $data) is adding an extra character to - the end of the string). (Ilia) -- Fixed bug #36134 (DirectoryIterator constructor failed to detect empty - directory names). (Ilia) -- Fixed bug #36113 (Reading records of unsupported type causes segfault). - (Tony) -- Fixed bug #36096 (oci_result() returns garbage after oci_fetch() failed). - (Tony) -- Fixed bug #36083 (SoapClient waits for responses on one-way operations). - (Dmitry) -- Fixed bug #36071 (Engine Crash related with 'clone'). (Dmitry) -- Fixed bug #36055 (possible OCI8 crash in multi-threaded environment). (Tony) -- Fixed bug #36046 (parse_ini_file() miscounts lines in multi-line values). - (Ilia) -- Fixed bug #36038 (ext/hash compile failure on Mac OSX). (Tony) -- Fixed bug #36037 (heredoc adds extra line number). (Dmitry) -- Fixed bug #36016 (realpath cache memleaks). (Dmitry, Nuno) -- Fixed bug #36011 (Strict errormsg wrong for call_user_func() and the likes). - (Marcus) -- Fixed bug #36010 (Segfault when re-creating and re-executing statements with - bound parameters). (Tony) -- Fixed bug #36006 (Problem with $this in __destruct()). (Dmitry) -- Fixed bug #35999 (recursive mkdir() does not work with relative path - like "foo/bar"). (Tony) -- Fixed bug #35998 (SplFileInfo::getPathname() returns unix style filenames - in win32). (Marcus) -- Fixed bug #35988 (Unknown persistent list entry type in module shutdown). - (Dmitry) -- Fixed bug #35954 (Fatal com_exception casting object). (Rob) -- Fixed bug #35900 (stream_select() should warning when tv_sec is negative). - (Ilia) -- Fixed bug #35785 (SimpleXML causes memory read error zend engine). (Marcus) -- Fixed bug #34272 (empty array onto COM object blows up). (Rob) -- Fixed bug #33292 (apache_get_modules() crashes on Windows). (Edin) -- Fixed bug #29476 (sqlite_fetch_column_types() locks the database forever). - (Ilia) - -12 Jan 2006, PHP 5.1.2 -- Updated libsqlite in ext/sqlite to 2.8.17. (Ilia) -- Updated libsqlite in ext/pdo_sqlite to 3.2.8. (Ilia) -- Updated to libxml2-2.6.22 and libxslt-1.1.15 in the win32 bundle. (Rob) -- Added new extensions: (Ilia, Wez) - . XMLWriter - . Hash -- Added PNG compression support to GD extension. (Pierre) -- Added reflection constants as class constants. (Johannes) -- Added --enable-gcov configure option to enable C-level code coverage. - (John, Jani, Ilia, Marcus) -- Added missing support for 'B' format identifier to date() function. (Ilia) -- Changed reflection to be an extension. (Marcus) -- Improved SPL extension: (Marcus) - . Added class SplFileInfo as root class for DirectoryIterator and - SplFileObject - . Added SplTempFileObject -- Improved SimpleXML extension: (Marcus) - . Fixed memleaks - . Fixed var_dump() - . Fixed isset/empty/(bool) behavior - . Fixed iterator edge cases - . Added methods getNamespaces(), getDocNamespaces() -- Upgraded pear to version 1.4.6. (Greg) -- Added constants for libxslt and libexslt versions: LIBXSLT_VERSION, - LIBXSLT_DOTTED_VERSION, LIBEXSLT_VERSION and LIBEXSLT_DOTTED_VERSION. (Pierre) -- Fixed possible crash in apache_getenv()/apache_setenv() on invalid parameters. - (Ilia) -- Changed errors to warnings in imagecolormatch(). (Pierre) -- Fixed segfault/leak in imagecolormatch(). (Pierre) -- Fixed small leak in mysqli_stmt_fetch() when bound variable was empty string. - (Andrey) -- Fixed prepared statement name conflict handling in PDO_PGSQL. (Thies, Ilia) -- Fixed memory corruption when PDO::FETCH_LAZY mode is being used. (Ilia) -- Fixed possible leaks in imagecreatefromstring() with invalid data. (Pierre) -- Fixed possible memory corruption inside mb_strcut(). (Ilia) -- Fixed possible header injection by limiting each header to a single line. - (Ilia) -- Fixed possible XSS inside error reporting functionality. (Ilia) -- Fixed many bugs in OCI8. (Tony) -- Fixed crash and leak in mysqli when using 4.1.x client libraries and - connecting to 5.x server. (Andrey) -- Fixed bug #35916 (Duplicate calls to stream_bucket_append() lead to a crash). - (Ilia) -- Fixed bug #35908 (curl extension uses undefined GCRY_THREAD_OPTIONS_USER). - (Ilia) -- Fixed bug #35907 (PDO_OCI uses hardcoded lib path $ORACLE_HOME/lib). (Tony) -- Fixed bug #35887 (wddx_deserialize not parsing dateTime fields properly). - (Derick) -- Fixed bug #35885 (strtotime("NOW") no longer works). (Derick) -- Fixed bug #35821 (array_map() segfaults when exception is throwed from - the callback). (Tony) -- Fixed bug #35817 (unpack() does not decode odd number of hexadecimal values). - (Ilia) -- Fixed bug #35797 (segfault on PDOStatement::execute() with - zend.ze1_compatibility_mode = On). (Tony, Ilia) -- Fixed bug #35781 (stream_filter_append() can cause segfault). (Tony) -- Fixed bug #35760 (sybase_ct doesn't compile on Solaris using old gcc). (Tony) -- Fixed bug #35759 (mysqli_stmt_bind_result() makes huge allocation when - column empty). (Andrey) -- Fixed bug #35751 (using date with a timestamp makes httpd segfault). (Derick) -- Fixed bug #35740 (memory leak when including a directory). (Tony) -- Fixed bug #35730 (ext/mssql + freetds: Use correct character encoding - and allow setting it). (Frank) -- Fixed bug #35723 (xmlrpc_introspection.c fails compile per C99 std). (Jani) -- Fixed bug #35720 (A final constructor can be overwritten). (Marcus) -- Fixed bug #35713 (getopt() returns array with numeric strings when passed - options like '-1'). (Tony) -- Fixed bug #35705 (strtotime() fails to parse soap date format without TZ). - (Ilia) -- Fixed bug #35699 (date() can't handle leap years before 1970). (Derick) -- Fixed bug #35694 (Improved error message for invalid fetch mode). (Ilia) -- Fixed bug #35692 (iconv_mime_decode() segmentation fault; with libiconv - only). (Tony) -- Fixed bug #35690 (pack() tries to allocate huge memory block when packing - float values to strings). (Tony) -- Fixed bug #35669 (imap_mail_compose() crashes with - multipart-multiboundary-email). (Ilia) -- Fixed bug #35660 (AIX TZ variable format not understood, yields UTC - timezone). (Derick) -- Fixed bug #35655 (whitespace following end of heredoc is lost). (Ilia) -- Fixed bug #35630 (strtotime() crashes on certain relative identifiers). - (Ilia) -- Fixed bug #35629 (crash in http:// wrapper on multiple redirects). (Ilia) -- Fixed bug #35624 (strtotime() does not handle 3 character weekdays). (Ilia) -- Fixed bug #35612 (iis6 Access Violation crash). (Dmitry, alacn.uhahaa) -- Fixed bug #35594 (Multiple calls to getopt() may result in a crash). - (rabbitt at gmail dot com, Ilia) -- Fixed bug #35571 (Fixed crash in Apache 2 SAPI when more then one php - script is loaded via SSI include). (Ilia) -- Fixed bug #35570 (segfault when re-using soap client object). (Dmitry) -- Fixed bug #35558 (mktime() interpreting 3 digit years incorrectly). (Ilia) -- Fixed bug #35543 (php crash when calling non existing method of a class - that extends PDO). (Tony) -- Fixed bug #35539 (typo in error message for ErrorException). (Tony) -- FIxed bug #35536 (mysql_field_type() doesn't handle NEWDECIMAL). (Tony) -- Fixed bug #35517 (mysql_stmt_fetch returns NULL on data truncation). (Georg) -- Fixed bug #35509 (string constant as array key has different behavior inside - object). (Dmitry) -- Fixed bug #35508 (PDO fails when unknown fetch mode specified). (Tony) -- Fixed bug #35499 (strtotime() does not handle whitespace around the date - string). (Ilia) -- Fixed bug #35496 (Crash in mcrypt_generic()/mdecrypt_generic() without - proper init). (Ilia) -- Fixed bug #35490 (socket_sendto() unable to handle IPv6 addresses). (Tony) -- Fixed bug #35461 (Ming extension fails to compile with ming 0.3beta1). (Jani) -- Fixed bug #35437 (Segfault or Invalid Opcode 137/1/4). (Dmitry) -- Fixed bug #35470 (Assigning global using variable name from array doesn't - function). (Dmitry) -- Fixed bug #35456 (+ 1 [time unit] format did not work). (Ilia) -- Fixed bug #35447 (xml_parse_into_struct() chokes on the UTF-8 BOM). (Rob) -- Fixed bug #35431 (PDO crashes when using LAZY fetch with fetchAll). (Wez) -- Fixed bug #35430 (PDO crashes on incorrect FETCH_FUNC use). (Tony) -- Fixed bug #35427 (str_word_count() handles '-' incorrectly). (Ilia) -- Fixed bug #35425 (idate() function ignores timezone settings). (Ilia) -- Fixed bug #35422 (strtotime() does not parse times with UTC as timezone). - (Ilia) -- Fixed bug #35414 (strtotime() no longer works with ordinal suffix). (Ilia) -- Fixed bug #35410 (wddx_deserialize() doesn't handle large ints as keys - properly). (Ilia) -- Fixed bug #35409 (undefined reference to 'rl_completion_matches'). (Jani) -- Fixed bug #35399 (Since fix of bug #35273 SOAP decoding of - soapenc:base64binary fails). (Dmitry) -- Fixed bug #35393 (changing static protected members from outside the class, - one more reference issue). (Dmitry) -- Fixed bug #35381 (ssl library is not initialized properly). (Alan) -- Fixed bug #35377 (PDO_SQLITE: undefined reference to "fdatasync"). - (Nuno, Jani) -- Fixed bug #35373 (HP-UX "alias not allowed in this configuration"). (Dmitry) -- Fixed bug #35288 (iconv() function defined as libiconv()). (Nuno) -- Fixed bug #35103 (mysqli handles bad unsigned (big)int incorrectly).(Andrey) -- Fixed bug #35062 (socket_read() produces warnings on non blocking sockets). - (Nuno, Ilia) -- Fixed bug #35028 (SimpleXML object fails FALSE test). (Marcus) -- Fixed bug #34729 (Crash in ZTS mode under Apache). (Dmitry, Zeev) -- Fixed bug #34429 (Output buffering cannot be turned off with FastCGI). - (Dmitry, Ilya) -- Fixed bug #34359 (Possible crash inside fopen http wrapper). (Ilia,Sara,Nuno) -- Fixed bug #33789 (Many Problems with SunFuncs). (Derick) -- Fixed bug #33671 (sun_rise and sun_set don't return a GMT timestamp if one - passes an offset). (Derick) -- Fixed bug #32820 (date_sunrise and date_sunset don't handle GMT offset - well). (Derick) -- Fixed bug #31347 (is_dir and is_file (incorrectly) return true for any string - greater then 255 characters). (Nuno,Ilia) -- Fixed bug #30937 (date_sunrise() & date_sunset() don't handle endless - day/night at high latitudes). (Derick) -- Fixed bug #30760 (Remove MessageBox on win32 for E_CORE errors if - display_startup_error is off). (Ilia) -- Fixed bug #29955 (mb_strtoupper() / lower() broken with Turkish encoding). - (Rui) -- Fixed bug #28899 (mb_substr() and substr() behave differently when - "mbstring.func_overload" is enabled). (Rui) -- Fixed bug #27678 (number_format() crashes with large numbers). (Marcus) - -28 Nov 2005, PHP 5.1.1 -- Disabled native date class to prevent pear::date conflict. (Ilia) -- Changed reflection constants be both PHP and class constants. (Johannes) -- Added an additional field $frame['object'] to the result array of - debug_backtrace() that contains a reference to the respective object when the - frame was called from an object. (Sebastian) -- Fixed bug #35423 (RecursiveDirectoryIterator doesnt appear to recurse with - RecursiveFilterIterator). (Marcus) -- Fixed bug #35413 (Removed -dev flag from Zend Engine version). (Ilia) -- Fixed bug #35411 (Regression with \{$ handling). (Ilia) -- Fixed bug #35406 (eval hangs when evall'ed code ends with comment w/o - newline). (Marcus) -- Fixed bug #35391 (pdo_mysql::exec does not return number of affected rows). - (Tony) -- Fixed bug #35382 (Comment in end of file produces fatal error). (Ilia) -- Fixed bug #35360 (exceptions in interactive mode (php -a) may cause crash). - (Dmitry) -- Fixed bug #35358 (Incorrect error messages for PDO class constants). (Ilia) -- Fixed bug #35338 (pdo_pgsql does not handle binary bound params). (Wez) -- Fixed bug #35316 (Application exception trying to create COM object). (Rob) -- Fixed bug #35170 (PHP_AUTH_DIGEST differs under Apache 1.x and 2.x). (Ilia) - -24 Nov 2005, PHP 5.1 -- Added support for class constants and static members for internal classes. - (Dmitry, Michael Wallner) -- Added "new_link" parameter to mssql_connect() (Bug #34369). (Frank) -- Added missing safe_mode checks for image* functions and cURL. (Ilia) -- Added missing safe_mode/open_basedir checks for file uploads. (Ilia) -- Added PDO_MYSQL_ATTR_USE_BUFFERED_QUERY parameter for pdo_mysql. (Ilia) -- Added date_timezone_set() function to set the timezone that the date - function will use. (Derick) -- Added pg_fetch_all_columns() function to fetch all values of a column from a - result cursor. (Ilia) -- Added support for LOCK_EX flag for file_put_contents(). (Ilia) -- Added bindto socket context option. (Ilia) -- Added offset parameter to the stream_copy_to_stream() function. (Ilia) -- Added offset & length parameters to substr_count() function. (Ilia) -- Added man pages for "phpize" and "php-config" scripts. (Jakub Vrana) -- Added support for .cc files in extensions. (Brian) -- Added PHP_INT_MAX and PHP_INT_SIZE as predefined constants. (Andrey) -- Added user opcode API that allow overloading of opcode handlers. (Dmitry) -- Added an optional remove old session parameter to session_regenerate_id(). - (Ilia) -- Added array type hinting. (Dmitry) -- Added the tidy_get_opt_doc() function to return documentation for - configuration options in tidy. (Patch by: nlopess@php.net) -- Added support for .cc files in extensions. (Brian) -- Added imageconvolution() function which can be used to apply a custom 3x3 - matrix convolution to an image. (Pierre) -- Added optional first parameter to XsltProcessor::registerPHPFunctions to - only allow certain functions to be called from XSLT. (Christian) -- Added the ability to override the autotools executables used by the - buildconf script via the PHP_AUTOCONF and PHP_AUTOHEADER environmental - variables. (Jon) -- Added several new functions to support the PostgreSQL v3 protocol introduced - in PostgreSQL 7.4. (Christopher) - . pg_transaction_status() - in-transaction status of a database connection. - . pg_query_params() - execution of parameterized queries. - . pg_prepare() - prepare named queries. - . pg_execute() - execution of named prepared queries. - . pg_send_query_params() - async equivalent of pg_query_params(). - . pg_send_prepare() - async equivalent of pg_prepare(). - . pg_send_execute() - async equivalent of pg_execute(). - . pg_result_error_field() - highly detailed error information, most - importantly - the SQLSTATE error code. - . pg_set_error_verbosity() - set verbosity of errors. -- Added optional fifth parameter "count" to preg_replace_callback() and - preg_replace() to count the number of replacements made. FR #32275. (Andrey) -- Added optional third parameter "charlist" to str_word_count() which contains - characters to be considered as word part. FR #31560. (Andrey, Ilia) -- Added interface Serializable. (Stanislav, Marcus) -- Added pg_field_type_oid() PostgreSQL function. (mauroi at digbang dot com) -- Added zend_declare_property_...() and zend_update_property_...() API - functions for bool, double and binary safe strings. (Hartmut) -- Added possibility to access INI variables from within .ini file. (Andrei) -- Added variable $_SERVER['REQUEST_TIME'] containing request start time. - (Ilia) -- Added optional float parameter to gettimeofday(). (Ilia) -- Added apache_reset_timeout() Apache1 function. (Rasmus) -- Added sqlite_fetch_column_types() 3rd argument for arrays. (Ilia) -- Added optional offset parameter to stream_get_contents() and - file_get_contents(). (Ilia) -- Added optional maxlen parameter to file_get_contents(). (Ilia) -- Added SAPI hook to get the current request time. (Rasmus) -- Added new functions: - . array_diff_key() (Andrey) - . array_diff_ukey() (Andrey) - . array_intersect_key() (Christiano Duarte) - . array_intersect_ukey() (Christiano Duarte) - . array_product() (Andrey) - . DomDocumentFragment::appendXML() (Christian) - . fputcsv() (David Sklar) - . htmlspecialchars_decode() (Ilia) - . inet_pton() (Sara) - . inet_ntop() (Sara) - . mysqli::client_info property (Georg) - . posix_access() (Magnus) - . posix_mknod() (Magnus) - . SimpleXMLElement::registerXPathNamespace() (Christian) - . stream_context_get_default() (Wez) - . stream_socket_enable_crypto() (Wez) - . stream_wrapper_unregister() (Sara) - . stream_wrapper_restore() (Sara) - . stream_filter_remove() (Sara) - . time_sleep_until() (Ilia) -- Added DomDocument::$recover property for parsing not well-formed XML - Documents. (Christian) -- Added Cursor support for MySQL 5.0.x in mysqli (Georg) -- Added proxy support to ftp wrapper via http. (Sara) -- Added MDTM support to ftp_url_stat. (Sara) -- Added zlib stream filter support. (Sara) -- Added bz2 stream filter support. (Sara) -- Added max_redirects context option that specifies how many HTTP - redirects to follow. (Ilia) -- Added support of parameter=>value arrays to - xsl_xsltprocessor_set_parameter(). (Tony) - -- PHP extension loading mechanism with support for module - dependencies and conflicts. (Jani, Dmitry) -- Improved interactive mode of PHP CLI (php -a). (Johannes, Marcus) -- Improved performance of: - . general execution/compilation. (Andi, Thies, Sterling, Dmitry, Marcus) - . switch() statement. (Dmitry) - . several array functions. (Marcus) - . virtual path handling by adding a realpath() cache. (Andi) - . variable fetches. (Andi) - . magic method invocations. (Marcus) -- Improved support for embedded server in mysqli. (Georg) -- Improved mysqli extension. (Georg) - . added constructor for mysqli_stmt and mysqli_result classes - . added new function mysqli_get_charset() - . added new function mysqli_set_charset() - . added new class mysqli_driver - . added new class mysqli_warning - . added new class mysqli_exception - . added new class mysqli_sql_exception -- Improved SPL extension. (Marcus) - . Moved RecursiveArrayIterator from examples into extension - . Moved RecursiveFilterIterator from examples into extension - . Added SplObjectStorage - . Made all SPL constants class constants - . Renamed CachingRecursiveIterator to RecursiveCachingIterator to follow - Recursive<*>Iterator naming scheme. - . added standard hierarchy of Exception classes - . added interface Countable - . added interfaces Subject and SplObserver - . added spl_autoload*() functions - . converted several 5.0 examples into c code - . added class SplFileObject - . added possibility to use a string with class_parents() and - class_implements(). (Andrey) - -- Changed type hints to allow "null" as default value for class and array. - (Marcus, Derick, Dmitry) -- Changed SQLite extension to be a shared module in Windows distribution. - (Edin) -- Changed "instanceof" and "catch" operators, is_a() and is_subclass_of() - functions to not call __autoload(). (Dmitry) -- Changed sha1_file() and md5_file() functions to use streams instead of low - level IO. (Uwe) -- Changed abstract private methods to be not allowed anymore. (Stas) -- Changed stream_filter_(ap|pre)pend() to return resource. (Sara) -- Changed mysqli_exception and sqlite_exception to use RuntimeException as - base if SPL extension is present. (Georg, Marcus) - -- Upgraded bundled libraries: - . PCRE library to version 6.2. (Andrei) - . SQLite 3 library in ext/pdo_sqlite to 3.2.7. (Ilia) - . SQLite 2 library in ext/sqlite to 2.8.16. (Ilia) -- Upgraded bundled libraries in Windows distribution. (Edin) - . zlib 1.2.3 - . curl 7.14.0 - . openssl 0.9.8 - . ming 0.3b - . libpq (PostgreSQL) 8.0.1 - -- Implemented feature request #33452 (Year belonging to ISO week). (Derick) -- Allowed return by reference from internal functions. (Marcus, Andi, Dmitry) -- Rewrote strtotime() with support for timezones and many new formats. - Implements feature requests #21399, #26694, #28088, #29150, #29585 and - #29595. (Derick) - -- Moved extensions to PECL: - . ext/cpdf (Tony, Derick) - . ext/dio (Jani, Derick) - . ext/fam (Jani, Derick) - . ext/ingres_ii (Jani, Derick) - . ext/mnogosearch (Jani, Derick) - . ext/w32api (Jani, Derick) - . ext/yp (Jani, Derick) - . ext/mcve (Jani, Derick, Pierre) - . ext/oracle (Jani, Derick) - . ext/ovrimos (Jani, Derick, Pierre) - . ext/pfpro (Jani, Derick, Pierre) - . ext/dbx (Jani, Derick) - . ext/ircg (Jani, Derick) - -- Removed php_check_syntax() function which never worked properly. (Ilia) -- Removed garbage manager in Zend Engine which results in more aggressive - freeing of data. (Dmitry, Andi) - -- Fixed "make test" to work for phpized extensions. (Hartmut, Jani) -- Fixed Apache 2 regression with sub-request handling on non-linux systems. - (Ilia, Tony) -- Fixed PDO shutdown problem (possible infinite loop running rollback on - shutdown). (Wez) -- Fixed PECL bug #3714 (PDO: beginTransaction doesn't work if you're in - auto-commit mode). (Wez) -- Fixed ZTS destruction. (Marcus) -- Fixed __get/__set to allow recursive calls for different properties. (Dmitry) -- Fixed a bug where stream_get_meta_data() did not return the "uri" element - for files opened with tmpname(). (Derick) -- Fixed a problem with SPL iterators aggregating the inner iterator. (Marcus) -- Fixed an error in mysqli_fetch_fields (returned NULL instead of an array - when row number > field_count). (Georg) -- Fixed bug in mysql::client_version(). (Georg) -- Fixed bug in mysqli extension with unsigned int(11) being represented as - signed integer in PHP instead of string in 32bit systems. (Andrey) -- Fixed bug with $HTTP_RAW_POST_DATA not getting set. (Brian) -- Fixed crash inside stream_get_line() when length parameter equals 0. (Ilia) -- Fixed ext/mysqli to allocate less memory when fetching bound params of type - (MEDIUM|LONG)BLOB/(MEDIUM|LONG)TEXT. (Andrey) -- Fixed extension initialization to respect dependencies between extensions. - (Wez) -- Fixed failing queries (FALSE returned) with mysqli_query() on 64 bit systems. - (Andrey) -- Fixed fgetcsv() and fputcsv() inconsistency. (Dmitry) -- Fixed inheritance check to control return by reference and pass by - reference correctly (ArrayAccess can no longer support references correctly). - (Marcus, Andi, Dmitry) -- Fixed initializing and argument checking for posix_mknod(). (Derick) -- Fixed memory corruption in ImageTTFText() with 64bit systems. (Andrey) -- Fixed memory corruption in pg_copy_from() in case the as_null parameter was - passed. (Derick) -- Fixed memory corruption in stristr(). (Derick) -- Fixed possible GLOBALS variable override when register_globals are ON. - (Ilia, Stefan) -- Fixed possible INI setting leak via virtual() in Apache 2 sapi. (Ilia) -- Fixed possible register_globals toggle via parse_str(). (Ilia, Stefan) -- Fixed potential GLOBALS overwrite via import_request_variables() and - possible crash and/or memory corruption. (Ilia) -- Fixed segfaults when CURL callback functions throw exception. (Tony) -- Fixed support for shared extensions on AIX. (Dmitry) -- Fixed bug #35342 (isset(DOMNodeList->length) returns false). (Rob) -- Fixed bug #35341 (Fix for bug #33760 breaks build with older curl). (Tony) -- Fixed bug #35336 (crash on PDO::FETCH_CLASS + __set()). (Tony) -- Fixed bug #35303 (PDO prepare() crashes with invalid parameters). (Ilia) -- Fixed bug #35293 (PDO segfaults when using persistent connections). (Tony) -- Fixed bug #35278 (Multiple virtual() calls crash Apache 2 php module). (Ilia) -- Fixed bug #35273 (Error in mapping soap - java types). (Dmitry) -- Fixed bug #35249 (compile failure when ext/readline is compiled as shared). - (Jani) -- Fixed bug #35248 (sqlite_query() doesn't set error_msg when return value is - being used). (Ilia) -- Fixed bug #35243 (php_mblen() crashes when compiled with thread-safety on - Linux). (Patch: shulmanb at il dot ibm dot com, Jani) -- Fixed bug #35239 (Objects can lose references). (Dmitry) -- Fixed bug #35229 (call_user_func() crashes when argument_stack is nearly - full). (Dmitry) -- Fixed bug #35197 (Destructor is not called). (Tony) -- Fixed bug #35179 (tokenizer extension needs T_HALT_COMPILER). (Greg) -- Fixed bug #35176 (include()/require()/*_once() produce wrong error messages - about main()). (Dmitry) -- Fixed bug #35147 (__HALT_COMPILER() breaks with --enable-zend-multibyte). - (Dmitry, Moriyoshi) -- Fixed bug #35143 (gettimeofday() ignores current time zone). (Derick) -- Fixed bug #35142 (SOAP Client/Server Complex Object Support). (Dmitry) -- Fixed bug #35135 (PDOStatment without related PDO object may crash). (Ilia) -- Fixed bug #35091 (SoapClient leaks memory). (Dmitry) -- Fixed bug #35079 (stream_set_blocking(true) toggles, not enables blocking). - (askalski at gmail dot com, Tony) -- Fixed bug #35078 (configure does not find ldap_start_tls_s). (Jani) -- Fixed bug #35046 (phpinfo() uses improper css enclosure). (Ilia) -- Fixed bugs #35022, #35019 (Regression in the behavior of key() and - current() functions). (Ilia) -- Fixed bug #35017 (Exception thrown in error handler may cause unexpected - behavior). (Dmitry) -- Fixed bug #35014 (array_product() always returns 0). (Ilia) -- Fixed bug #35009 (ZTS: Persistent resource destruct crashes when extension - is compiled as shared). (Dmitry) -- Fixed bug #34996 (ImageTrueColorToPalette() crashes when ncolors is zero). - (Tony) -- Fixed bug #34982 (array_walk_recursive() modifies elements outside function - scope). (Dmitry) -- Fixed bug #34977 (Compile failure on MacOSX due to use of varargs.h). (Tony) -- Fixed bug #34968 (bz2 extension fails on to build on some win32 setups). - (Ilia) -- Fixed bug #34965 (tidy is not binary safe). (Mike) -- Fixed bug #34957 (PHP doesn't respect ACLs for access checks). (Wez) -- Fixed bug #34950 (Unable to get WSDL through proxy). (Dmitry) -- Fixed bug #34938 (dns_get_record() doesn't resolve long hostnames and - leaks). (Tony) -- Fixed bug #34905 (Digest authentication does not work with Apache 1). (Ilia) -- Fixed bug #34902 (mysqli::character_set_name() - undefined method). (Tony) -- Fixed bug #34899 (Fixed sqlite extension compile failure). (Ilia) -- Fixed bug #34893 (PHP5.1 overloading, Cannot access private property). - (Dmitry) -- Fixed bug #34884 (Possible crash in ext/sqlite when sqlite.assoc_case is - being used). (Tony, Ilia) -- Fixed bug #34879 (str_replace, array_map corrupt negative array indexes on - 64-bit platforms). (Dmitry) -- Fixed bug #34873 (Segmentation Fault on foreach in object). (Dmitry) -- Fixed bug #34856 (configure fails to detect libiconv's type). (Tony) -- Fixed bug #34855 (ibase_service_attach() segfault on AMD64). - (irie at gmx dot de, Tony) -- Fixed bug #34851 (SO_RECVTIMEO and SO_SNDTIMEO socket options expect - integer parameter on Windows). (Mike) -- Fixed bug #34850 (--program-suffix and --program-prefix not included in - man page names). (Jani) -- Fixed bug #34821 (zlib encoders fail on widely varying binary data on - windows). (Mike, Ilia) -- Fixed bug #34818 (several functions crash when invalid mysqli_link object - is passed). (Tony) -- Fixed bug #34810 (mysqli::init() and others use wrong $this pointer without - checks). (Tony) -- Fixed bug #34809 (FETCH_INTO in PDO crashes without a destination object). - (Ilia) -- Fixed bug #34802 (Fixed crash on object instantiation failure). (Ilia) -- Fixed bug #34796 (missing SSL linking in ext/ftp when configured as shared). - (Jani) -- Fixed bug #34790 (preg_match_all(), named capturing groups, variable - assignment/return => crash). (Dmitry) -- Fixed bug #34788 (SOAP Client not applying correct namespace to generated - values). (Dmitry) -- Fixed bug #34787 (SOAP Client not handling boolean types correctly). (Dmitry) -- Fixed bug #34786 (2 @ results in change to error_reporting() to random - value) (Dmitry, Tony) -- Fixed bug #34785 (subclassing of mysqli_stmt does not work). (Georg) -- Fixed bug #34782 (token_get_all() gives wrong result). (Dmitry) -- Fixed bug #34777 (Crash in dblib when fetching non-existent error info). - (Ilia) -- Fixed bug #34771 (strtotime() fails with 1-12am/pm). (Derick) -- Fixed bug #34767 (Zend Engine 1 Compatibility not copying objects - correctly). (Dmitry) -- Fixed bug #34758 (PDO_DBLIB did not implement rowCount()). (Ilia) -- Fixed bug #34757 (iconv_substr() gives "Unknown error" when offset > string - length). (Tony) -- Fixed bug #34742 (ftp wrapper failures caused from segmented command - transfer). (Ilia) -- Fixed bug #34725 (CLI segmentation faults during cleanup). (Dmitry) -- Fixed bug #34723 (array_count_values() strips leading zeroes). (Tony) -- Fixed bug #34712 (zend.ze1_compatibility_mode = on segfault). (Dmitry) -- Fixed bug #34704 (Infinite recursion due to corrupt JPEG). (Marcus) -- Fixed bug #34678 (__call(), is_callable() and static methods). (Dmitry) -- Fixed bug #34676 (missing support for strtotime("midnight") and - strtotime("noon")). (Derick) -- Fixed bug #34645 (ctype corrupts memory when validating large numbers). - (Ilia) -- Fixed bug #34643 (wsdl default value has no effect). (Dmitry) -- Fixed bug #34623 (Crash in pdo_mysql on longtext fields). (Ilia) -- Fixed bug #34617 (zend_deactivate: objects_store used after - zend_objects_store_destroy is called). (Dmitry) -- Fixed bug #34590 (User defined PDOStatement class can't implement - methods). (Marcus) -- Fixed bug #34584 (Segfault with SPL autoload handler). (Marcus) -- Fixed bug #34581 (crash with mod_rewrite). (Tony, Ilia) -- Fixed bug #34565 (mb_send_mail does not fetch - mail.force_extra_parameters). (Marco, Ilia) -- Fixed bug #34557 (php -m exits with "error" 1). (Johannes) -- Fixed bug #34518 (Unset doesn't separate container in CV). (Dmitry) -- Fixed bug #34505 (Possible memory corruption when unmangling properties - with empty names). (Tony) -- Fixed bug #34478 (Incorrect parsing of url's fragment (#...)). (Dmitry) -- Fixed bug #34467 (foreach + __get + __set inconsistency). (Dmitry) -- Fixed bug #34456 (Possible crash inside pspell extension). (Ilia) -- Fixed bug #34453 (parsing http://www.w3.org/2001/xml.xsd exception). (Dmitry) -- Fixed bug #34450 (Segfault when calling mysqli_close() in destructor). (Tony) -- Fixed bug #34449 (ext/soap: XSD_ANYXML functionality not exposed). (Dmitry) -- Fixed bug #34420 (Possible crash inside curl_multi_remove_handle()). (Ilia) -- Fixed bug #34358 (Fatal error: Cannot re-assign $this). (Dmitry) -- Fixed bug #34331 (php crashes when variables_order is empty). (Ilia) -- Fixed bug #34321 (Possible crash in filter code). (Ilia) -- Fixed bug #34311 (unserialize() crashes with chars above 191 dec). (Nuno) -- Fixed bug #34310 (foreach($arr as $c->d => $x) crashes). (Dmitry) -- Fixed bug #34307 (on_modify handler not called to set the default value if - setting from php.ini was invalid). (Andrei) -- Fixed bug #34306 (wddx_serialize_value() crashes with long array keys). - (Jani) -- Fixed bug #34304 (date() doesn't have a modifier for ISO Week Day). (Derick) -- Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9). - (Derick) -- Fixed bug #34299 (ReflectionClass::isInstantiable() returns true for abstract - classes). (Marcus) -- Fixed bug #34284 (CLI phpinfo showing html on _SERVER["argv"]). (Jani) -- Fixed bug #34277 (array_filter() crashes with references and objects). - (Dmitry) -- Fixed bug #34276 (setAttributeNS doesn't work with default namespace). - (Rob) -- Fixed bug #34260 (Segfault with callbacks (array_map) + overloading). - (Dmitry) -- Fixed bug #34257 (lib64 not handled correctly in ming extension). (Marcus) -- Fixed bug #34221 (Compiling xmlrpc as shared fails other parts). (Jani) -- Fixed bug #34216 (Segfault with autoload). (Marcus) -- Fixed bug #34199 (if($obj)/if(!$obj) inconsistency because of cast handler). - (Dmitry, Alex) -- Fixed bug #34191 (ob_gzhandler does not enforce trailing \0). (Ilia) -- Fixed bug #34156 (memory usage remains elevated after memory limit is - reached). (Ilia) -- Fixed bug #34148 (+,- and . not supported as parts of scheme). (Ilia) -- Fixed bug #34137 (assigning array element by reference causes binary mess). - (Dmitry) -- Fixed bug #34103 (line numbering not maintained in dom document). (Rob) -- Fixed bug #34078 (Reflection API problems in methods with boolean or - null default values). (Tony) -- Fixed bug #34068 (Numeric string as array key not cast to integer in - wddx_deserialize()). (Ilia) -- Fixed bug #34064 (arr[] as param to function in class gives invalid - opcode). (Dmitry) -- Fixed bug #34062 (Crash in catch block when many arguments are used). - (Dmitry) -- Fixed bug #34052 (date('U') returns %ld not unix timestamp). (Nuno) -- Fixed bug #34045 (Buffer overflow with serialized object). (Dmitry) -- Fixed bug #34001 (pdo_mysql truncates numeric fields at 4 chars). (Ilia) -- Fixed bug #33999 (object remains object when cast to int). (Dmitry) -- Fixed bug #33996 (No information given for fatal error on passing invalid - value to typed argument). (Dmitry) -- Fixed bug #33989 (extract($GLOBALS,EXTR_REFS) crashes PHP). (Dmitry) -- Fixed bug #33987 (php script as ErrorDocument causes crash in Apache 2). - (Ilia) -- Fixed bug #33967 (misuse of Exception constructor doesn't display - errorfile). (Jani) -- Fixed bug #33966 (Wrong use of reflectionproperty causes a segfault). (Tony) -- Fixed bug #33963 (mssql_bind() fails on input parameters). (Frank) -- Fixed bug #33958 (duplicate cookies and magic_quotes=off may cause a crash). - (Ilia) -- Fixed bug #33957 (gmdate('W')/date('W') sometimes returns wrong week number). - (Derick) -- Fixed bug #33940 (array_map() fails to pass by reference when called - recursively). (Dmitry) -- Fixed bug #33917 (number_format() output with > 1 char separators). (Jani) -- Fixed bug #33904 (input array keys being escaped when magic quotes is off). - (Ilia) -- Fixed bug #33903 (spl_autoload_register class method). (Marcus) -- Fixed bug #33899 (CLI: setting extension_dir=some/path extension=foobar.so - does not work). (Jani) -- Fixed bug #33882 (CLI was looking for php.ini in wrong path). (Hartmut) -- Fixed bug #33869 (strtotime() problem with "+1days" format). (Ilia) -- Fixed bug #33841 (pdo sqlite driver forgets to update affected column - count on execution of prepared statments). (Ilia) -- Fixed bug #33837 (Informix ESQL version numbering schema changed). (Jani) -- Fixed bug #33829 (mime_content_type() returns text/plain for gzip and bzip - files). (Derick) -- Fixed bug #33802 (throw Exception in error handler causes crash). (Dmitry) -- Fixed bug #33771 (error_reporting falls to 0 when @ was used inside - try/catch block). (Tony) -- Fixed bug #33760 (cURL needs to implement CRYPTO_callback functions to - prevent locking). (Mike, Ilia) -- Fixed bug #33732 (Wrong behavior of constants in class and interface - extending). (Dmitry) -- Fixed bug #33723 (php_value overrides php_admin_value). (Dmitry) -- Fixed bug #33720 (mb_encode_mimeheader does not work for multibyte - chars). (Rui) -- Fixed bug #33710 (ArrayAccess objects does not initialize $this). (Dmitry) -- Fixed bug #33690 (Crash setting some ini directives in httpd.conf). (Rasmus) -- Fixed bug #33673 (Added detection for partially uploaded files). (Ilia) -- Fixed bug #33605 (substr_compare() crashes with negative offset and length). - (Tony) -- Fixed bug #33597 (setcookie() "expires" date format doesn't comply with RFC). - (Tony) -- Fixed bug #33588 (LDAP: RootDSE query not possible). (Jani) -- Fixed bug #33578 (strtotime() problem with "Oct17" format). (Derick) -- Fixed bug #33578 (strtotime() doesn't understand "11 Oct" format). (Derick) -- Fixed bug #33562 (date("") crashes). (Derick) -- Fixed bug #33558 (warning with nested calls to functions returning by - reference). (Dmitry) -- Fixed bug #33536 (strtotime() defaults to now even on non time string). - (Derick) -- Fixed bug #33532 (Different output for strftime() and date()). (Derick) -- Fixed bug #33523 (Memory leak in xmlrpc_encode_request()). (Ilia) -- Fixed bug #33520 (crash if safe_mode is on and session.save_path is changed). - (Dmitry) -- Fixed bug #33512 (Add missing support for isset()/unset() overloading to - complement the property get/set methods). (Dmitry) -- Fixed bug #33491 (crash after extending MySQLi internal class). (Tony) -- Fixed bug #33475 (cURL handle is not closed on curl_close(). (Ilia) -- Fixed bug #33469 (Compile error undefined reference to ifx_checkAPI). (Jani) -- Fixed bug #33433 (strtoll not available on Tru64). (Jani, Derick) -- Fixed bug #33427 (ext/odbc: check if unixODBC header file exists). (Jani) -- Fixed bug #33415 (strtotime() related bugs). (Derick) -- Fixed bug #33414 (Comprehensive list of incorrect days returned after - strtotime() / date() tests). (Derick) -- Fixed bug #33389 (double free() when exporting a ReflectionClass). (Marcus) -- Fixed bug #33383 (crash when retrieving empty LOBs). (Tony) -- Fixed bug #33382 (array_reverse() fails after *sort()), introduced by - zend_hash_sort() optimizations in HEAD. (Tony) -- Fixed bug #33340 (CLI Crash when calling php:function from XSLT). (Rob) -- Fixed bug #33326 (Cannot build extensions with phpize on Macosx). (Jani) -- Fixed bug #33318 (throw 1; results in Invalid opcode 108/1/8). (Dmitry) -- Fixed bug #33312 (ReflectionParameter methods do not work correctly). - (Dmitry) -- Fixed bug #33299 (php:function no longer handles returned dom objects). - (Rob, Joe Orton) -- Fixed bug #33286 (nested array_walk() calls and user array compare functions - broken; FCI cache). (Andrei, patch from m.bretz@metropolis-ag.de) -- Fixed bug #33277 (private method accessed by child class). (Dmitry) -- Fixed bug #33268 (iconv_strlen() works only with a parameter of < 3 in - length). (Ilia) -- Fixed bug #33257 (array_splice() inconsistent when passed function instead of - variable). (Dmitry) -- Fixed bug #33243 (ze1_compatibility_mode does not work as expected). (Dmitry) -- Fixed bug #33242 (Mangled error message when stream fails). (Derick) -- Fixed bug #33222 (segfault when CURL handle is closed in a callback). (Tony) -- Fixed bug #33214 (odbc_next_result does not signal SQL errors with - 2-statement SQL batches). (rich at kastle dot com, Tony) -- Fixed bug #33212 ([GCC 4]: 'zend_error_noreturn' aliased to external symbol - 'zend_error'). (Dmitry) -- Fixed bug #33210 (relax jpeg recursive loop protection). (Ilia) -- Fixed bug #33201 (Crash when fetching some data types). (Frank) -- Fixed bug #33200 (preg_replace(): magic_quotes_sybase=On makes 'e' modifier - misbehave). (Jani) -- Fixed bug #33185 (--enable-session=shared does not build). (Jani) -- Fixed bug #33171 (foreach enumerates private fields declared in base - classes). (Dmitry) -- Fixed bug #33167 (Possible crash inside pg_fetch_array()). (Ilia) -- Fixed bug #33164 (Soap extension incorrectly detects HTTP/1.1). (Ilia) -- Fixed bug #33156 (cygwin version of setitimer doesn't accept ITIMER_PROF). - (Nuno) -- Fixed bug #33153 (crash in mssql_next result). (Frank) -- Fixed bug #33150 (shtool: insecure temporary file creation). (Jani) -- Fixed bug #33136 (method offsetSet in class extended from ArrayObject crash - PHP). (Marcus) -- Fixed bug #33125 (imagecopymergegray() produces mosaic rainbow effect). - (Pierre) -- Fixed bug #33116 (crash when assigning class name to global variable in - __autoload). (Dmitry) -- Fixed bug #33090 (mysqli_prepare() doesn't return an error). (Georg) -- Fixed bug #33076 (str_ireplace() incorrectly counts result string length - and may cause segfault). (Tony) -- Fixed bug #33072 (Add a safemode/open_basedir check for runtime - "session.save_path" change using session_save_path() function). (Rasmus) -- Fixed bug #33070 (Improved performance of bzdecompress() by several orders - of magnitude). (Ilia) -- Fixed bug #33059 (crash when moving xml attribute set in dtd). (Ilia) -- Fixed bug #33057 (Don't send extraneous entity-headers on a 304 as per - RFC 2616 section 10.3.5) (Rasmus, Choitel) -- Fixed bug #33019 (socket errors cause memory leaks in php_strerror()). - (jwozniak23 at poczta dot onet dot pl, Tony). -- Fixed bug #33017 ("make distclean" gives an error with VPATH build). (Jani) -- Fixed bug #33013 ("next month" was handled wrong while parsing dates). - (Derick) -- Fixed bug #32993 (implemented Iterator function current() don't throw - exception). (Dmitry) -- Fixed bug #32981 (ReflectionMethod::getStaticVariables() causes apache2.0.54 - seg fault). (Dmitry) -- Fixed bug #32956 (mysql_bind_result() doesn't support MYSQL_TYPE_NULL). - (Georg) -- Fixed bug #32947 (Incorrect option for mysqli default password). (Georg) -- Fixed bug #32944 (Disabling session.use_cookies doesn't prevent reading - session cookies). (Jani, Tony) -- Fixed bug #32941 (Sending structured SOAP fault kills a php). (Dmitry) -- Fixed bug #32937 (open_basedir looses trailing / in the limiter). - (Adam Conrad) -- Fixed bug #32936 (http redirects URLs are not checked for control chars). - (Ilia) -- Fixed bug #32933 (Cannot extend class "SQLiteDatabase"). (Marcus) -- Fixed bug #32932 (Oracle LDAP: ldap_get_entries(), invalid pointer). (Jani) -- Fixed bug #32930 (class extending DOMDocument doesn't clone properly). (Rob) -- Fixed bug #32924 (file included with "auto_prepend_file" can be included - with require_once() or include_once()). (Stas) -- Fixed bug #32904 (pg_get_notify() ignores result_type parameter). (Tony) -- Fixed bug #32852 (Crash with singleton and __destruct when - zend.ze1_compatibility_mode = On). (Dmitry) -- Fixed bug #32833 (Invalid opcode). (Dmitry) -- Fixed bug #32813 (parse_url() does not handle scheme-only urls properly). - (Ilia) -- Fixed bug #32810 (temporary files not using plain file wrapper). (Ilia) -- Fixed bug #32809 (Missing T1LIB support on Windows). (Edin) -- Fixed bug #32802 (General cookie overrides more specific cookie). (Ilia) -- Fixed bugs #32800, #32830 (ext/odbc: Problems with 64bit systems). (Jani) -- Fixed bug #32799 (crash: calling the corresponding global var during the - destruct). (Dmitry) -- Fixed bug #32776 (SOAP doesn't support one-way operations). (Dmitry) -- Fixed bug #32773 (GMP functions break when second parameter is 0). (Stas) -- Fixed bug #32759 (incorrect determination of default value (COM)). (Wez) -- Fixed bug #32758 (Cannot access safearray properties in VB6 objects). (Wez) -- Fixed bug #32755 (Segfault in replaceChild() when DocumentFragment has no - children). (Rob) -- Fixed bug #32753 (Undefined constant SQLITE_NOTADB). (Ilia) -- Fixed bug #32742 (segmentation fault when the stream with a wrapper - is not closed). (Tony, Dmitry) -- Fixed bug #32699 (pg_affected_rows() was defined when it was not available). - (Derick) -- Fixed bug #32686 (Require/include file in destructor causes segfault). - (Marcus) -- Fixed bug #32682 (ext/mssql: Error on module shutdown when called from - activescript). (Frank) -- Fixed bug #32674 (exception in iterator causes crash). (Dmitry) -- Fixed bug #32660 (Assignment by reference causes crash when field access is - overloaded (__get)). (Dmitry) -- Fixed bug #32647 (Using register_shutdown_function() with invalid callback - can crash PHP). (Jani) -- Fixed bug #32615 (Segfault in replaceChild() using fragment when - previousSibling is NULL). (Rob) -- Fixed bug #32613 (ext/snmp: use of snmp_shutdown() causes snmpapp.conf - access errors). (Jani, ric at arizona dot edu) -- Fixed bug #32608 (html_entity_decode() converts single quotes even if - ENT_NOQUOTES is given). (Ilia) -- Fixed bug #32596 (Segfault/Memory Leak by getClass (etc) in __destruct). - (Dmitry) -- Fixed bug #32591 (ext/mysql: Unsatisfied symbol: ntohs with HP-UX). (Jani) -- Fixed bug #32589 (possible crash inside imap_mail_compose() function). - (Ilia) -- Fixed bug #32589 (Possible crash inside imap_mail_compose, with charsets). - (Ilia) -- Fixed bug #32587 (Apache2: errors sent to error_log do not include - timestamps). (Jani) -- Fixed bug #32560 (configure looks for incorrect db2 library). (Tony) -- Fixed bug #32553 (mmap loads only the 1st 2000000 bytes on Win32). (Ilia) -- Fixed bug #32533 (proc_get_status() returns the incorrect process status). - (Ilia) -- Fixed bug #32530 (chunk_split() does not append endstr if chunklen is - longer then the original string). (Ilia) -- Fixed bug #32491 (File upload error - unable to create a temporary file). - (Uwe Schindler) -- Fixed bug #32455 (wrong setting property to unset value). (Dmitry) -- Fixed bug #32429 (method_exists() always return TRUE if __call method - exists). (Dmitry) -- Fixed bug #32428 (The @ warning error suppression operator is broken). - (Dmitry) -- Fixed bug #32427 (Interfaces are not allowed 'static' access modifier). - (Dmitry) -- Fixed bug #32405 (mysqli::fetch() returns bad data - 64bit problem). - (Andrey) -- Fixed bug #32296 (get_class_methods() output has changed between 5.0.2 and - 5.0.3). (Dmitry) -- Fixed bug #32282 (Segfault in mysqli_fetch_array on 64-bit). (Georg) -- Fixed bug #32245 (xml_parser_free() in a function assigned to the xml - parser gives a segfault). (Rob) -- Fixed bug #32179 (xmlrpc_encode() segfaults with recursive references). - (Tony) -- Fixed bug #32171 (Userspace stream wrapper crashes PHP). (Tony, Dmitry) -- Fixed bug #32160 (copying a file into itself leads to data loss). (Ilia) -- Fixed bug #32139 (SOAP client does not auto-handle base64 encoding). (Ilia) -- Fixed bug #32109 ($_POST is not populated in multi-threaded environment). - (Moriyoshi) -- Fixed bug #32080 (segfault when assigning object to itself with - zend.ze1_compatibility_mode=On). (Dmitry) -- Fixed bug #32021 (Crash caused by range('', 'z')). (Derick) -- Fixed bug #32013 (ext/mysqli bind_result causes fatal error: memory limit). - (Andrey) -- Fixed bug #32010 (Memory leak in mssql_fetch_batch). (fmk) -- Fixed bug #32009 (crash when mssql_bind() is called more than once). (Frank) -- Fixed bug #31971 (ftp_login fails on some SSL servers). - (frantisek at augusztin dot com) -- Fixed bug #31887 (ISAPI: Custom 5xx error does not return correct HTTP - response message). (Jani) -- Fixed bug #31828 (Crash with zend.ze1_compatibility_mode=On). (Dmitry) -- Fixed bug #31668 (multi_query works exactly every other time - multi query - d/e flag global and not per connection). (Andrey) -- Fixed bug #31636 (another crash when echoing a COM object). (Wez) -- Fixed bug #31583 (php_std_date() uses short day names in non-y2k_compliance - mode). (mike at php dot net) -- Fixed bug #31525 (object reference being dropped. $this getting lost). - (Stas, Dmitry) -- Fixed bug #31502 (Wrong deserialization from session when using WDDX - serializer). (Dmitry) -- Fixed bug #31478 (segfault with empty() / isset()). (Moriyoshi) -- Fixed bug #31465 (False warning in unpack() when working with *). (Ilia) -- Fixed bug #31363 (broken non-blocking flock()). (ian at snork dot net) -- Fixed bug #31358 (Older GCC versions do not provide portable va_copy()). - (Jani) -- Fixed bug #31341 (escape on curly inconsistent). (Dmitry) -- Fixed bug #31256 (PHP_EVAL_LIBLINE configure macro does not handle - -pthread). (Jani) -- Fixed bug #31213 (Side effects caused by fix of bug #29493). (Dmitry) -- Fixed bug #31177 (memory leaks and corruption because of incorrect - refcounting). (Dmitry) -- Fixed bug #31158 (array_splice on $GLOBALS crashes). (Dmitry) -- Fixed bug #31054 (safe_mode & open_basedir checks only check first - include_path value). (Ilia) -- Fixed bug #31033 (php:function(string, nodeset) with xsl:key crashes PHP). - (Rob) -- Fixed bug #30961 (Wrong line number in ReflectionClass getStartLine()). - (Dmitry) -- Fixed bug #30889 (Conflict between __get/__set and ++ operator). (Dmitry) -- Fixed bug #30833 (array_count_values() modifying input array). (Tony) -- Fixed bug #30828 (debug_backtrace() reports incorrect class in overridden - methods). (Dmitry) -- Fixed bug #30820 (static member conflict with $this->member silently - ignored). (Dmitry) -- Fixed bug #30819 (Better support for LDAP SASL bind). (Jani) -- Fixed bug #30791 (magic methods (__sleep/__wakeup/__toString) call - __call if object is overloaded). (Dmitry) -- Fixed bug #30707 (Segmentation fault on exception in method). - (Stas, Dmitry) -- Fixed bug #30702 (cannot initialize class variable from class constant). - (Dmitry) -- Fixed bug #30578 (Output buffers flushed before calling __destruct() - functions). (Jani) -- Fixed bug #30519 (Interface not existing says Class not found). (Dmitry) -- Fixed bug #30407 (Strange behavior of default arguments). (Dmitry) -- Fixed bug #30394 (Assignment operators yield wrong result with __get/__set). - (Dmitry) -- Fixed bug #30332 (zend.ze1_compatibility_mode isn't fully compatible with - array_push()). (Dmitry) -- Fixed bug #30162 (Catching exception in constructor causes lose of - $this). (Dmitry) -- Fixed bug #30140 (Problem with array in static properties). (Dmitry) -- Fixed bug #30126 (Enhancement for error message for abstract classes). - (Marcus) -- Fixed bug #30096 (gmmktime does not return the current time). (Derick) -- Fixed bug #30080 (Passing array or non array of objects). (Dmitry) -- Fixed bug #30052 (Crash on shutdown after odbc_pconnect()). (Edin) -- Fixed bug #29983 (PHP does not explicitly set mime type & charset). (Ilia) -- Fixed bug #29975 (memory leaks when set_error_handler() is used inside error - handler). (Tony) -- Fixed bug #29971 (variables_order behavior). (Dmitry) -- Fixed bug #29944 (Function defined in switch, crashes). (Dmitry) -- Fixed bug #29896 (Backtrace argument list out of sync). (Dmitry) -- Fixed bug #29728 (Reflection API Feature: Default parameter value). (Marcus) -- Fixed bug #29689 (default value of protected member overrides default value - of private and other private variable problems in inherited classes). (Stas) -- Fixed bug #29683 (headers_list() returns empty array). (Tony) -- Fixed bug #29583 (crash when echoing a COM object). (M.Sisolak, Wez) -- Fixed bug #29522 (accessing properties without connection). (Georg) -- Fixed bug #29361 (var_export() producing invalid code). (Derick) -- Fixed bug #29338 (unencoded spaces get ignored after certain tags). (Ilia) -- Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default). (Georg) -- Fixed bug #29334 (win32 mail() provides incorrect Date: header). (Jani) -- Fixed bug #29311 (calling parent constructor in mysqli). (Georg) -- Fixed bug #29268 (__autoload() not called with Reflection->getClass()). - (Dmitry) -- Fixed bug #29256 (SOAP HTTP Error when envelop size is more than 24345 - bytes). (Dmitry, Wez) -- Fixed bug #29253 (array_diff with $GLOBALS argument fails). (Dmitry) -- Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry) -- Fixed bug #29210 (Function: is_callable - no support for private and - protected classes). (Dmitry) -- Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry) -- Fixed bug #29104 (Function declaration in method doesn't work). (Dmitry) -- Fixed bug #29061 (soap extension segfaults). (Dmitry) -- Fixed bug #29015 (Incorrect behavior of member vars(non string ones)-numeric - mem vars and others). (Dmitry) -- Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry) -- Fixed bug #28969 (Wrong data encoding of special characters). (Dmitry) -- Fixed bug #28839 (SIGSEGV in interactive mode (php -a)). - (kameshj at fastmail dot fm) -- Fixed bug #28605 (Need to use -[m]ieee option for Alpha CPUs). (Jani) -- Fixed bug #28568 (SAPI::known_post_content_types is not thread safe). - (Moriyoshi) -- Fixed bug #28377 (debug_backtrace is intermittently passing args). (Dmitry) -- Fixed bug #28355 (glob wont error if dir is not readable). (Hartmut) -- Fixed bug #28072 (static array with some constant keys will be incorrectly - ordered). (Dmitry) -- Fixed bug #27908 (xml default_handlers not being called). (Rob) -- Fixed bug #27598 (list() array key assignment causes HUGE memory leak). - (Dmitry) -- Fixed bug #27268 (Bad references accentuated by clone). (Dmitry) -- Fixed bug #26456 (Wrong results from Reflection-API getDocComment() when - called via STDIN). (Dmitry) -- Fixed bug #25922 (In error handler, modifying 5th arg (errcontext) may - result in seg fault). (Dmitry) -- Fixed bug #25359 (array_multisort() doesn't work in a function if array is - global or reference). (Dmitry) -- Fixed bug #22836 (returning reference to uninitialized variable). (Dmitry) -- Fixed bug #21306 (ext/sesssion: catch bailouts of write handler during - RSHUTDOWN). (Jani, Xuefer at 21cn dot com) -- Fixed bug #15854 (boolean ini options may be incorrectly displayed as Off - when they are On). (Tony) -- Fixed bugs #14561, #20382, #26090, #26320, #28024, #30532, #32086, #32270, - #32555, #32588, #33056 (strtotime() related bugs). (Derick) - -31 Mar 2005, PHP 5.0.4 -- Added SNMPv2 support. (harrie) -- Added Oracle Instant Client support. (cjbj at hotmail dot com, Tony) -- Added length and charsetnr for field array and object in mysqli. (Georg) -- Added checks for negative values to gmp_sqrt(), gmp_powm(), gmp_sqrtrem() - and gmp_fact() to prevent SIGFPE. (Tony) -- Changed foreach() to throw an exception if IteratorAggregate::getIterator() - does not return an Iterator. (Marcus) -- Changed phpize not to require libtool. (Jani) -- Updated bundled oniguruma library (used for multibyte regular expression) - to 3.7.0. (Moriyoshi) -- Updated bundled libmbfl library (used for multibyte functions). (Moriyoshi) - Fixed bugs: - . Bug #32311 (mb_encode_mimeheader() does not properly escape characters) - . Bug #32063 (mb_convert_encoding ignores named entity 'alpha') - . Bug #31911 (mb_decode_mimeheader() is case-sensitive to hex escapes) - . bug #30573 (compiler warnings in libmbfl due to invalid type cast) - . Bug #30549 (incorrect character translations for some ISO8859 charsets). -- Fixed bug preventing from building oci8 as shared. - (stanislav dot voroniy at portavita dot nl, Tony) -- Fixed a bug in mysql_affected_rows and mysql_stmt_affected_rows when the - api function returns -1 (Georg) -- Fixed several leaks in ext/browscap and sapi/embed. (Andrei) -- Fixed several leaks in ext/filepro. (Tony) -- Fixed build system to always use bundled libtool files. (Jani) -- Fixed a bug in mysqli_stmt_execute() (type conversion with NULL values). - (Georg) -- Fixed segfault in mysqli_fetch_field_direct() when invalid field offset - is passed. (Tony) -- Fixed posix_getsid() & posix_getpgid() to return sid & pgid instead - of true. (Tony) -- Fixed bug #32394 (offsetUnset() segfaults in a foreach). (Marcus) -- Fixed bug #32373 (segfault in bzopen() if supplied path to non-existent - file). (Tony) -- Fixed bug #32326 (Check values of Connection/Transfer-Encoding - case-incentively in SOAP extension). (Ilia) -- Fixed bug #32290 (call_user_func_array() calls wrong class method within - child class). (Marcus) -- Fixed bug #32238 (spl_array.c: void function cannot return value). (Johannes) -- Fixed bug #32210 (proc_get_status() sets "running" always to true). (Ilia) -- Fixed bug #32200 (Prevent using both --with-apxs2 and --with-apxs2filter). - (Jani) -- Fixed bug #32134 (Overloading offsetGet/offsetSet). (Marcus) -- Fixed bug #32130 (ArrayIterator::seek() does not throw an Exception on - invalid index). (Marcus) -- Fixed bug #32115 (dateTime SOAP encoding of timezone incorrect). (Dmitry) -- Fixed bug #32081 (in mysqli default socket value is not being used). (Ilia) -- Fixed bug #32021 (Crash caused by range('', 'z')). (Derick) -- Fixed bug #32011 (Fragments which replaced Nodes are not globaly useable). - (Rob) -- Fixed bug #32001 (xml_parse_into_struct() function exceeds maximum - execution time). (Rob, Moriyoshi) -- Fixed bug #31980 (Unicode exif data not available on Windows). (Edin) -- Fixed bug #31960 (msql_fetch_row() and msql_fetch_array() dropping columns - with NULL values). (Daniel Convissor) -- Fixed bug #31878 (Segmentation fault using clone keyword on nodes). (Rob) -- Fixed bug #31858 (--disable-cli does not force --without-pear). (Jani) -- Fixed bug #31842 (*date('r') does not return RFC2822 conforming date string). - (Jani) -- Fixed bug #31832 (SOAP encoding problem with complex types in WSDL mode with - multiple parts). (Dmitry) -- Fixed bug #31797 (exif_read_data() uses too low nesting limit). (Ilia) -- Fixed bug #31796 (readline completion handler does not handle empty return - values). (Ilia) -- Fixed bug #31792 (getrusage() does not provide ru_nswap value). (Ilia) -- Fixed bug #31755 (Cannot create SOAP header in no namespace). (Dmitry) -- Fixed bug #31754 (dbase_open() fails for mode = 1). (Mehdi, Derick) -- Fixed bug #31751 (pg_parameter_status() missing on Windows). (Edin) -- Fixed bug #31747 (SOAP Digest Authentication doesn't work with - "HTTP/1.1 100 Continue" response). (Dmitry) -- Fixed bug #31732 (mb_get_info() causes segfault when no parameters - specified). (Tony) -- Fixed bug #31710 (Wrong return values for mysqli_autocommit/commit/rollback). - (Georg) -- Fixed bug #31705 (parse_url() does not recognize http://foo.com#bar). (Ilia) -- Fixed bug #31695 (Cannot redefine endpoint when using WSDL). (Dmitry) -- Fixed bug #31684 (dio_tcsetattr(): misconfigured termios settings). - (elod at itfais dot com) -- Fixed bug #31683 (changes to $name in __get($name) override future - parameters) (Dmitry) -- Fixed bug #31699 (unserialize() float problem on non-English locales). (Ilia) -- Fixed bug #31562 (__autoload() problem with static variables). (Marcus) -- Fixed bug #31651 (ReflectionClass::getDefaultProperties segfaults with arrays). - (Marcus) -- Fixed bug #31623 (OCILogin does not support password grace period). - (daniel dot beet at accuratesoftware dot com, Tony) -- Fixed bug #31527 (crash in msg_send() when non-string is stored without - being serialized). (Ilia) -- Fixed bug #31515 (Improve performance of scandir() by factor of 10 or so). (Ilia) -- Fixed bug #31514 (open_basedir uses path_translated rather then cwd for . - translation). (Ilia) -- Fixed bug #31480 (Possible infinite loop in imap_mail_compose()). (Ilia) -- Fixed bug #31479 (Fixed crash in chunk_split(), when chunklen > strlen). (Ilia) -- Fixed bug #31454 (session_set_save_handler crashes PHP when supplied - non-existent object ref). (Tony) -- Fixed bug #31444 (Memory leak in zend_language_scanner.c). - (hexer at studentcenter dot org) -- Fixed bug #31442 (unserialize broken on 64-bit systems). (Marcus) -- Fixed bug #31440 ($GLOBALS can be overwritten via GPC when register_globals - is enabled). (Ilia) -- Fixed bug #31422 (No Error-Logging on SoapServer-Side). (Dmitry) -- Fixed bug #31413 (curl POSTFIELDS crashes on 64-bit platforms). (Joe) -- Fixed bug #31396 (compile fails with gd 2.0.33 without freetype). (Jani) -- Fixed bug #31371 (highlight_file() trims new line after heredoc). (Ilia) -- Fixed bug #31361 (simplexml/domxml segfault when adding node twice). (Rob) -- Fixed bug #31348 (CachingIterator::rewind() leaks). (Marcus) -- Fixed bug #31346 (ArrayIterator::next segfaults). (Marcus) -- Fixed bug #31190 (Unexpected warning then exception is thrown from - call_user_func_array()). (phpbugs at domain51 dot net, Dmitry) -- Fixed bug #31142 (imap_mail_compose() fails to generate correct output). (Ilia) -- Fixed bug #31139 (XML Parser Functions seem to drop & when parsing). (Rob) -- Fixed bug #31398 (When magic_guotes_gpc are enabled filenames with ' get cutoff). - (Ilia) -- Fixed bug #31288 (Possible crash in mysql_fetch_field(), if mysql_list_fields() - was not called previously). (Ilia) -- Fixed bug #31107, #31110, #31111, #31249 (Compile failure of zend_strtod.c). - (Jani) -- Fixed bug #31110 (PHP 4.3.10 does not compile on Tru64 UNIX 5.1B). (Derick) -- Fixed bug #31107 (Compile failure on Solaris 9 (Intel) and gcc 3.4.3). (Derick) -- Fixed bug #31103 (Better error message when c-client cannot be found). (Ilia) -- Fixed bug #31101 (missing kerberos header file path with --with-openssl). (Jani) -- Fixed bug #31098 (isset() / empty() incorrectly return true in dereference of - a string type). (Moriyoshi) -- Fixed bug #31087 (broken php_url_encode_hash macro). (Ilia) -- Fixed bug #31072 (var_export() does not output an array element with an empty - string key). (Derick) -- Fixed bug #31060 (imageftbbox() does not use linespacing parameter). (Jani) -- Fixed bug #31056 (php_std_date() returns invalid formatted date if - y2k_compliance is On). (Ilia) -- Fixed bug #31055 (apache2filter: per request leak proportional to the full - path of the request URI). (kameshj at fastmail dot fm) -- Fixed bug #30901 (can't send cookies with soap envelop). (Dmitry) -- Fixed bug #30871 (Misleading warning message for array_combine()). (Andrey) -- Fixed bug #30868 (evaluated pointer comparison in mbregex causes compile - failure). (Moriyoshi) -- Fixed bug #30862 (Static array with boolean indexes). (Marcus) -- Fixed bug #30726 (-.1 like numbers are not being handled correctly). (Ilia) -- Fixed bug #30725 (PHP segfaults when an exception is thrown in getIterator() - within foreach). (Marcus) -- Fixed bug #30609 (cURL functions bypass open_basedir). (Jani) -- Fixed bug #30446 (apache2handler: virtual() includes files out of sequence) -- Fixed bug #30430 (odbc_next_result() doesn't bind values and that results - in segfault). (pdan-php at esync dot org, Tony) -- Fixed bug #30266 (Invalid opcode 137/1/8). (Marcus) -- Fixed bug #30120 imagettftext() and imagettfbbox() accept too many - parameters). (Jani) -- Fixed bug #30106 (SOAP cannot not parse 'ref' element. Causes Uncaught - SoapFault exception). (Dmitry) -- Fixed bug #29989 (type re_registers redefined in oniguruma.h). (Moriyoshi) -- Fixed bug #28803 (enabled debug causes bailout errors with CLI on AIX - because of fflush() called on already closed filedescriptor). (Tony) -- Fixed bug #29767 (Weird behaviour of __set($name, $value)). (Dmitry) -- Fixed bug #29733 (printf() handles repeated placeholders wrong). - (bugs dot php dot net at bluetwanger dot de, Ilia) -- Fixed bug #29424 (width and height inverted for JPEG2000 files). (Ilia) -- Fixed bug #29329 (configure for mysqli with shared doesn't work). (Georg) -- Fixed bug #29136 (make test - libtool failure on MacOSX). (Jani) -- Fixed bug #28976 (mail(): use "From:" from headers if sendmail_from is empty). - (Jani) -- Fixed bug #28930 (PHP sources pick wrong header files generated by bison). - (eggert at gnu dot org, Jani) -- Fixed bug #28840 (__destruct of a class that extends mysqli not called). - (Marcus) -- Fixed bug #28804 (ini-file section parsing pattern is buggy). - (wendland at scan-plus dot de) -- Fixed bug #28451 (corrupt EXIF headers have unlimited recursive IFD directory - entries). (Andrei) -- Fixed bug #28444 (Cannot access undefined property for object with overloaded - property access). (Dmitry) -- Fixed bug #28442 (Changing a static variables in a class changes it across - sub/super classes.) (Marcus) -- Fixed bug #28324 (HTTP_SESSION_VARS appear when register_long_arrays is - Off). (Tony) -- Fixed bug #28074 (FastCGI: stderr should be written in a FCGI stderr stream). - (chris at ex-parrot dot com) -- Fixed bug #28067 (partially incorrect utf8 to htmlentities mapping). (Derick, - Benjamin Greiner) -- Fixed bug #28041 (SOAP HTTP Digest Access Authentication). (Dmitry) -- Fixed bug #27633 (Double \r problem on ftp_get in ASCII mode on Win32). (Ilia) -- Fixed bug #18613 (Multiple OUs in x509 certificate not handled properly). - (Jani) - -15 Dec 2004, PHP 5.0.3 -- Added the %F modifier to *printf to render a non-locale-aware representation - of a float with the . as decimal seperator. (Derick) -- Fixed error handling in mysqli_multi_query. (Georg) -- Extended the functionality of is_subclass_of() to accept either a class name - or an object as first parameter. (Andrey) -- Fixed potential problems with unserializing invalid serialize data. (Marcus) -- Fixed bug #32076 (ReflectionMethod::isDestructor() always return true). - (Derick, Tony) -- Fixed bug #31034 (Problem with non-existing iconv header file). (Derick) -- Fixed bug #30995 (snmp extension does not build with net-snmp 5.2). (Ilia) -- Fixed bug #30994 (SOAP server unable to handle request with references). - (Dmitry) -- Fixed bug #30990 (allow popen() on *NIX to accept 'b' flag). (Ilia) -- Fixed bug #30967 (properties in extended mysqli classes don't work). (Georg) -- Fixed bug #30928 (When Using WSDL, SoapServer doesn't handle private or - protected properties). (Dmitry) -- Fixed bug #30922 (reflective functions crash PHP when interfaces extend - themselves). (Tony, Dmitry) -- Fixed bug #30904 (segfault when recording soapclient into session). (Tony, - Dmitry) -- Fixed bug #30890 (MySQLi testsuite) -- Fixed bug #30856 (ReflectionClass::getStaticProperties segfaults). (Marcus) -- Fixed bug #30832 ("!" stripped off comments in xml parser). (Rob) -- Fixed bug #30799 (SoapServer doesn't handle private or protected properties). - (Dmitry) -- Fixed bug #30783 (Apache crash when using ReflectionFunction:: - getStaticVariables()). (Marcus) -- Fixed bug #30750 (Meaningful error message when upload directory is not - accessible). (Ilia) -- Fixed bug #30685 (Malformed SOAPClient http header reequest). (Dmitry) -- Fixed bug #30672 (Problem handling exif data in jpeg images at unusual - places). (Marcus) -- Fixed bug #30658 (Ensure that temporary files created by GD are removed). - (Ilia) -- Fixed bug #30645 (def. multi result set support for mysql_connect). (Georg) -- Fixed bug #30637 (compile with pear error). (Antony) -- Fixed bug #30587 (array_multisort doesn't separate zvals before - changing them). (Tony) -- Fixed bug #30572 (crash when comparing SimpleXML attribute to a boolean). - (Andi) -- Fixed bug #30566 (attribute namespace URIs are inconsistent when parsing). - (Rob) -- Fixed bug #30490 (PEAR installation fails). (Antony) -- Fixed bug #30475 (curl_getinfo() may crash in some situations). (Ilia) -- Fixed bug #30442 (segfault when parsing ?getvariable[][ ). (Tony) -- Fixed bug #30388 (rename across filesystems loses ownership and - permission info). (Tony) -- Fixed bug #30387 (stream_socket_client async connect was broken). - (vnegrier at esds dot com, Wez). -- Fixed bug #30381 (Strange results with get_class_vars()). (Marcus) -- Fixed bug #30375 (cal_info() does not work without a parameter). (Ilia) -- Fixed bug #30362 (stream_get_line() not handling end string correctly). - (Ilia) -- Fixed bug #30359 (SOAP client requests have no port in "Host" field). - (Dmitry) -- Fixed bug #30356 (str_ireplace() does not work on all strings). (Ilia) -- Fixed bug #30344 (Reflection::getModifierNames() returns too long strings). - (Marcus) -- Fixed bug #30329 (Error Fetching http body, No Content-Length, connection - closed or chunked data). (Dmitry) -- Fixed bug #30282 (segfault when using unknown/unsupported - session.save_handler and/or session.serialize_handler). (Tony) -- Fixed bug #30281 (Prevent non-wbmp images from being detected as such). - (Ilia) -- Fixed bug #30276 (Possible crash in ctype_digit on large numbers). (Ilia) -- Fixed bug #30230 (exception handler not working with objects). (Marcus) -- Fixed bug #30224 (Sybase date strings are sometimes not null terminated). - (Ilia) -- Fixed bug #30175 (SOAP results aren't parsed correctly). (Dmitry) -- Fixed bug #30147 (OO sqlite_fetch_object did not reset error handler). (Wez) -- Fixed bug #30133 (get_current_user() crashes on Windows). (Edin) -- Fixed bug #30061 (xml_set_start_namespace_decl_handler not called). (Rob) -- Fixed bug #30057 (did not detect IPV6 on FreeBSD 4.1). (Wez) -- Fixed bug #30042 (strtotime does not use second param). (Derick) -- Fixed bug #30027 (Possible crash inside ftp_get()). - (cfield at affinitysolutions dot com) -- Fixed bug #29954 (array_reduce segfaults when initial value is array). (Tony) -- Fixed bug #29883 (isset gives invalid values on strings). (Tony, Dmitry) -- Fixed bug #29801 (Set limit on the size of mmapable data). (Ilia) -- Fixed bug #29557 (strtotime error). (Derick) -- Fixed bug #29418 (double free when openssl_csr_new fails). - (Kamesh Jayachandran). -- Fixed bug #29385 (Soapserver always uses std class). (David, Dmitry) -- Fixed bug #29211 (SoapClient doesn't request wsdl through proxy). (Rob) -- Fixed bug #28817 (Var problem when extending domDocument). (Georg) -- Fixed bug #28599 (strtotime fails with zero base time). (Derick) -- Fixed bug #28598 (Lost support for MS Symbol fonts). (Pierre) -- Fixed bug #28220 (mb_strwidth() returns wrong width values for some hangul - characters). (Moriyoshi) -- Fixed bug #28228 (NULL decimal separator is not being handled correctly). - (Ilia) -- Fixed bug #28209 (strtotime("now")). (Derick) -- Fixed bug #27798 (private / protected variables not exposed by - get_object_vars() inside class). (Marcus) -- Fixed bug #27728 (Can't return within a zend_try {} block or the previous - bailout state isn't restored. (Andi) -- Fixed bug #27183 (Userland stream wrapper segfaults on stream_write). - (Christian) - -23 Sep 2004, PHP 5.0.2 -- Added new boolean (fourth) parameter to array_slice() that turns on the - preservation of keys in the returned array. (Derick) -- Added the sorting flag SORT_LOCALE_STRING to the sort() functions which makes - them sort based on the current locale. (Derick) -- Added interface_exists() and make class_exists() only return true for real - classes. (Andrey) -- Added PHP_EOL constant that contains the OS way of representing newlines. - (Paul Hudson, Derick) -- Implemented periodic PCRE compiled regexp cache cleanup, to avoid memory - exhaustion. (Andrei) -- Renamed SoapClient->__call() to SoapClinet->__soapCall(). (Dmitry) -- Fixed bug with raw_post_data not getting set (Brian) -- Fixed a file-descriptor leak with phpinfo() and other 'special' URLs (Zeev) -- Fixed bug #30209 (ReflectionClass::getMethod() lowercases attribute). - (Marcus) -- Fixed bug #30182 (SOAP module processing WSDL file dumps core). (Dmitry) -- Fixed bug #30045 (Cannot pass big integers (> 2147483647) in SOAP requests). - (Dmitry) -- Fixed bug #29985 (unserialize()/ __PHP_Incomplete_class does not report - correctly class name). (Marcus, Tony) -- Fixed bug #29945 (simplexml_load_file URL limitation 255 char). (Rob) -- Fixed bug #29873 (No defines around pcntl_*priority definitions). (Derick) -- Fixed bug #29844 (SOAP doesn't return the result of a valid SOAP request). - (Dmitry) -- Fixed bug #29842 (soapclient return null value). (Dmitry) -- Fixed bug #29839 (incorrect convert (xml:lang to lang)). (Dmitry) -- Fixed bug #29830 (SoapServer::setClass() should not export non-public - methods). (Dmitry) -- Fixed bug #29828 (Interfaces no longer work). (Marcus) -- Fixed bug #29821 (Fixed possible crashes in convert_uudecode() on invalid - data). (Ilia) -- Fixed bug #29808 (array_count_values() breaks with numeric strings). (Ilia) -- Fixed bug #29805 (HTTP Authentication Issues). (Uwe Schindler) -- Fixed bug #29795 (SegFault with Soap and Amazon's Web Services). (Dmitry) -- Fixed bug #29737 (ip2long should return -1 if IP is 255.255.255.255 and FALSE - on error). (Tony) -- Fixed bug #29711 (Changed ext/xml to default to UTF-8 output). (Rob) -- Fixed bug #29678 (opendir() with ftp:// wrapper segfaults if path does not - have trailing slash). (Ilia) -- Fixed bug #29657 (xml_* functions throw non descriptive error). - (Christian, Rob) -- Fixed bug #29656 (segfault on result and statement properties). (Georg) -- Fixed bug #29566 (foreach/string handling strangeness (crash)). (Dmitry) -- Fixed bug #29447 (Reflection API issues). (Marcus) -- Fixed bug #29296 (Added sslv2 and sslv3 transports). (Wez) -- Fixed bug #29283 (Invalid statement handle in mysqli on execute). (Georg) -- Fixed bug #29913 (parse_url() is now binary safe). (Ilia) -- Fixed bug #27994 (segfault with Soapserver when WSDL-Cache is enabled). - (Dmitry) -- Fixed bug #27791 (Apache 2.0 SAPI build against Apache 2 HEAD). (Joe Orton, - Derick) -- Fixed bug #26737 (private/protected properties not serialized when user - declared method __sleep() exists). E_NOTICE thrown when __sleep() returns - name of non-existing member. (Andrey, Curt) - -12 Aug 2004, PHP 5.0.1 -- Changed destructor mechanism so that destructors are called prior to request - shutdown. (Marcus) -- Rewritten UNIX and Windows install help files. (Documentation Team) -- Updated several libraries bundled with the windows release which now - includes libxml2-2.6.11, libxslt-1.1.7 and iconv-1.9.1. (Rob, Edin) -- Improved and moved ActiveScript SAPI to PECL. (Wez) -- Fixed bug #29606 (php_strip_whitespace() prints to stdout rather then - returning the value). (Ilia) -- Fixed bug #29577 (MYSQLI_CLIENT_FOUND_ROWS undefined) (Georg) -- Fixed bug #29573 (Segmentation fault, when exception thrown within - PHP function called from XSLT). (Christian) -- Fixed bug #29522 (accessing properties without connection) (Georg) -- Fixed bug #29505 (get_class_vars() severely broken when used with arrays). - (Marcus) -- Fixed bug #29490 (.Net object instantiation failed). (Michael Sisolak). -- Fixed bug #29474 (win32: usleep() doesn't work). (Wez) -- Fixed bug #29449 (win32: feof() hangs on empty tcp stream). (Wez) -- Fixed bug #29437 (Possible crash inside array_walk_recursive()). (Ilia) -- Fixed bug #29431 (crash when parsing invalid address; invalid address - returned by stream_socket_recvfrom(), stream_socket_getname()). (Wez) -- Fixed bug #29409 (Segfault in PHP functions called from XSLT). (Rob) -- Fixed unloading of dynamically loaded extensions. - (Marcus, kameshj at fastmail dot fm) -- Fixed bug #29395 (sqlite_escape_string() returns bogus data on empty - strings). (Ilia, Tony) -- Fixed bug #29392 (com_dotnet crashes when echo'ing an object). (Wez) -- Fixed bug #29368 (The destructor is called when an exception is thrown from - the constructor). (Marcus) -- Fixed bug #29354 (Exception constructor marked as both public and protected). - (Marcus) -- Fixed bug #29342 (strtotime() does not handle empty date string properly). - (Ilia) -- Fixed bug #29340 (win32 build produces invalid php_ifx.dll). (Edin) -- Fixed bug #29335 (fetch functions now use MYSQLI_BOTH as default) (Georg) -- Fixed bug #29291 (get_class_vars() return names with NULLs). (Marcus) -- Fixed bug #29264 (gettext extension not working). (Edin) -- Fixed bug #29258 (variant_date_from_timestamp() does not honour - timezone). (Wez) -- Fixed bug #29256 (error when sending large packets on a socket). (Dmitry) -- Fixed bug #29236 (memory error when wsdl-cache is enabled). (Dmitry) -- Fixed bug #29147 (Compile Error in mnoGoSearch functions). (Sergey, Antony) -- Fixed bug #29132 ($_SERVER["PHP_AUTH_USER"] isn't defined). (Stefan) -- Fixed bug #29119 (html_entity_decode() misbehaves with UTF-8). (Moriyoshi) -- Fixed bug #29109 (SoapFault exception: [WSDL] Out of memory). (Dmitry) -- Fixed bug #29061 (soap extension segfaults). (Dmitry) -- Fixed bug #28985 (__getTypes() returning nothing on complex WSDL). (Dmitry) -- Fixed bug #28969 (Wrong data encoding of special characters). (Dmitry) -- Fixed bug #28895 (ReflectionClass::isAbstract always returns false). (Marcus) -- Fixed bug #28829 (Thread-unsafety in bcmath elementary values). (Sara) -- Fixed bug #28464 (catch() does not catch exceptions by interfaces). (Marcus) -- Fixed bug #27669 (PHP 5 didn't support all possibilities for calling static - methods dynamically). (Dmitry) -- Fixed ReflectionClass::getMethod() and ReflectionClass::getProperty() to - raise an ReflectionException instead of returning NULL on failure. - (Sebastian) -- Fixed convert.* filters to consume remaining buckets_in on flush. (Sara) -- Fixed bug in mysqli->client_version. (Georg) - -13 Jul 2004, PHP 5.0.0 -- Updated PCRE to provide better error handling in certain cases. (Andrei) -- Changed doc comments to require a single white space after '/**'. (Marcus) -- Fixed bug #29019 (Database not closing). (Marcus) -- Fixed bug #29008 (array_combine() does not handle non-numeric/string keys). - (Ilia) -- Fixed bug #28999 (fixed behaviour of exec() to work as it did in 4.X). (Ilia) -- Fixed bug #28868 (Internal filter registry not thread safe). (Sara) -- Fixed bug #28851 (call_user_func_array has typo in error message). (Marcus) -- Fixed bug #28831 (ArrayObject::offsetGet() does the work of offsetUnset()). - (Marcus) -- Fixed bug #28822 (ArrayObject::offsetExists() works inverted). (Marcus) -- Fixed bug #28789 (ReflectionProperty getValue() fails on public static - members). (Marcus) -- Fixed bug #28771 (Segfault when using xslt and clone). (Rob) -- Fixed bug #28751 (SoapServer does not call _autoload()). (Dmitry) -- Fixed bug #28739 (array_*diff() and array_*intersect() not clearing the fci - cache before work). (Andrey) -- Fixed bug #28721 (appendChild() and insertBefore() unset DOMText).(Rob) -- Fixed bug #28702 (SOAP does not parse WSDL service address correctly). (Dmitry) -- Fixed bug #28699 (Reflection api bugs). (Marcus) -- Fixed bug #28694 (ReflectionExtension::getFunctions() crashes PHP). (Marcus) -- Fixed bug #28512 (Allocate enough space to store MSSQL data). (Frank) -- Fixed strip_tags() to correctly handle '\0' characters. (Stefan) diff --git a/php/phar.phar.bat b/php/phar.phar.bat deleted file mode 100644 index 6bad365..0000000 --- a/php/phar.phar.bat +++ /dev/null @@ -1 +0,0 @@ -"%~dp0php.exe" "%~dp0pharcommand.phar" %* diff --git a/php/pharcommand.phar b/php/pharcommand.phar deleted file mode 100644 index 8410dd9..0000000 Binary files a/php/pharcommand.phar and /dev/null differ diff --git a/php/php-cgi.exe b/php/php-cgi.exe deleted file mode 100644 index 292c4ca..0000000 Binary files a/php/php-cgi.exe and /dev/null differ diff --git a/php/php-win.exe b/php/php-win.exe deleted file mode 100644 index b406657..0000000 Binary files a/php/php-win.exe and /dev/null differ diff --git a/php/php.gif b/php/php.gif deleted file mode 100644 index f352c73..0000000 Binary files a/php/php.gif and /dev/null differ diff --git a/php/php.ini-development b/php/php.ini-development deleted file mode 100644 index 2127a7a..0000000 --- a/php/php.ini-development +++ /dev/null @@ -1,1996 +0,0 @@ -[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 (C:\windows or C:\winnt) -; 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 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 - -; html_errors -; Default Value: On -; Development Value: On -; Production value: On - -; 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.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; 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 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 -; tags as PHP source which should be processed as such. It is -; generally recommended that 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 tags. -; http://php.net/asp-tags -asp_tags = 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 = - -; 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 = - -; 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. -serialize_precision = 17 - -; 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. -; http://php.net/open-basedir -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. -; http://php.net/disable-functions -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; 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 -; 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. -; http://php.net/realpath-cache-size -;realpath_cache_size = 16k - -; 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 = - -;;;;;;;;;;;;;;;;; -; 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 (128MB) -; 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 has only effect 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. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/track-errors -track_errors = On - -; 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 -; Default Value: On -; Development Value: On -; Production value: On -; 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 = "" - -; 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 = "" - -; 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 - -;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 affect. -; 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 character encoding using -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is 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. -; mbstring or iconv output handler is used. -; See also output_buffer. -; http://php.net/output-encoding -;output_encoding = - -; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is -; to disable this feature and it will be removed in a future version. -; If post reading is disabled through enable_post_data_reading, -; $HTTP_RAW_POST_DATA is *NOT* populated. -; http://php.net/always-populate-raw-post-data -;always_populate_raw_post_data = -1 - -;;;;;;;;;;;;;;;;;;;;;;;;; -; 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 - -; FastCGI under IIS (on WINNT based OS) 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 - -;;;;;;;;;;;;;;;; -; 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.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; -; Windows Extensions -; Note that ODBC support is built in, so no dll is needed for it. -; Note that many DLL files are located in the extensions/ (PHP 4) 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=php_bz2.dll -;extension=php_curl.dll -;extension=php_fileinfo.dll -;extension=php_gd2.dll -;extension=php_gettext.dll -;extension=php_gmp.dll -;extension=php_intl.dll -;extension=php_imap.dll -;extension=php_interbase.dll -;extension=php_ldap.dll -;extension=php_mbstring.dll -;extension=php_exif.dll ; Must be after mbstring as it depends on it -;extension=php_mysql.dll -;extension=php_mysqli.dll -;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client -;extension=php_openssl.dll -;extension=php_pdo_firebird.dll -;extension=php_pdo_mysql.dll -;extension=php_pdo_oci.dll -;extension=php_pdo_odbc.dll -;extension=php_pdo_pgsql.dll -;extension=php_pdo_sqlite.dll -;extension=php_pgsql.dll -;extension=php_pspell.dll -;extension=php_shmop.dll - -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php -;extension=php_snmp.dll - -;extension=php_soap.dll -;extension=php_sockets.dll -;extension=php_sqlite3.dll -;extension=php_sybase_ct.dll -;extension=php_tidy.dll -;extension=php_xmlrpc.dll -;extension=php_xsl.dll - -;;;;;;;;;;;;;;;;;;; -; 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 < intput_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 = - -[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 - -[sqlite] -; http://php.net/sqlite.assoc-case -;sqlite.assoc_case = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[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 - -[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] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -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 = On - -; 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 - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[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 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQL] -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysql.allow_local_infile -mysql.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysql.allow-persistent -mysql.allow_persistent = On - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysql.cache_size -mysql.cache_size = 2000 - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysql.max-persistent -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/mysql.max-links -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_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/mysql.default-port -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysql.default-socket -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-host -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-user -mysql.default_user = - -; Default password for mysql_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("mysql.default_password") -; 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/mysql.default-password -mysql.default_password = - -; Maximum time (in seconds) for connect timeout. -1 means no limit -; http://php.net/mysql.connect-timeout -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -; http://php.net/mysql.trace-mode -mysql.trace_mode = Off - -[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 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; 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 mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_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. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = On - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -[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 - -[Sybase-CT] -; Allow or prevent persistent links. -; http://php.net/sybct.allow-persistent -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/sybct.max-persistent -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/sybct.max-links -sybct.max_links = -1 - -; Minimum server message severity to display. -; http://php.net/sybct.min-server-severity -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -; http://php.net/sybct.min-client-severity -sybct.min_client_severity = 10 - -; Set per-context timeout -; http://php.net/sybct.timeout -;sybct.timeout= - -;sybct.packet_size - -; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. -; Default: one minute -;sybct.login_timeout= - -; The name of the host you claim to be connecting from, for display by sp_who. -; Default: none -;sybct.hostname= - -; Allows you to define how often deadlocks are to be retried. -1 means "forever". -; Default: 0 -;sybct.deadlock_retry_count= - -[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 uninitialized session ID and regenerate -; session ID if browser sends uninitialized session ID. Strict mode protects -; applications from session fixation via 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 = - -; 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. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give 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 the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this 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 would 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 = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -;session.entropy_length = 32 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -; Defaults to /dev/urandom -; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom -; If neither are found at compile time, the default is no entropy file. -; On windows, setting the entropy_length setting will activate the -; Windows random source (using the CryptoAPI) -;session.entropy_file = /dev/urandom - -; 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 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_algos() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; 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.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -; 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" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatibility mode with old versions of PHP 3.0. -mssql.compatibility_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.conf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Issue a PHP warning for each failed assertion. -; 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 components 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 mbstrig.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_traslation = On is needed to use this setting. -; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < intput_encoding < mbsting.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= - -[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 = 0 - -[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 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -[opcache] -; Determines if Zend OPCache is enabled -;opcache.enable=0 - -; 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=64 - -; The amount of memory for interned strings in Mbytes. -;opcache.interned_strings_buffer=4 - -; The maximum number of keys (scripts) in the OPcache hash table. -; Only numbers between 200 and 100000 are allowed. -;opcache.max_accelerated_files=2000 - -; 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 - -; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments" -; may be always stored (save_comments=1), but not loaded by applications -; that don't need them anyway. -;opcache.load_comments=1 - -; If enabled, a fast shutdown sequence is used for the accelerated code -;opcache.fast_shutdown=0 - -; 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=0xffffffff - -;opcache.inherited_hack=1 -;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 - -[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= - -; Local Variables: -; tab-width: 4 -; End: diff --git a/php/php.ini-production b/php/php.ini-production deleted file mode 100644 index 807471c..0000000 --- a/php/php.ini-production +++ /dev/null @@ -1,1996 +0,0 @@ -[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 (C:\windows or C:\winnt) -; 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 php.ini-production 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 - -; html_errors -; Default Value: On -; Development Value: On -; Production value: On - -; 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.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; 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 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 -; tags as PHP source which should be processed as such. It is -; generally recommended that 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 tags. -; http://php.net/asp-tags -asp_tags = 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 = - -; 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 = - -; 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. -serialize_precision = 17 - -; 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. -; http://php.net/open-basedir -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. -; http://php.net/disable-functions -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; 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 -; 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. -; http://php.net/realpath-cache-size -;realpath_cache_size = 16k - -; 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 = - -;;;;;;;;;;;;;;;;; -; 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 (128MB) -; 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 & ~E_DEPRECATED & ~E_STRICT - -; 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 = Off - -; 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 = Off - -; 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 has only effect 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. -; Default Value: Off -; Development Value: On -; 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 -; Default Value: On -; Development Value: On -; Production value: On -; 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 = "" - -; 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 = "" - -; 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 - -;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 affect. -; 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 character encoding using -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is 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. -; mbstring or iconv output handler is used. -; See also output_buffer. -; http://php.net/output-encoding -;output_encoding = - -; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is -; to disable this feature and it will be removed in a future version. -; If post reading is disabled through enable_post_data_reading, -; $HTTP_RAW_POST_DATA is *NOT* populated. -; http://php.net/always-populate-raw-post-data -;always_populate_raw_post_data = -1 - -;;;;;;;;;;;;;;;;;;;;;;;;; -; 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 - -; FastCGI under IIS (on WINNT based OS) 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 - -;;;;;;;;;;;;;;;; -; 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.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; -; Windows Extensions -; Note that ODBC support is built in, so no dll is needed for it. -; Note that many DLL files are located in the extensions/ (PHP 4) 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=php_bz2.dll -;extension=php_curl.dll -;extension=php_fileinfo.dll -;extension=php_gd2.dll -;extension=php_gettext.dll -;extension=php_gmp.dll -;extension=php_intl.dll -;extension=php_imap.dll -;extension=php_interbase.dll -;extension=php_ldap.dll -;extension=php_mbstring.dll -;extension=php_exif.dll ; Must be after mbstring as it depends on it -;extension=php_mysql.dll -;extension=php_mysqli.dll -;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client -;extension=php_openssl.dll -;extension=php_pdo_firebird.dll -;extension=php_pdo_mysql.dll -;extension=php_pdo_oci.dll -;extension=php_pdo_odbc.dll -;extension=php_pdo_pgsql.dll -;extension=php_pdo_sqlite.dll -;extension=php_pgsql.dll -;extension=php_pspell.dll -;extension=php_shmop.dll - -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php -;extension=php_snmp.dll - -;extension=php_soap.dll -;extension=php_sockets.dll -;extension=php_sqlite3.dll -;extension=php_sybase_ct.dll -;extension=php_tidy.dll -;extension=php_xmlrpc.dll -;extension=php_xsl.dll - -;;;;;;;;;;;;;;;;;;; -; 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 < intput_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 = - -[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 - -[sqlite] -; http://php.net/sqlite.assoc-case -;sqlite.assoc_case = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[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 - -[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] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -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 = On - -; 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 - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[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 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQL] -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysql.allow_local_infile -mysql.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysql.allow-persistent -mysql.allow_persistent = On - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysql.cache_size -mysql.cache_size = 2000 - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysql.max-persistent -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/mysql.max-links -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_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/mysql.default-port -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysql.default-socket -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-host -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-user -mysql.default_user = - -; Default password for mysql_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("mysql.default_password") -; 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/mysql.default-password -mysql.default_password = - -; Maximum time (in seconds) for connect timeout. -1 means no limit -; http://php.net/mysql.connect-timeout -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -; http://php.net/mysql.trace-mode -mysql.trace_mode = Off - -[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 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; 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 mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_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. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = Off - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -[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 - -[Sybase-CT] -; Allow or prevent persistent links. -; http://php.net/sybct.allow-persistent -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/sybct.max-persistent -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/sybct.max-links -sybct.max_links = -1 - -; Minimum server message severity to display. -; http://php.net/sybct.min-server-severity -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -; http://php.net/sybct.min-client-severity -sybct.min_client_severity = 10 - -; Set per-context timeout -; http://php.net/sybct.timeout -;sybct.timeout= - -;sybct.packet_size - -; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. -; Default: one minute -;sybct.login_timeout= - -; The name of the host you claim to be connecting from, for display by sp_who. -; Default: none -;sybct.hostname= - -; Allows you to define how often deadlocks are to be retried. -1 means "forever". -; Default: 0 -;sybct.deadlock_retry_count= - -[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 uninitialized session ID and regenerate -; session ID if browser sends uninitialized session ID. Strict mode protects -; applications from session fixation via 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 = - -; 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. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give 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 the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this 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 would 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 = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -;session.entropy_length = 32 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -; Defaults to /dev/urandom -; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom -; If neither are found at compile time, the default is no entropy file. -; On windows, setting the entropy_length setting will activate the -; Windows random source (using the CryptoAPI) -;session.entropy_file = /dev/urandom - -; 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 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_algos() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; 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.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -; 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" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatibility mode with old versions of PHP 3.0. -mssql.compatibility_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.conf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Issue a PHP warning for each failed assertion. -; 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 components 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 mbstrig.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_traslation = On is needed to use this setting. -; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < intput_encoding < mbsting.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= - -[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 = 0 - -[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 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -[opcache] -; Determines if Zend OPCache is enabled -;opcache.enable=0 - -; 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=64 - -; The amount of memory for interned strings in Mbytes. -;opcache.interned_strings_buffer=4 - -; The maximum number of keys (scripts) in the OPcache hash table. -; Only numbers between 200 and 100000 are allowed. -;opcache.max_accelerated_files=2000 - -; 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 - -; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments" -; may be always stored (save_comments=1), but not loaded by applications -; that don't need them anyway. -;opcache.load_comments=1 - -; If enabled, a fast shutdown sequence is used for the accelerated code -;opcache.fast_shutdown=0 - -; 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=0xffffffff - -;opcache.inherited_hack=1 -;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 - -[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= - -; Local Variables: -; tab-width: 4 -; End: diff --git a/php/php5embed.lib b/php/php5embed.lib deleted file mode 100644 index eb11230..0000000 Binary files a/php/php5embed.lib and /dev/null differ diff --git a/php/php5phpdbg.dll b/php/php5phpdbg.dll deleted file mode 100644 index 934c573..0000000 Binary files a/php/php5phpdbg.dll and /dev/null differ diff --git a/php/phpdbg.exe b/php/phpdbg.exe deleted file mode 100644 index 3dd76d5..0000000 Binary files a/php/phpdbg.exe and /dev/null differ diff --git a/php/readme-redist-bins.txt b/php/readme-redist-bins.txt deleted file mode 100644 index 75276dd..0000000 --- a/php/readme-redist-bins.txt +++ /dev/null @@ -1,442 +0,0 @@ -1. libmagic (ext/fileinfo) see ext/fileinfo/libmagic/LICENSE -2. Oniguruma (ext/mbstring) see ext/mbstring/oniguruma/COPYING -3. libmbfl (ext/mbstring) see ext/mbstring/libmbfl/LICENSE -4. pcrelib (ext/pcre) see ext/pcre/pcrelib/LICENCE -5. ext/standard crypt -6. ext/standard crypt's blowfish implementation -7. Sqlite/Sqlite3 ext/sqlite3 ext/sqlite -8. ext/json/json_parser -9. ext/standard/rand -10. ext/standard/scanf -11. ext/standard/strnatcmp.c -12. ext/standard/uuencode -13. libxmlrpc ext/xmlrpc -14. libzip ext/zip -15. main/snprintf.c -16. main/strlcat -17. main/strlcpy -18. libgd see ext/gd/libgd/COPYING - -5. 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. - - -6. 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 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 , and uses some of his -ideas. The password hashing algorithm was designed by David Mazieres -. 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). - - -7. Sqlite/Sqlite3 ext/sqlite3 ext/sqlite - -The author disclaims copyright to this source code. In place of -a legal notice, here is a blessing: - May you do good and not evil. - May you find forgiveness for yourself and forgive others. - May you share freely, never taking more than you give. - - -8. ext/json/json_parser -Copyright (c) 2005 JSON.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -The Software shall be used for Good, not Evil. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -9. 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. - - -10. 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. - -11. ext/standard/strnatcmp.c - -strnatcmp.c -- Perform 'natural order' comparisons of strings in C. -Copyright (C) 2000 by Martin Pool - -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. - -12. 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. - - -13. 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. - -14. libzip ext/zip -zip.h -- exported declarations. -Copyright (C) 1999-2009 Dieter Baron and Thomas Klausner - -This file is part of libzip, a library to manipulate ZIP archives. -The authors can be contacted 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. - -15. main/snprintf.c -Copyright (c) 2002, 2006 Todd C. Miller - -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 . - -This code is based on, and used with the permission of, the -SIO stdio-replacement strx_* functions by Panos Tsirigotis - for xinetd. - -16. main/strlcat -17. main/strlcpy -Copyright (c) 1998 Todd C. Miller -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. - diff --git a/php/snapshot.txt b/php/snapshot.txt deleted file mode 100644 index c2e8653..0000000 --- a/php/snapshot.txt +++ /dev/null @@ -1,224 +0,0 @@ -This snapshot was automatically generated on -Thu, 14 May 2015 02:50:37 +0000 - -Version: 5.6.9 -Branch: HEAD -Build: C:\php-sdk\php56\vc11\x86\obj\Release - -Built-in Extensions -=========================== -Core -bcmath -calendar -ctype -date -ereg -filter -ftp -hash -iconv -json -mcrypt -SPL -odbc -pcre -Reflection -session -standard -mysqlnd -tokenizer -zip -zlib -libxml -dom -PDO -Phar -SimpleXML -wddx -xml -xmlreader -xmlwriter -mhash - - -Dependency information: -Module: php-cgi.exe -=========================== - msvcr110.dll - -Module: php.exe -=========================== - msvcr110.dll - -Module: php-win.exe -=========================== - msvcr110.dll - -Module: phpdbg.exe -=========================== - msvcr110.dll - -Module: php5phpdbg.dll -=========================== - msvcr110.dll - -Module: php_bz2.dll -=========================== - msvcr110.dll - -Module: php_com_dotnet.dll -=========================== - msvcr110.dll - -Module: php_curl.dll -=========================== - libssh2.dll - libeay32.dll - ssleay32.dll - normaliz.dll - msvcr110.dll - -Module: php_enchant.dll -=========================== - libenchant.dll - msvcr110.dll - -Module: php_fileinfo.dll -=========================== - msvcr110.dll - -Module: php_gd2.dll -=========================== - msvcr110.dll - -Module: php_gettext.dll -=========================== - msvcr110.dll - -Module: php_gmp.dll -=========================== - msvcr110.dll - -Module: php_imap.dll -=========================== - msvcr110.dll - -Module: php_interbase.dll -=========================== - msvcr110.dll - -Module: php_intl.dll -=========================== - icuuc54.dll - icuin54.dll - icuio54.dll - msvcr110.dll - msvcp110.dll - -Module: php_ldap.dll -=========================== - libsasl.dll - msvcr110.dll - ssleay32.dll - libeay32.dll - -Module: php_mbstring.dll -=========================== - msvcr110.dll - -Module: php_oci8_12c.dll -=========================== - msvcr110.dll - -Module: php_opcache.dll -=========================== - msvcr110.dll - -Module: php_openssl.dll -=========================== - ssleay32.dll - libeay32.dll - msvcr110.dll - -Module: php_pgsql.dll -=========================== - libpq.dll - msvcr110.dll - -Module: php_shmop.dll -=========================== - msvcr110.dll - -Module: php_snmp.dll -=========================== - libeay32.dll - msvcr110.dll - -Module: php_sockets.dll -=========================== - iphlpapi.dll - msvcr110.dll - -Module: php_sqlite3.dll -=========================== - msvcr110.dll - -Module: php_sybase_ct.dll -=========================== - libsybcs.dll - libsybct.dll - msvcr110.dll - -Module: php_tidy.dll -=========================== - msvcr110.dll - -Module: php_exif.dll -=========================== - msvcr110.dll - -Module: php_mysql.dll -=========================== - msvcr110.dll - -Module: php_mysqli.dll -=========================== - msvcr110.dll - -Module: php_pdo_firebird.dll -=========================== - msvcr110.dll - -Module: php_pdo_mysql.dll -=========================== - msvcr110.dll - -Module: php_pdo_oci.dll -=========================== - msvcr110.dll - -Module: php_pdo_odbc.dll -=========================== - msvcr110.dll - -Module: php_pdo_pgsql.dll -=========================== - libpq.dll - msvcr110.dll - -Module: php_pdo_sqlite.dll -=========================== - msvcr110.dll - -Module: php_soap.dll -=========================== - msvcr110.dll - -Module: php_xmlrpc.dll -=========================== - msvcr110.dll - -Module: php_xsl.dll -=========================== - msvcr110.dll - diff --git a/php/ssleay32.dll b/php/ssleay32.dll deleted file mode 100644 index d146270..0000000 Binary files a/php/ssleay32.dll and /dev/null differ