PHP 8.5.0RC4 is an old release of PHP 8.5 series. Using the latest version PHP 8.5.4 is highly recommended.
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.0RC4 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.5.0RC4How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (
Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.
./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.
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.0RC4-x64TS.zip
Size: 0 MiB
php-8.5.0RC4-x86TS.zip
Size: 0 MiB
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.0RC4-cli-alpineDebian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.5.0RC4-cliPHP 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.0RC4-fpm-alpineDebian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.5.0RC4-apacheDebian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
docker pull php:8.5.0RC4-fpmCommit List
Alexandre Daubois
- Fix GH-20217:
ReflectionClass::isIterable()should return false for classes with property hooks in GH-20241
Arnaud Le Blanc
- NEWS in 94f48f1ade
- NEWS in df9141079c
Calvin Buckley
- Move iconv const check into autoconf (8.3) in GH-20247
Daniel Scherzer
- UPGRADING 8.5: fix misplaced
()in GH-20272 ext/lexbor: usePHP_VERSIONfor extension version in GH-20291- Fix GH-20377: emit assignment for all final promoted properties in GH-20378
David Carlier
- Fix GH-20257: heap overflow on empty message in
lfmode in d378dce3e9 ext/zip: ZipArchive callback missingzend_release_fcall_info_cachein 3884438fe3ext/gd: Fix GH-19955 unit test in 3c063abba1ext/zip: fix memory leak when encryption is passed as userland array option in 55f7303d73
Gina Peter Banyard
- Fix GH-20194: null offset deprecation not emitted for writes in GH-20238
ext/pgsql: Fix segfaults when attempting to fetch row into a non-instantiable class name in GH-20180- Fix include paths for new pgsql tests in 14ed75e560
Ilija Tovilo
- Fix parent hook call with named args in b150eb35d4
- Fix stale EG(opline_before_exception) pointer through eval in 12920370e1
- Fix EG(current_execute_data) introduced in 1292037 in 5518165499
- Reset Z_EXTRA_P(op2) of
ZEND_INIT_FCALLfor opcache file cache in 50c7f498b9
Jakub Zelenka
- Fix GH-19798: XP_SOCKET XP_SSL: Incorrect condition for Win in eef11e048d
Máté Kocsis
- Add Tim as a maintainer of
ext/uriin f8d804b9ee - Fix GH-20274
SoapClient::__doRequestundocumented backwards incompatible in PHP 8.5 in GH-20278 - Reorganize
ext/uritests - withers in GH-19970 - Fix the distinction between missing and empty username/password for RFC3986 URIs in GH-20335
- Fix latest
ext/uriNEWS entry in 51ca716853 - Reorganize
ext/uritests - parsing in GH-20340
Niels Dossche
- Use MYSQL_TYPE constants instead of FIELD_TYPE in c7fc819c2d
- Fix UAF in tidy when tidySetErrorBuffer() fails in 58df9fcf98
- Fix macro check that I forgot to commit in aebe5c92a9
- Make
bug70417.phptless flaky in ed9529a7d3 - Fix GH-20281: `Dom\Document::getElementById()` is inconsistent after nodes are removed in cb1f9327c4
- ftp: Fix weird typo in GH-20295
- Fix GH-20240: FTP with SSL:
ftp_fput(): Connection timed out on successful writes in 8761c4e507 - Fix GH-20201: AVIF images misdetected as HEIF after introducing HEIF support in
getimagesize()in 0b974dd663 - Fix GH-20302: Freeing a phar alias may invalidate PharFileInfo objects in 6fe40de6e3
- Update zlib test to use separate file for
flock()in c3d6bf65d5 - Fixes to uri serialization in GH-20369
- Revert "Update pcre2lib from 10.45 to 10.46 (#19618)" in 3ef966ceb7
- Revert "Upgrade bundled pcre2lib to 10.45 (#17825)" in ed3e48b506
- NEWS for GH-20341 in f4b27bdc0d
- random: Fix memory leak when serialization fails in GH-20383
Tim Düsterhus
- uri: Use the “includes credentials” rule for WhatWg user/password getters in GH-20303
- uri: Unify exception testing for modification tests in GH-20368
Volker Dusch
- Update versions for PHP 8.5.0RC4 in 51a93fc002