PHP 8.2.0alpha2: Downloads, Changelog, News

Release Information

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

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

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

Commit List

Alex Dowad

  • Restore backwards-compatible mappings of 0x5C and 0x7E in SJIS in 2dc9026cbc
  • Restore backwards-compatible mappings of 0x5C and 0x7E in SJIS in d62f535caa
  • Restore backwards-compatible mappings for 0x5C/0x7E in SJIS (for fast conversion filter) in 13479ee2bd
  • Fully use available buffer space where converting Base64 in 871e61f942
  • Assert minimum size of wchar buffer in text conversion filters in 8533fccd63
  • Use fast text conversion filters to implement mb_check_encoding in 950a7db9fe
  • mbfl_strlen does not need to use old conversion filters any more in 9468fa7ff2
  • Use fast conversion filters to implement php_mb_ord in 880803a21e

Arnaud Le Blanc

  • Deprecate zend_atol() / add zend_ini_parse_quantity() in GH-7951
  • Fix type in GH-8814

Ben Ramsey

Calvin Buckley

  • Fix handling of single-key connection strings in 445d9502bf

Christoph M. Becker

cmp

  • Prevent fclose on underlying SplFileObject file stream. in GH-7920

David Carlier

  • Add SO_BPF_EXTENSIONS flag to socket in d677cc13ce
  • Introduction of timing attack safe bcmp implementation in bfe6f9e66a

David CARLIER

  • Add SO_SETFIB FreeBSD socket option constant in 6b02cabc8a
  • intl ICU C++ code modernisation, making it closer to C++11 in GH-8650

Derick Rethans

  • Fixed tests that relied on date.timezone=UTC to work in 242b9438ea
  • Fix phpize to include _GNU_SOURCE by default in 2c166647f1
  • Merged pull request #8807 in dcb758caee
  • Fixed bug #77243 (Weekdays are calculated incorrectly for negative years) in 36990aab8e
  • Skip tests on 32-bit in b23dfe4986

Dmitry Stogov

George Peter Banyard

  • PDO Common tests should not require a driver in 938049b927
  • Fix GH-8691 Add required extensions for redirected tests in c05c96b3fe
  • Backport fcba0a49 in 52eb52d652
  • Remove internal usage of SplFileInfo::_bad_state_ex() method in GH-8318
  • Remove SIZEOF_OFF_T undef in PDO PGSQL driver in GH-8301
  • Add true as a type in GH-8326
  • Fix GH-8563 Different results for seek() on SplFileObject and SplTempFileObject in 6f87a5c633
  • Use bool for silent parameter in SPL directory.c in a493c94471
  • Early return in spl_filesystem_file_rewind() in d5d0b07b4e
  • Use same type error wording for alias iterable in ZPP in GH-8838

Heiko Weber

  • FPM: Fix use after free in fpm_evaluate_full_path in a83363e361
  • Fix potential use after free in php_binary_init() in 93a44f8c50
  • Refactor sapi_getenv() in GH-8786

Ilija Tovilo

  • Remove code duplication in zend_std_compare_objects in GH-8710
  • Fix regression from GH-8587 in GH-8615
  • Collapse more generated files in PRs in GH-8754
  • Fix redundant ZSTR_VAL condition in php_date.c in GH-8753
  • Fix GH-8661: Nullsafe in coalesce triggers undefined variable warning in 5a855ee8d6
  • Allow arbitrary const expressions in backed enums in ddc0b490f7
  • Specify unit in out of memory error in GH-8820

Jakub Zelenka

jcm

  • Add test for iconv_mime_encode() for input-charset and output-charset in 3a29c2e154
  • Add test for iconv_strpos() internal encoding error in 804c708023

Joe Rowell

  • Add function exposing HAVE_GCC_GLOBAL_REGS in GH-8359

Max Kellermann

  • Add ZEND_THREEWAY_COMPARE() macro to fix casting underflowed unsigned to signed in GH-8220
  • streams/xp_socket: eliminate poll() when MSG_DONTWAIT is available in 2d986310f1
  • Zend, ext/opcache: use PR_SET_VMA_ANON_NAME (Linux 5.17) in GH-8234

Michal Prívozník

  • check_parameters.php: Make the script's retval reflect errors in a87f4dd930

Máté Kocsis

  • Declare ext/libxml constants in stubs in GH-8721
  • Declare true return types in GH-8759

Nicolas Grekas

  • Fix RC=1 references of declared properties when casting objects to arrays in 96e3a9d316

Pierrick Charron

  • Fix LONG_CHECK_VALID_INT in socket extension in e2d55f2f12
  • Fix bad integer promotion in mysqlnd big5 charset detection in df4dd82ea0
  • Indent with TAB in .h files generated by gen_stub in 6fd2b39397
  • Regen missing Zend/Optimizer/zend_func_infos.h in bbc0c4c5c8
  • Update gen_stub to support #if around classes in 1bcd8d394a
  • Expose new constants from libcurl 7.62 to 7.80 in cec20f615d
  • Add new curl_upkeep() function in b9af4335e3
  • Add skip online test to curl_upkeep test in 65472c792c
  • Fixed CURLOPT_TLSAUTH_TYPE is not treated as a string option in d84b972658
  • Making PHP 8.2.0 alpha2 in 6016d36ac4

Remi Collet

Rowan Tommins

  • Avoid accessing undefined variables in run-tests.php in GH-8669
  • Add deprecation notices to utf8_encode and utf8_decode in d9f3ca705c

Stanislav Malyshev

Tim Düsterhus

  • Mark parameter in ext/standard as sensitive in 13758965b2
  • Mark parameter in ext/pdo as sensitive in 6906d1fc8d
  • Mark parameter in ext/hash as sensitive in 0d4147f0fb
  • Mark parameter in ext/ftp as sensitive in f9fa6d0415
  • Mark parameter in ext/imap as sensitive in 176a484df2
  • Mark parameter in ext/ldap as sensitive in 788b7a0c6c
  • Mark parameter in ext/mysqli as sensitive in 3a4d1b6131
  • Mark parameter in ext/oci8 as sensitive in ac6dbbd183
  • Mark parameter in ext/odbc as sensitive in e85b17b934
  • Mark parameter in ext/openssl as sensitive in c311ab7ef7
  • Mark parameter in ext/sodium as sensitive in 8f8243318d
  • Mark parameter in ext/zip as sensitive in 1a4401d40a
  • Support the #[\AllowDynamicProperties] attribute in stubs in GH-8776

tobil4sk

twosee

  • Remove unused server_name variable in b7a1633ecd
  • Use get_active_function_or_method_name() for zend_forbid_dynamic_call() in GH-8762
  • Add clean_module_functions() in GH-8763

Yurun

  • Replace the use of ZVAL_BOOL() with ZVAL_TRUE() or ZVAL_FALSE() where the value is fixed in GH-8815
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 💜