PHP 5.2 is no longer officially supported by the PHP project.
Official support refers to that provided direct by the PHP Project.
If you install PHP via third-party packages, support timelines may be different.
Please read the Release Support Policy for more information.
The latest release of PHP 5.2 is
5.2.17.
Source Code
Change Log
-
misc
-
Fixed two possible crashes inside posix extension (Tony)
-
Fixed incorrect heredoc handling when label is used within the block.
-
Fixed possible stack buffer overflow in FastCGI SAPI.
-
Fixed sending of uninitialized paddings which may contain some information.
-
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.
-
Fixed potential memleak in stream filter parameter for zlib filter.
-
Added Reflection API metadata for the methods of the DOM classes.
-
Fixed weird behavior in CGI parameter parsing.
-
Fixed a safe_mode bypass in cURL identified by Maksymilian Arciemowicz.
-
Fixed a bug with PDO::FETCH_COLUMN|PDO::FETCH_GROUP mode when a column # by which to group by data is specified.
-
Fixed segfault in filter extension when using callbacks.
-
Fixed faulty fix for bug #40189 (endless loop in zlib.inflate stream filter).
-
Upgraded PCRE to version 7.6 (Nuno)
-
Fixed bug
#44742 (timezone_offset_get() causes segmentation faults).
-
Fixed bug
#44720 (Prevent crash within session_register()).
-
Fixed bug
#44703 (htmlspecialchars() does not detect bad character set argument).
-
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).
-
Fixed bug
#44663 (Crash in imap_mail_compose if "body" parameter invalid).
-
Fixed bug
#44650 (escaepshellscmd() does not check arg count).
-
Fixed bug
#44613 (Crash inside imap_headerinfo()).
-
Fixed bug
#44603 (Order issues with Content-Type/Length headers on POST).
-
Fixed bug
#44594 (imap_open() does not validate # of retries parameter).
-
Fixed bug
#44591 (imagegif's filename parameter).
-
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).
-
Fixed bug
#44478 (Inconsistent behaviour when assigning new nodes).
-
Fixed bug
#44445 (email validator does not handle domains starting/ending with a -).
-
Fixed bug
#44440 (st_blocks undefined under BeOS).
-
Fixed bug
#44394 (Last two bytes missing from output).
-
Fixed bug
#44388 (Crash inside exif_read_data() on invalid images) (Ilia)
-
Fixed bug
#44373 (PDO_OCI extension compile failed).
-
Fixed bug
#44333 (SEGFAULT when using mysql_pconnect() with client_flags).
-
Fixed bug
#44306 (Better detection of MIPS processors on Windows).
-
Fixed bug
#44242 (metaphone('CMXFXM') crashes PHP).
-
Fixed bug
#44233 (MSG_PEEK undefined under BeOS R5).
jonathonfreeman at gmail dot com
Ilia
-
Fixed bug
#44216 (strftime segfaults on large negative value).
-
Fixed bug
#44209 (strtotime() doesn't support 64 bit timestamps on 64 bit platforms).
-
Fixed bug
#44206 (OCI8 selecting ref cursors leads to ORA-1000 maximum open cursors reached).
-
Fixed bug
#44200 (A crash in PDO when no bound targets exists and yet bound parameters are present).
-
Fixed bug
#44197 (socket array keys lost on socket_select).
-
Fixed bug
#44191 (preg_grep messes up array index).
-
Fixed bug
#44189 (PDO setAttribute() does not properly validate values for native numeric options).
-
Fixed bug
#44184 (Double free of loop-variable on exception).
-
Fixed bug
#44171 (Invalid FETCH_COLUMN index does not raise an error).
-
Fixed bug
#44166 (Parameter handling flaw in PDO::getAvailableDrivers()).
-
Fixed bug
#44159 (Crash: $pdo->setAttribute(PDO::STATEMENT_ATTR_CLASS, NULL)).
-
Fixed bug
#44152 (Possible crash with syslog logging on ZTS builds).
-
Fixed bug
#44141 (private parent constructor callable through static function).
-
Fixed bug
#44113 (OCI8 new collection creation can fail with OCI-22303).
-
Fixed bug
#44069 (Huge memory usage with concatenation using . instead of .=).
-
Fixed bug
#44046 (crash inside array_slice() function with an invalid by-ref offset).
-
Fixed bug
#44028 (crash inside stream_socket_enable_crypto() when enabling encryption without crypto type).
-
Fixed bug
#44018 (RecursiveDirectoryIterator options inconsistancy).
-
Fixed bug
#44008 (OCI8 incorrect usage of OCI-Lob->close crashes PHP).
-
Fixed bug
#43998 (Two error messages returned for incorrect encoding for mb_strto[upper|lower]).
-
Fixed bug
#43994 (mb_ereg 'successfully' matching incorrect).
-
Fixed bug
#43954 (Memory leak when sending the same HTTP status code multiple times).
-
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).
-
Fixed bug
#43875 (Two error messages returned for $new and $flag argument in mysql_connect()).
-
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).
-
Fixed bug
#43840 (mb_strpos bounds check is byte count rather than a character count).
-
Fixed bug
#43808 (date_create never fails (even when it should)).
-
Fixed bug
#43793 (zlib filter is unable to auto-detect gzip/zlib file headers).
-
Fixed bug
#43703 (Signature compatibility check broken).
-
Fixed bug
#43677 (Inconsistent behaviour of include_path set with php_value).
-
Fixed bug
#43663 (Extending PDO class with a __call() function doesn't work).
-
Fixed bug
#43647 (Make FindFile use PATH_SEPARATOR instead of ";").
-
Fixed bug
#43635 (mysql extension ingores INI settings on NULL values passed to mysql_connect()).
-
Fixed bug
#43620 (Workaround for a bug inside libcurl 7.16.2 that can result in a crash).
-
Fixed bug
#43614 (incorrect processing of numerical string keys of array in arbitrary serialized data).
-
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).
-
Fixed bug
#43580 (removed bogus declaration of a non-existent php_is_url() function).
-
Fixed bug
#43559 (array_merge_recursive() doesn't behave as expected with duplicate NULL values).
-
Fixed bug
#43533 (escapeshellarg('') returns null).
-
Fixed bug
#43527 (DateTime created from a timestamp reports environment timezone).
-
Fixed bug
#43522 (stream_get_line() eats additional characters).
-
Fixed bug
#43507 (SOAPFault HTTP Status 500 - would like to be able to set the HTTP Status).
-
Fixed bug
#43505 (Assign by reference bug).
-
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).
-
Fixed bug
#43495 (array_merge_recursive() crashes with recursive arrays).
-
Fixed bug
#43493 (pdo_pgsql does not send username on connect when password is not available).
-
Fixed bug
#43491 (Under certain conditions, file_exists() never returns).
-
Fixed bug
#43483 (get_class_methods() does not list all visible methods).
-
Fixed bug
#43482 (array_pad() does not warn on very small pad numbers).
-
Fixed bug
#43457 (Prepared statement with incorrect parms doesn't throw exception with pdo_pgsql driver).
-
Fixed bug
#43450 (Memory leak on some functions with implicit object __toString() call).
-
Fixed bug
#43386 (array_globals not reset to 0 properly on init).
-
Fixed bug
#43377 (PHP crashes with invalid argument for DateTimeZone).
-
Fixed bug
#43373 (pcntl_fork() should not raise E_ERROR on error).
-
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).
-
Fixed bug
#43295 (crash because of uninitialized SG(sapi_headers).mimetype).
-
Fixed bug
#43293 (Multiple segfaults in getopt()).
-
Fixed bug
#43279 (pg_send_query_params() converts all elements in 'params' to strings).
-
Fixed bug
#43276 (Incomplete fix for bug #42739, mkdir() under safe_mode).
-
Fixed bug
#43248 (backward compatibility break in realpath()).
-
Fixed bug
#43221 (SimpleXML adding default namespace in addAttribute).
-
Fixed bug
#43216 (stream_is_local() returns false on "file://").
-
Fixed bug
#43201 (Crash on using uninitialized vals and __get/__set).
-
Fixed bug
#43182 (file_put_contents() LOCK_EX does not work properly on file truncation).
-
Fixed bug
#43175 (__destruct() throwing an exception with __call() causes segfault).
-
Fixed bug
#43128 (Very long class name causes segfault).
-
Fixed bug
#43105 (PHP seems to fail to close open files).
-
Fixed bug
#43092 (curl_copy_handle() crashes with > 32 chars long URL).
-
Fixed bug
#43003 (Invalid timezone reported for DateTime objects constructed using a timestamp).
-
Fixed bug
#42978 (mismatch between number of bound params and values causes a crash in pdo_pgsql).
-
Fixed bug
#42945 (preg_split() swallows part of the string).
-
Fixed bug
#42937 (__call() method not invoked when methods are called on parent from child class).
-
Fixed bug
#42841 (REF CURSOR and oci_new_cursor() crash PHP).
-
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).
-
Fixed bug
#42736 (xmlrpc_server_call_method() crashes).
-
Fixed bug
#42692 (Procedure 'int1' not present with doc/lit SoapServer).
-
Fixed bug
#42548 (mysqli PROCEDURE calls can't return result sets).
-
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)).
-
Fixed bug
#42261 (Incorrect lengths for date and boolean data types).
-
Fixed bug
#42190 (Constructing DateTime with TimeZone Indicator invalidates DateTimeZone).
-
Fixed bug
#42177 (Warning "array_merge_recursive(): recursion detected" comes again...).
-
Fixed bug
#41941 (oci8 extension not lib64 savvy).
-
Fixed bug
#41828 (Failing to call RecursiveIteratorIterator::__construct() causes a sefault).
-
Fixed bug
#41599 (setTime() fails after modify() is used).
-
Fixed bug
#41562 (SimpleXML memory issue).
-
Fixed bug
#40013 (php_uname() does not return nodename on Netware (Guenter Knauf)
-
Fixed bug
#38468 (Unexpected creation of cycle).
-
Fixed bug
#32979 (OpenSSL stream->fd casts broken in 64-bit build) (stotty at tvnet dot hu)