PHP 8.5.3: Downloads, Changelog, News

Release Information

Release
8.5.3
PHP Version
PHP 8.5
Release Date
Release Type
Bug Fix Release
Release Status
Latest
Branch Status
Supported (Latest)

Latest PHP release in the latest version.
PHP 8.5 continues to receive bug fixes and security fixes until 2027-12-31.

Downloads

Source Code

Git Clone
Use Git to clone the 8.5.3 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.5.3
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (./buildconf), configuring the build ./configure, and running make.
Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.

Windows binaries

Non-Thread Safe Builds
Non-Thread Safe (NTS) builds are single-threaded PHP builds. They can be used on web servers that integrate PHP over FastCGI protocol, such as Nginx, Caddy, and IIS.
php-8.5.3-x64NTS.zip
Size: 33.32 MiB SHA256: 53919383d27fdd6ea96457b887e8a1d102bca6242952ad074500bde90c592cc9
php-8.5.3-x86NTS.zip
Size: 29.8 MiB SHA256: 964fe7008a3d72079bb858fdcfe83bab94ae8fa5a6bcc8f4a7ed51e45e3f7130
Thread-Safe Builds
Thread-Safe (TS) builds are multi-thread PHP builds, often used to integrate PHP as a Server API for multithreaded servers. The most common use case is using PHP as an Apache module.
php-8.5.3-x64TS.zip
Size: 33.45 MiB SHA256: 636077a9e976b19f3b4a2b47b439a144f24ab69a7e429b6e9001818723eb77b2
php-8.5.3-x86TS.zip
Size: 29.86 MiB SHA256: a03937288bbb31e2382529d1a2218d623d7661ecf16ab095c00066fd0467ca78

Docker/Podman Containers

PHP CLI
PHP CLI Containers images only include the PHP CLI, and no FPM or Apache modules. The Alpine builds are lightweight, but may introduce incompatibilities due to their musl builds. Albeit their larger size, the Debian-based (without the "-alpine" suffix) images are more complete, and widely used.

Alpine-based: Lightweight, but may introduce incompatibilities due to their musl builds.
docker pull php:8.5.3-cli-alpine

Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.5.3-cli
PHP CLI + Web Server Integration
These container images include PHP CLI, and a web server integration. FPM container images can be integrated with web servers such as Nginx, Caddy, and Apache with Event MPM. The Apache container images include Apache web server, integrating PHP as an Apache module.

Alpine-based: Lightweight, but may introduce incompatibilities due to their musl builds.
docker pull php:8.5.3-fpm-alpine

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.5.3-apache

Debian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
docker pull php:8.5.3-fpm

ChangeLog

Core

  • Fixed bug GH-20806 (preserve_none feature compatiblity with LTO).
  • Fixed bug GH-20767 (build failure with musttail/preserve_none feature on macOs).
  • Fixed bug GH-20837 (NULL dereference when calling ob_start() in shutdown function triggered by bailout in php_output_lock_error()).
  • Fix OSS-Fuzz #471533782 (Infinite loop in GC destructor fiber).
  • Fix OSS-Fuzz #472563272 (Borked block_pass JMP[N]Z optimization).
  • Fixed bug GH-20914 (Internal enums can be cloned and compared).
  • Fix OSS-Fuzz #474613951 (Leaked parent property default value).
  • Fixed bug GH-20895 (ReflectionProperty does not return the PHPDoc of a property if it contains an attribute with a Closure).
  • Fixed bug GH-20766 (Use-after-free in FE_FREE with GC interaction).
  • Fix OSS-Fuzz #471486164 (Broken by-ref assignment to uninitialized hooked backing value).
  • Fix OSS-Fuzz #438780145 (Nested finally with repeated return type check may uaf).
  • Fixed bug GH-20905 (Lazy proxy bailing __clone assertion).
  • Fixed bug GH-20479 (Hooked object properties overflow).

Date

  • Update timelib to 2022.16.

DOM

  • Fixed GH-21041 (Dom\HTMLDocument corrupts closing tags within scripts).

MbString

  • Fixed bug GH-20833 (mb_str_pad() divide by zero if padding string is invalid in the encoding).
  • Fixed bug GH-20836 (Stack overflow in mb_convert_variables with recursive array references).

Opcache

  • Fixed bug GH-20818 (Segfault in Tracing JIT with object reference).

OpenSSL

  • Fix memory leaks when sk_X509_new_null() fails.
  • Fix crash when in openssl_x509_parse() when i2s_ASN1_INTEGER() fails.
  • Fix crash in openssl_x509_parse() when X509_NAME_oneline() fails.

Phar

  • Fixed bug GH-20882 (buildFromIterator breaks with missing base directory).

PGSQL

  • Fixed INSERT/UPDATE queries building with PQescapeIdentifier() and possible UB.

Readline

  • Fixed bug GH-18139 (Memory leak when overriding some settings via readline_info()).

SPL

  • Fixed bug GH-20856 (heap-use-after-free in SplDoublyLinkedList iterator when modifying during iteration).

Standard

  • Fixed bug #74357 (lchown fails to change ownership of symlink with ZTS)
  • Fixed bug GH-20843 (var_dump() crash with nested objects)

Commit List

Alexander Borisov

Alexandre Daubois

  • Fix GH-20836: Stack overflow in mb_convert_variables with recursive array references in GH-20839

Arnaud Le Blanc

Ben Ramsey

Bob Weinand

  • Split the live-ranges of loop variables again in GH-20865
  • Regenerate VM after merge in 82e2055300

Calvin Buckley

  • Fix skipif for mkfifo usage in gh20582.phpt in GH-20804

Chris Hasiński

Daniel Scherzer

  • [8.5] NEWS: add some missing RFC entries in GH-20693
  • GitHub actions: drop more 8.1 CI configuration in GH-20763

David Carlier

Derick Rethans

Dmitry Stogov

Frank Denis

  • ext/sodium: use correct constants and error messages in GH-20852

henderkes

  • Make preserve_none check lto compatible in 02a6fecb97
  • Remove duplicate no/yes print for preserve_none in 7b70ee5a9d

Ilija Tovilo

  • Fix infinite loop in GC destructor fiber in 6f6c9e35e8
  • Fix block_pass JMP[N]Z optimization in f61b1fc036
  • Fix leaked parent property default value in 4bfaf549f6
  • Avoid huge output in gh20840.phpt in 462fcad419
  • Fix by-ref assignment to uninitialized hooked backing value in 0efecbc432
  • Fix uaf for nested finally with repeated return type check in 19b30032c9
  • Fix run-tests.php -s flag in ee5fc4a030
  • Fix lazy proxy bailing __clone assertion in f38f74521b

Jakub Zelenka

Michael Orlitzky

  • ext/dba/tests/dba_db4_018.phpt: fix typo in GH-20938

Máté Kocsis

  • Fix constant references inside parameter default values when generating the manual in eb1e22b1df
  • Reorganize ext/uri tests - equivalence in GH-20391

Niels Dossche

  • Fix GH-18139: Memory leak when overriding some settings via readline_info() in 30ed81314b
  • uri: Fix RFC3986 to_string implementation with ExcludeFragment returning non-terminated strings in GH-20811
  • streams/memory: Ensure internal string is NUL terminated in GH-20812
  • Fix GH-20833: mb_str_pad() divide by zero if padding string is invalid in the encoding in 03113b09ce
  • fastcgi: Fix compile warning wrt safe_read() in GH-20887
  • Fix GH-20882: phar buildFromIterator breaks with missing base directory in a6e0d8e359
  • Fix GH-20856: heap-use-after-free in SplDoublyLinkedList iterator when modifying during iteration in 2a2e0e8128
  • Fix bug52820 test for new libcurl release in 636f84adcf
  • Add test for GH-20880 in GH-20919
  • Fix GH-20890: Segfault in zval_undefined_cv with non-simple property hook with minimal tracing JIT in 57c62eb2b3
  • Revert "Fix GH-20890: Segfault in zval_undefined_cv with non-simple property hook with minimal tracing JIT" in 32c0245531
  • Fix hooked object properties overflow in d9cbc3117c
  • Fix memory leaks when sk_X509_new_null() fails in 7754eafb1f
  • Fix crash when in openssl_x509_parse() when i2s_ASN1_INTEGER() fails in c2eadb4922
  • Fix crash in openssl_x509_parse() when X509_NAME_oneline() fails in 62afc7a2fa

Peter Kokot

  • Use PHP 8+ square brackets for array elements in c4084bb8f3

Remi Collet

  • Fix missing liburiparser linker option in 9b089edcbd

Tim Düsterhus

  • output: Fail starting to output buffer when the output layer is deactivated in GH-20846
  • zend_language_parser: Backup / restore doc comment when parsing attributes in GH-20896

Volker Dusch

Subscribe to PHP.Watch newsletter for monthly updates

You will receive an email on last Wednesday of every month and on major PHP releases with new articles related to PHP, upcoming changes, new features and what's changing in the language. No marketing emails, no selling of your contacts, no click-tracking, and one-click instant unsubscribe from any email you receive.