Home » Releases » 5.4 » 5.4.45 »

PHP 5.4.1

PHP 5.4 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.4 is 5.4.45.

Source Code

Change Log

  • 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*+<NUM>).
      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

PHP 5.4


  Represents a security release