PHP 8.0.0RC4: Downloads, Changelog, News

Release Information

PHP Version
PHP 8.0
Release Date
Release Type
Bug Fix Release
Release Status
EOL, Use PHP 8.0.30
Branch Status

PHP 8.0 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 8.0.0RC4 is not recommended. PHP 8.0.30 is the latest version in the series.


Source Code

Git Clone
Use Git to clone the 8.0.0RC4 tag from the PHP Git repository.
git clone --depth 1 --branch php-8.0.0RC4
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.
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.

Docker/Podman Containers

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.0.0RC4-cli-alpine

Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.0.0RC4-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.0.0RC4-fpm-alpine

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

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

Commit List

Alexander M. Turek

Alex Dowad

Bogdan Ungureanu

  • Improved error message for typed class properties with null as default value in 6d6fadeb0d

Chris Brown

Christoph M. Becker

Derick Rethans


Dmitry Stogov

  • Fixed support for named parameters (Zend/tests/named_params/references.phpt) in 43e493884c
  • Fixed tracing JIT support for aliasses (Zend/tests/bug75420.13.phpt and ext/standard/tests/streams/bug60106.phpt) in e6b51ccc58
  • Fixed memory leak in Zend/tests/bug78999.phpt in 47a56208f0
  • Don't force rebuild of symbol table, when populating $http_response_header variable by the HTTP stream wrapper in 2693f799be
  • Fixed run-time binding of preloaded dynamically declared function in 68f80be9d1
  • Create TSSA loops for recursive call/return traces and move invariant type guards out of loops in b133183e35
  • Fixed incorrect invariant guard motion in ff91800602
  • Move stack overflow checks out of the loops in 98e4f9466d
  • Fixed missaligned access in 4bbe55b250

Gabriel Caruso

Nikita Popov

  • Sync test with master in fe55fe1f54
  • Fixed bug #66528 in 68dcaa29d8
  • Fixed bug #65825 in a66d73db4b
  • Retain QUIT_SEND connection state in 24537a73c0
  • Report gone away error in one more place in 78b44ddeba
  • Handle errors during PDO row fetch in 0044a81fbb
  • Fixed bug #80290 in 3bd3651bcc
  • Fix signed integer overflow in 085e16c301
  • Fix SSA integrity violation for type inference in dead code in 83738281eb
  • FIxed bug #80299 in 904c1b6589
  • Rename opcache.jit_max_loops_unroll to opcache.jit_max_loop_unrolls in 0571f09424
  • Fix another implicit function declaration in configure in 00ba784a2c
  • Preserve trait method alias name during preloading in 6f2431860b
  • Fix persisting property info table with internal parent in 14c42c6961
  • Don't ignore internal classes during preloading in 51b5f7d67d
  • Fix variance checks on resolved union types in ee934f8245
  • Allow unlinked classes when performing in_compilation variance check in 7e55317558
  • Fix use of type copy ctor when importing trait properties in 9fd8e00f1a
  • Report parse errors during preloading in b009573f4e
  • Don't disable early binding during preloading script in 54668a449e
  • Fix dynamic function definition in preload script in e0d6c3f7ba
  • Don't disable opcache for generic tests in 9ed2f4898b
  • Don't xfail method_static_var.phpt in 57b0e5a045
  • Assert that references are not persisted in 7794925ba4
  • Fix static variable in methods inheritance during preloading in 670fe594b9
  • getlastmod() can return false in 73321bc300
  • End output handlers in preload shutdown in 7c7c6b0d73
  • Fix multiple trait fixup in 33969c2252
  • Fixup trait methods even if no traits are used in 2effbfd871
  • Backport preloading trait fixup fixes in 6808968c89
  • Rename PhpToken::getAll() to PhpToken::tokenize() in b1019f46ed
  • Skip preload test under asan in 5df461bc91
  • Fixed bug #80334 in 6fb3d92525
  • Use true/false instead of TRUE/FALSE in intl in 975735c027
  • Fix phi use chain management when renaming variable in d971b67027
  • Add integration test for symfony preloading in f419e049ff

Remi Collet

  • only display libzip both headers/library versions if they differ in 8d7ca472e5
  • report about ZSTD compression availability in e2509cf98a
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.