PHP 8.2.0RC1: Downloads, Changelog, News

Release Information

Release
8.2.0RC1
PHP Version
PHP 8.2
Release Date
Release Type
Bug Fix Release
Release Status
Use PHP 8.2.26 instead
Branch Status
Supported

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

Downloads

Source Code

Git Clone
Use Git to clone the 8.2.0RC1 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.2.0RC1
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
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.0RC1-cli-alpine

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

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.2.0RC1-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.0RC1-fpm

Commit List

Alex Dowad

  • Reintroduce legacy 'SJIS-win' text encoding in mbstring in 371367ce3e

Andreas Braun

  • Update gen_stub to avoid compile errors on duplicate function names in f7d42f646b

Ben Ramsey

  • Revert "Fix GH-9296: ksort behaves incorrectly on arrays with mixed keys" in 1862152145

Bob Weinand

  • Add an API to observe functions and classes being linked in bf427b732a
  • Wrap observer notify functions into inlined enabled checks in 396b2aab85
  • Delay fiber VM stack cleanup until after observer has been called in 8fe1db2089

Calvin Buckley

Christoph M. Becker

David Carlier

  • opcache jit fix message format for OpenBSD in 52e312afb8
  • FPM fix strict prototype warnings in e2a5428ca0

David CARLIER

Derick Rethans

  • Fixed bug GH-9431: DateTime::getLastErrors() not returning false when no errors/warnings in 932586c426

Dmitry Menshikov

  • Fix GH-8885: access.log with stderr writes logs to error_log after reload in f92505cf24

Dmitry Stogov

Gabriel Caruso

George Peter Banyard

  • Fix bad merge in 5739dd0030
  • Revert Fixed bug #79451 in d6831e9a5c
  • Add a new zend API to check that strings don't have NUL bytes in GH-9375
  • Use bool instead of int in session struct in e8e015777e
  • Add test for negative cookie lifetime in a75de167bf
  • Remove OnUpdateLazyWrite validator in e9749a3c1e
  • Remove OnUpdateTransSid validator in ad3ee47c6d
  • Check sessions are active before output emitted consistently in a8f8cc207c
  • SameSite session cookie prop should behave like other INI settings in 66aed3a86f
  • Check at compile time that a built-in class is not being aliased in GH-9402

Ilija Tovilo

Jakub Zelenka

Michael Voříšek

Mikhail Galanin

Máté Kocsis

  • Declare ext/curl constants in stubs in GH-9384
  • Declare ext/tidy constants in stubs in GH-9383
  • Fix GH-9285 Traits cannot be used in readonly classes in 0897266219
  • Declare ext/intl constants in stubs - part 13 in GH-9385
  • Fix curl/sync_constants.php in GH-9391
  • Declare phpdbg constants in stubs in GH-9392
  • Declare ext/intl constants in stubs - part 14 in GH-9387
  • Declare ext/standard constants in stubs - part 1 in GH-9404
  • Declare ext/oci8 constants in stubs in GH-9419
  • Declare ext/standard constants in stubs - part 2 in GH-9426
  • Declare ext/standard constants in stubs - part 3 in GH-9427
  • Do not generate CONST_CS when registering constants in GH-9439
  • Fix zend/test aliases in ef21bbe66c
  • Adjust PHPDoc in 869ab3c481
  • Remove unused ext/zend_test alias functions in 8d78dce902
  • Fix GH-9186 @strict-properties can be bypassed using unserialization in GH-9354

NathanFreeman

  • Fix bug #79451: Using DOMDocument->replaceChild on doctype causes double free in 1d4300d870
  • Fix #79451: DOMDocument->replaceChild on doctype causes double free in 6027d441c1

Ollie Read

  • Enum error message consistency in GH-9350

Pierrick Charron

Remi Collet

  • add compat stuff for function attributes in aa702c5459

Sara Golemon

Tim Düsterhus

  • Unify structure for ext/random's engine tests in GH-9321
  • Fix rand_range32() for umax = UINT32_MAX in GH-9416
  • Select rand_rangeXX() variant only based on the requested range in GH-9418

Tim Starling

  • Fix GCC 9.4 uninitialized variable warning in 410e5d48a3
  • Fix GH-9323: crash when the VM enters userspace code via the GC in ba029fce68
  • Add libxml_get_external_entity_loader() in 11796229f2

Tyson Andre

  • Make var_export/debug_zval_dump check for infinite recursion on the object in GH-9448

Vedran Miletić

  • Respond without body to HEAD request on a static resource in 4f509058a9
  • Respond with HTTP status 405 to DELETE/PUT/PATCH request on a static resource in 7065a222b7

wxue1

  • Stop JIT hot spot counting in GH-9343
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.

Support PHP.Watch — If you find the articles, version information, Codex, and other PHP.Watch contributions useful, consider supporting through GitHub Sponsors. Your sponsorship helps dedicate more time to creating valuable content and improving the PHP community. Together, we can keep the momentum going — thank you for your support!

Thanks to the highest tier sponsor: @TomasVotruba for your generous support to keep PHP.Watch moving 💜