PHP 8.2.0beta3: 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.0beta3 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.0beta3 tag from the PHP Git repository.
git clone --depth 1 --branch php-8.2.0beta3
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.0beta3-cli-alpine

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

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

Commit List

Alex Dowad

  • Use new encoding conversion filters for mb_parse_str and php_mb_post_handler in aeccb139c3
  • Remove unused 'to_language' and 'from_language' struct fields in 8df515555b
  • Make control flow in mb_wchar_to_cp50220 a bit clearer in 88d13491de
  • Imitate legacy behavior when converting non-encodings using mbstring in a4656895dd
  • Adjust number of error markers emitted for truncated UTF-8 code units in 128768a450
  • Adjust number of error markers emitted for truncated ISO-2022-JP escape sequence in c6bd08530e
  • Ensure that Base64 output always wraps lines in the same manner as legacy implementation in 4b370330d4
  • Fix legacy text conversion filter for CP50220 in 3517a70f93
  • Fix legacy text conversion filter for SJIS-2004 in 18e526cb51
  • In legacy text conversion filters, reset filter state in 'flush' function in f3c8efd711
  • Legacy conversion code for '7bit' to '8bit' inserts error markers in 983a29d3c0
  • SJIS-Mobile#SOFTBANK string can end immediately after special escape sequence in bfccdbd858
  • Fix problems with ISO-2022-KR conversion in d9269becca
  • Fix legacy text conversion filter for 'HTML-ENTITIES' in d617fcaae2
  • Add test to exercise _php_mb_encoding_handler_ex with multiple possible input encodings in 93207535fa

Bob Weinand

  • Save previous observer on the VM stack in dc5475c191
  • Add proper handling to observe functions in fibers in da94baf31a

Christoph M. Becker


  • zend allocators adding __declspec allocator for windows. in GH-9253
  • reallocarray using proper inline facility to check overflow on windows. in GH-9300
  • random left rotates annotating as const. in GH-9346

David Carlier

  • zend introduce const GNUC attribute. sub optimisation where there is no pointers, nor particular memory layout, thread local/volatile ... involved. usage concealed for now into little pack helpers in db64c1cb70

Denis Vaksman

Derick Rethans


  • Windows arm64 zend and standard extension support in 3a843f953b
  • Windows arm64 build system support in 279a297172

Dmitry Stogov

  • Fix order of checks to throw exception with better message in 18183ff9c7

Gabriel Caruso

George Peter Banyard

  • Convert some macros to zend_always_inline functions in GH-8288

Gert de Pagter

  • Correct IntlDateFormatter::formatObject params in 05ed47ef12

Go Kudo

  • Remove ZEND_DVAL_TO_LVAL_CAST_OK in GH-9215
  • CI: macos-10.15 -> macos-11 in GH-9087

Ilija Tovilo

  • Also fix ?-> on magic consts in const expressions in 7b43d819c8
  • DIM on null in const expr should emit warning in 3663f7661a
  • Fix mb_strimwidth RC info in a6f489b452
  • Add --[no-]progress option to run-tests.php in GH-9255
  • Make pestr[n]dup infallible in GH-9295
  • Show function name when dumping fake closure in GH-9306
  • Fix run-tests.php --no-progress flag for non-parallel testing in c809a213f2
  • Remove useless UNEXPECTED around RETURN_VALUE_USED in specialized RETVAL handler in GH-9329

Jakub Zelenka


  • QA - pcntl - adjust tests set/get priority check env vars and root user in 663b037c7b

Michael Olšavský

Michael Voříšek

Máté Kocsis

  • Declare ext/spl constants in stubs in GH-9226
  • Declare ext/intl constants in stubs - part 2 in GH-9219
  • Declare ext/intl constants in stubs - part 3 in GH-9233
  • Declare ext/intl constants in stubs - part 4 in GH-9234
  • Declare ext/intl constants in stubs - part 5 in GH-9267
  • Declare ext/intl constants in stubs - part 6 in GH-9268
  • Declare ext/intl constants in stubs - part 7 in GH-9269
  • Declare ext/intl constants in stubs - part 10 in GH-9280
  • Declare ext/intl constants in stubs - part 12 in GH-9282
  • Declare ext/intl constants in stubs - part 11 in GH-9281
  • Declare ext/intl constants in stubs - part 8 in GH-9275
  • Declare ext/intl constants in stubs - part 9 in GH-9276
  • Declare et/zip constants in stubs in GH-9146
  • Declare ext/sockets constants in stubs in GH-9349

Pierrick Charron


  • Implement constants in traits in GH-8888

Tim Düsterhus

  • Clean up nested exceptions without value-add in ext/random in GH-9211
  • Clean up the implementation of Randomizer::__construct() in GH-9222
  • Fix PcgOneseq128XslRr64::__construct() definition in random.stub.php in GH-9235
  • Add ext/random Exception hierarchy in GH-9220
  • Fix undefined behavior of MT_RAND_PHP if range exceeds ZEND_LONG_MAX in GH-9197
  • Handle all-zero state in Xoshiro256** in GH-9250
  • Update expires format for session cookie in GH-9304
  • Replace RuntimeException in Randomizer::nextInt() by RandomException in GH-9305


  • Re-fix GH-8409: SSL handshake timeout persistent connections hanging in b8d07451d4
  • Fix unexpected deprecated dynamic property warning in GH-9324

Tyson Andre

  • Make "{$g{'h'}}" emit fatal error and no incorrect deprecation notice in 8.2 in GH-9264

Vladislav Senin

  • Fixes CI macOs, replacing now disabled tidyp dependency to tidy-html5 in 8aeae636e3


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.