PHP 8.2.0alpha3: Downloads, Changelog, News

Release Information

Release
8.2.0alpha3
PHP Version
PHP 8.2
Release Date
Release Type
Bug Fix Release
Release Status
Use PHP 8.2.27 instead
Branch Status
Supported

PHP 8.2.0alpha3 is an old release of PHP 8.2 series. Using the latest version PHP 8.2.27 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.0alpha3 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.2.0alpha3
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.0alpha3-cli-alpine

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

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

Commit List

Chen, Hu

Christoph M. Becker

David CARLIER

David Carlier

  • streams/xp_socket: fix clang build error with enum usage on bool condition in 7ceae66182
  • Adds TCP_CONGESTION socket option for Linux/FreeBSD in a193427333
  • Fix the crypt sha apis build (with recent clang versions) in b3569865b3
  • Fix GH-8907: Document forgotten API changes in fdc09e302a
  • Follow up on #8897 but on master which instead does not use the old custom alloca in 0ad8b64b70
  • Use safe_*erealloc* flavor in few places to mitigate possible overflows in dfbb425295
  • Update FreeBSD CI image in 4f4457a6e9
  • Update FreeBSD CI image in f2d6e175fe

Derick Rethans

  • Don't shortcut empty oparray executions if zend_execute_ex has been overridden in 5bfc160817
  • Merged pull request #8845 in 2ca4116e0a
  • Fixed #80047: DatePeriod doesn't warn with custom DateTimeImmutable in 973c3f6e24

Dmitry Stogov

  • Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT in ad40fffd36
  • Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT in 7e23c838e2
  • Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file) in 7cf6f17383
  • Fix incorrect condition introdused in 7cf6f173 in d66d477d6f
  • Allocate JIT bufer close to PHP .text segment to allow using direct IP-relative calls and jumps in GH-8890
  • Add NEWS entry in 4c37b74c28

Gabriel Caruso

George Peter Banyard

  • Move some private SPL Directory elements out of the header in 4d43241e96
  • Remove Z_SPLFILESYSTEM_P macro in 623fbfe748
  • Refactor spl_filesystem_object_get_path() to return zend_string* in 7cd8879d77
  • Use the passed 'this' pointer instead of ZEND_THIS in GH-8854
  • Fix GH-8861: correctly handle string lengths in SplFileinfo methods in GH-8869
  • Use bool and rename variable for ease of comprehension in ps_title.c in b468d6fb54
  • Use size_t for get_ps_title() length parameter in 9a7d37ac66
  • Abort LMDB transaction whe trying to delete non-existing key in 8fce70ae7b
  • Abort LMDB transaction whe trying to delete non-existing key in 1d0c287b90
  • Add php_register_known_variable() for know var names in 55908db007
  • Refactor registration of variables for the CLI SAPI in b37245b8da
  • Pre-compute remote address length in CLI SAPI in 1c753a958b

Grégoire Paris

  • Use proper grammar in error message in 13f55d5c1b

Heiko Weber

  • FPM: zlog, fix free on wrong address for message prepend in 325ca31dcf

Ilija Tovilo

  • Remove reundant address comparison in accel_remap_huge_pages in 1380b65d26
  • Fully convert accel_remap_huge_pages to use zend_result in 0429159775
  • Fix lineno in backtrace of multi-line function calls in 44cd74b624
  • Replace more hard-coded line numbers in 9bfdfcac8f
  • Replace another hard-coded line number in cda7e8f1ec
  • Remove zend_shared_alloc_pages declaration that was never implemented in GH-8852
  • Get rid of duplicated rotr3 implementation in GH-8853
  • Fix segfault when calling from/tryFrom on empty enum in 45210b4729
  • Fix segfault when using preloaded enums in 912c22cca0
  • Fix leak of backed_enum_table with preloading in d9e1871c85
  • Fix magic constants in backed enum values in bc03deec27
  • Add test coverage job in b7f0950ffe
  • Fix enum preloading again in GH-8859
  • Convert return type of various object handlers from int to zend_result in GH-8755
  • Disallow assigning reference to unset readonly property in 110573726b

Jakub Zelenka

Max Kellermann

  • main/streams/plain_wrapper: skip lseek(SEEK_CUR) for newly opened files in e2bd3b1e99

Michael Voříšek

  • Improve tests on 32bit in c756e978c4
  • Add test for backtrace with aliased trait in GH-8705

Máté Kocsis

  • Declare ext/mbstring constants in stubs in GH-8798

Pierrick Charron

  • Add AllowDynamicProperties on OCILob and OCICollection in 6b6e5f3748

Remi Collet

  • implement fseek for zip stream when possible with libzip 1.9.1 in 2223853c58

Sergey Panteleev

  • Update versions for PHP 8.2.0 Alpha3 in f78c637350

Stanislav Malyshev

twosee

  • Fix zend_atomic_bool_exchange_ex() in HAVE_NO_ATOMICS case in GH-8801
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 💜