PHP Release 5.2.5


PHP 5.2.5 Release Announcement

The PHP development team would like to announce the immediate availability of PHP 5.2.5. This release focuses on improving the stability of the PHP 5.2.x branch with over 60 bug fixes, several of which are security related. All users of PHP are encouraged to upgrade to this release.

Security Enhancements and Fixes in PHP 5.2.5:

  • Fixed dl() to only accept filenames. Reported by Laurent Gaffie.
  • Fixed dl() to limit argument size to MAXPATHLEN (CVE-2007-4887). Reported by Laurent Gaffie.
  • Fixed htmlentities/htmlspecialchars not to accept partial multibyte sequences. Reported by Rasmus Lerdorf
  • Fixed possible triggering of buffer overflows inside glibc implementations of the fnmatch(), setlocale() and glob() functions. Reported by Laurent Gaffie.
  • Fixed "mail.force_extra_parameters" php.ini directive not to be modifiable in .htaccess due to the security implications. Reported by SecurityReason.
  • Fixed bug #42869 (automatic session id insertion adds sessions id to non-local forms).
  • Fixed bug #41561 (Values set with php_admin_* in httpd.conf can be overwritten with ini_set()).

Key enhancements in PHP 5.2.5 include:

  • Upgraded PCRE to version 7.3
  • Updated timezone database to version 2007.9
  • Added ability to control memory consumption between request using ZEND_MM_COMPACT environment variable.
  • Improved speed of array_intersect_key(), array_intersect_assoc(), array_uintersect_assoc(), array_diff_key(), array_diff_assoc() and array_udiff_assoc() functions
  • Fixed bug #43139 (PDO ignores ATTR_DEFAULT_FETCH_MODE in some cases with fetchAll())
  • Fixed bug #42785 (json_encode() formats doubles according to locale rather then following standard syntax)
  • Fixed bug #42549 (ext/mysql failed to compile with libmysql 3.23)
  • Over 60 bug fixes.

For users upgrading from PHP 5.0 and PHP 5.1, an upgrade guide is available here, detailing the changes between those releases and PHP 5.2.5.

For a full list of changes in PHP 5.2.5, see the ChangeLog.

Source Code
Change Logs
fixed bug #43099 (xmlwriter
  • Fixed bug #43130 (Bound parameters cannot have - in their name).
  • Fixed bug #43020 (Warning message is missing with shuffle() and more than one argument).
  • Fixed bug #42976 (Crash when constructor for newInstance() or newInstanceArgs() fails)
fixed bug #42917 (pdo
  • Fixed bug #42890 (Constant "LIST" defined by mysqlclient and c-client).
  • Fixed bug #42869 (automatic session id insertion adds sessions id to non-local forms).
  • Fixed bug #42818 ($foo = clone(array()); leaks memory).
  • Fixed bug #42817 (clone() on a non-object does not result in a fatal error).
  • Fixed bug #42785 (json_encode() formats doubles according to locale rather then following standard syntax).
  • Fixed bug #42783 (pg_insert() does not accept an empty list for insertion).
  • Fixed bug #42773 (WSDL error causes HTTP 500 Response).
  • Fixed bug #42772 (Storing $this in a static var fails while handling a cast to string).
  • Fixed bug #42767 (highlight_string() truncates trailing comment).
  • Fixed bug #42739 (mkdir() doesn't like a trailing slash when safe_mode is enabled).
fixed bug #42703 (exception raised in an iterator
  • Fixed bug #42699 (PHP_SELF duplicates path).
  • Fixed bug #42654 (RecursiveIteratorIterator modifies only part of leaves)
  • Fixed bug #42643 (CLI segfaults if using ATTR_PERSISTENT).
fixed bug #42637 (soapfault
  • Fixed bug #42629 (Dynamically loaded PHP extensions need symbols exported on MacOSX).
  • Fixed bug #42627 (bz2 extension fails to build with -fno-common).
  • Fixed Bug #42596 (session.save_path MODE option does not work).
  • Fixed bug #42590 (Make the engine recognize \v and \f escape sequences).
  • Fixed bug #42587 (behavior change regarding symlinked .php files).
  • Fixed bug #42579 (apache_reset_timeout() does not exist).
  • Fixed bug #42549 (ext/mysql failed to compile with libmysql 3.23).
  • Fixed bug #42523 (PHP_SELF duplicates path).
  • Fixed bug #42512 (ip2long('255.255.255.255') should return 4294967295 on 64-bit PHP).
  • Fixed bug #42506 (php_pgsql_convert() timezone parse bug)
  • Fixed bug #42496 (OCI8 cursor is not closed when using 2 clobs in a select query).
  • Fixed bug #42462 (Segmentation when trying to set an attribute in a DOMElement).
  • Fixed bug #42453 (CGI SAPI does not shut down cleanly with -i/-m/-v cmdline options).
  • Fixed bug #42452 (PDO classes do not expose Reflection API information).
  • Fixed bug #42468 (Write lock on file_get_contents fails when using a compression stream).
  • Fixed bug #42488 (SoapServer reports an encoding error and the error itself breaks).
  • Fixed bug #42378 (mysqli_stmt_bind_result memory exhaustion).
fixed bug #42359 (xsd
  • Fixed bug #42326 (SoapServer crash).
  • Fixed bug #42214 (SoapServer sends clients internal PHP errors).
  • Fixed bug #42189 (xmlrpc_set_type() crashes php on invalid datetime values).
  • Fixed bug #42139 (XMLReader option constants are broken using XML()).
  • Fixed bug #42086 (SoapServer return Procedure '' not present for WSIBasic compliant wsdl).
  • Fixed bug #41822 (Relative includes broken when getcwd() fails).
  • Fixed bug #41561 (Values set with php_admin_* in httpd.conf can be overwritten with ini_set()).
  • Fixed bug #39651 (proc_open() append mode doesn't work on windows).
To Top