PHP 8.2.0RC2: Downloads, Changelog, News

Release Information

PHP Version
PHP 8.2
Release Date
Release Type
Bug Fix Release
Release Status
Use PHP 8.2.20 instead
Branch Status

PHP 8.2.0RC2 is an old release of PHP 8.2 series. Using the latest version PHP 8.2.20 is highly recommended.
PHP 8.2 continues to receive bug fixes and security fixes until 2024-12-31.


Source Code

Git Clone
Use Git to clone the 8.2.0RC2 tag from the PHP Git repository.
git clone --depth 1 --branch php-8.2.0RC2
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.2.0RC2-cli-alpine

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

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

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

Commit List

Arnaud Le Blanc

  • Add tests in db1ef97209
  • Fix high opcache.interned_strings_buffer causing shm corruption in GH-9260
  • Log the cause of error when opcache cannot write to file cache in GH-9258
  • Check return value of zend_jit_trace_get_exit_addr() in GH-9097

Ben Ramsey

  • Add PHP-8.2 branch to build processes in 8330a0f323

Bob Weinand

  • Store default object handlers alongside the class entry in 9e6eab3c13
  • Fix compilation on MacOS in 800c6672e5
  • Port all internally used classes to use default_object_handlers in 94ee4f9834
  • Revert "Port all internally used classes to use default_object_handlers" in a01dd9feda
  • Revert "Store default object handlers alongside the class entry" in 5a0b68bed7
  • Revert "Fix compilation on MacOS" in d1fc0017c9

Christoph M. Becker

David Bohman


  • Fix GH-9493: fix ancillary data build for FreeBSD prior to the 13 release. in GH-9496

Derick Rethans

  • Fixed MemorySanitizer: use-of-uninitialized-value warning introduced by 932586c4 in 8cdfffb753
  • Don't return existing error_container/NULL, but use by-ref instead in f799bc4eca
  • Fixed error updating once more in 49c029858b

Dmitry Stogov

  • Fix type inference in 81cb005ef7
  • Reset FG(user_stream_current_filename) at the end of request in d0b3096ff0

George Peter Banyard

  • Update INI validator and displayers depending on INI type in 1ad59b32c2
  • Update globals to use bool type in 5011a185b5
  • Add zend_string INI validators in 3e362f51ac
  • Introduce PROGRESS_CACHE_SLOT() macro in 80315edd58
  • Fix GH-9516: (A&B)|D as a param should allow AB or D. Not just A in 9286101da4
  • Use DNF intersection type check also for simple intersection types in c70a8281e3
  • Update cache slot size calculation in compact_literals.c in 6c4d24e4f0
  • Only check classes in intersection type if the type might be valid in 5bfceae770
  • Update NEWS with DNF type check bug fix in 3675041d03
  • Fix GH-9308 GMP throws the wrong error when a GMP object is passed to gmp_init() in 293e69179d
  • Fix GH-9421 Incorrect argument number for ValueError in NumberFormatter in 47500f3300
  • Refactor _xml_add_to_info() in 0b8ad94b91
  • Mark _xml_decode_tag() as taking a const XML_Char* in 6aef13402e
  • Do early returns in xml.c in 951bd74038

Ilija Tovilo

  • Fix class name FQN when AST dumping new and class const in 2cfb028e22
  • Private method incorrectly marked as "overwrites" in reflection in 1435fc6262
  • Fix lsp error in eval'd code referring to incorrect class for static type in d5373eac46
  • Fix undefined left shift in oci in aa7f4497bf
  • Skip oci tests that leak under asan in 4a8cca241f
  • Fix syntax error when dnf type in parens after readonly in 08b7539583
  • Mark gh9259_003.phpt as xfail with ASAN in e9a0d21a06
  • Fix ZEND_RC_MOD_CHECK() for thread local ini parser strings in 9af98cd465

Jakub Zelenka

Michael Voříšek

  • Always skip randomly failing OCI8 extauth tests in 9a73ec0367
  • Fix oci_success_with_info.phpt test random failures in 7fd14eb08b

Máté Kocsis

  • Declare ext/standard constants in stubs - part 4 in 64b962b241
  • Declare ext/standard constants in stubs - part 5 in 6f2f228e4a
  • Fix memory leak triggered by unsuccessful dynamic property unserialization in 5c3559464b
  • Declare ext/standard constants in stubs - part 6 in cfa72ff3af
  • Add parenthesis around preprocessor conditions in stubs in e733ebf30e
  • Regenerate optimizer func info after preprocessor condition changes in 5210872747
  • Fix inexistent in 59180b50b3
  • Add support for validation of missing class synopses in GH-9472
  • Upgrade PHP parser to 4.15.1 in 05aa3b3e0a
  • Add support for validation of missing method synopses in GH-9491
  • Declare ext/standard constants in stubs - part 7 in GH-9505
  • Validate if the refpurpose and the description is in sync in GH-9510
  • Require PHP 7.4 at least for running the build system in GH-9519
  • Use PHP 7.4 syntax in gen_stub.php in 8b632749d7

Nicolas Grekas

  • Fix GH-8932: Provide a way to get the called-scope of closures in GH-9299

Niklas Keller

Pierrick Charron

Sara Golemon

Sergey Panteleev

Tim Düsterhus

  • Mark crypt()'s $string parameter as #[\SensitiveParameter] in c77bbf6fe5
  • Unify structure for ext/random's randomizer tests in GH-9410
  • random: Validate that the arrays do not contain extra elements when unserializing in GH-9458


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.