PHP 8.2.0beta1: Downloads, Changelog, News

Release Information

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

PHP 8.2.0beta1 is an old release of PHP 8.2 series. Using the latest version PHP 8.2.21 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.0beta1 tag from the PHP Git repository.
git clone --depth 1 --branch php-8.2.0beta1
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.0beta1-cli-alpine

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

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

Commit List

Aaron Piotrowski

  • Prevent fiber switching in tick function and signal handlers in GH-9028

Alex Dowad

  • New implementation of mb_{de,en}code_numericentity in 91969e908f
  • Fix legacy conversion filter for JIS in 048f6cbcde
  • Fix legacy conversion filter for QPrint in 31cbb7a3a5
  • Fix legacy conversion filter for SJIS-2004 in d7bab66135
  • Fix legacy conversion filter for MacJapanese in 7ece8f18b0
  • Fix legacy conversion filter for Base64 in 87b71595ba
  • Fix legacy conversion filter for HTML entities in 2eff19e38f
  • Fix legacy conversion filters for... almost all 8-bit text encodings in cebb8009c6
  • Fix legacy conversion filter for ISO-2022-KR in c8e4f313fa
  • Fix legacy conversion filter for UTF-7 in 1662f7f79f
  • Fix legacy conversion filter for CP50220 in 6938e35122
  • Fix legacy conversion filter for GB18030 in 1526bab6d0
  • Fix legacy conversion filter for HZ in 9c3972fb3d
  • Fix new conversion filter for HTML entities in fa83a8e15e
  • Fix new conversion filters for mobile SJIS variants ('0' at end of buffer) in 7559bf77d2
  • Fix new conversion filter for CP50220 (multi-codepoint kana at end of buffer) in 3cf432798e
  • Fix new conversion filter for QPrint (same order of check as legacy code) in 5fee30b630
  • Fix new conversion filter for UUEncode in 40f5048aa7
  • mbfl_strwidth does not need to use legacy conversion filters now in 30bfeef48d
  • mb_decode_numericentity converts entities which immediately follow a valid/invalid entity in 5d6bd557b3
  • mb_decode_numericentity decodes valid entities which are truncated at end of string in 76a92c26e3

Arnaud Le Blanc

  • Reduce memory allocated by var_export, json_encode, serialize, and other in GH-8902
  • Fix GH-8952: std streams can not be deliberately closed in GH-8953
  • Fix build in 61ad0d9136
  • XFAIL test in 77f73de5bb
  • gdbinit: Update print_ht for new compact packed arrays representation in GH-8966
  • Fix JIT crash with large number of match/switch arms in GH-8961

Ayesh Karunaratne

  • Update mime-db from 1.45.0 to 1.52.0 in d3c86527a5
  • INI parser: Fix typo /multipler/multiplier in 9f8e5182a1

Ben Ramsey

Bob Weinand

  • Allow for arbitrary (class) attributes in stubs in 9f29e2d7e9

Christoph M. Becker

Cristian Rodríguez

  • random: whitelist arc4random_buf if glibc in 3be9118662


  • Revert "Update FreeBSD CI image." in 35ca407fcb
  • Revert "Update FreeBSD CI image." in da8bfd46aa
  • FPM add routing view global option (for FreeBSD for now) in 5174ee2353
  • random extension macOs handling update in d830a1f6f0
  • opcache JIT: Adds initial support for macOs Instruments performance measurement in c56e183226
  • Revert "FPM: Downgrade occasional "failed to acquire scoreboard" warning" in 2a5b2cca85
  • Revert "FPM: Downgrade occasional "failed to acquire scoreboard" warning" in 9a8ae45c4b
  • opcache JIT support improvements attempts on macOs in 1416961505

David Carlier

  • intl extension, build fix for icu >= 71.x release in b22d2bf589
  • intl extension, build fix for icu >= 69.x release. ubrk/ucnv_safeClone had been deprecated in favor of ubrk/ucnv_clone which does not use user provided stacks but remain thread safe in 7c3dfbb845
  • sockets introduces socket_set_option SO_ZEROCOPY and MSG_ZEROCOPY for the socket_send* functions. it avoids copy b/w userland and kernel for both TCP and UDP protocols in dedad408fe
  • NEWS/UPGRADING changes in 185d604d56

Dennis Snell

  • Add ini_parse_quantity function to convert ini quantities shorthand notation to int in GH-8454

Derick Rethans

  • Fixed typo in configure message in 7db9c2a2c3
  • Fixed memory leaks with DatePeriod::__unserialise in 0dbedb3dbd


  • Port standard/crc32 for windows arm64 in 745cf34ffc
  • Do not assert SSE/AVX resolvers at windows arm64 in 180557dd9c

Dmitry Stogov

Eric Norris

  • Update request startup error messages in 09237f6126

Felix Wiedemann

  • FPM: Downgrade occasional "failed to acquire scoreboard" warning in 3040f75f43
  • FPM Downgrade occasional "failed to acquire scoreboard" warning in db5f6713ee

Gabriel Caruso

George Peter Banyard

  • Revert "Fix GH-8563 Different results for seek() on SplFileObject and SplTempFileObject" in 79a283240e
  • Add support for Disjoint Normal Form (DNF) types in GH-8725
  • Remove silent argument to spl_filesystem_file_read_line() in a055c54801
  • Remove silent argument to spl_filesystem_file_read_line_ex() in bb3d0933af
  • Use true/false and comment when arg correspond to silent arg in 247de8a4de
  • Make php_fgetcsv() return a HashTale instead of in-out zval param in GH-8936
  • Add upgrading internals entry for fgetcsv() changes in eacf6f43ed

Go Kudo


  • Prevent potential buffer overflow for large value of php_cli_server_workers_max in 789a37f144

Heiko Weber

  • FPM: Fix possible double free on configuration load failure in bd6793372b
  • Fix GH-9017: php_stream_sock_open_from_socket could return NULL in 3b7babf9b3

Ilija Tovilo

Jakub Zelenka

  • Allow to not close stream on rscr dtor in php cli sapi in 0a4a55fd44
  • Do not send X-Powered-By if headers sent in GH-9039


  • QA - mb_http_input - function returns FALSE for type 'L' or 'l' in 30d89b19cf
  • QA -mb_convert_encoding_array - error for object item in array in dbdef4a55c
  • QA - ftp_rawlist - check list return value in 928624ed8a

Juan Morales

  • QA - Test Cov - ext:pcntl - pcntl_signal() - max signal allowed in GH-8956
  • QA - pcntl_exec - check stringable parameters error in 492f9c607a
  • QA - pcntl_signal - error when handler is int and not SIG_DFL or SIG_IGN in 7b301e3a5e
  • QA - ftp_connect - error behavior when connection fails in 492093ac3d

Kamil Tekiela

Levi Morrison

  • Improve contrast for dark mode phpinfo in GH-8893

Mark Gallagher

  • FPM: Implement access log filtering in 327bb21986

Michael Voříšek

  • Fix GH-8924 str_split of empty string must return empty array in e80925445c
  • Fix "%f" regex in run-tests.php in GH-8965

Mikhail Galanin

Máté Kocsis

  • Make the ABI compatibility of generated arginfo files configurable in GH-8931
  • Require zend_constants.stub.php from zend_exceptions.stubs.php in bb5be650c6
  • Fix parameter order in gen_stub.php in 227a8576d2
  • Declare ext/mysqli constants in stubs in GH-8811
  • DatePeriod properties cannot be made readonly in GH-9013
  • Rename @cname to @cvalue in stubs in GH-9043

Pierrick Charron

Remi Collet


  • Add FILTER_FLAG_GLOBAL_RANGE to filter Global IPs as per RFC 6890 in d8fc05c05e

Rowan Tommins

  • Extend deprecation notices to is_callable($foo) and callable $foo in af15923bc3

Tim Düsterhus

  • Add zend_array_to_list() in GH-8976
  • Support the actual #[\SensitiveParameter] attribute in stubs in GH-8836
  • RFC: Make the iterator_*() family accept all iterables in GH-8819
  • Run scripts/dev/credits in 3292e54d8c

Tobias Bachert

  • Fix WeakMap object reference offset causing TypeError in GH-8995
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.