PHP 8.2.15: Downloads, Changelog, News

Release Information

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

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

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

ChangeLog

Core

  • Fixed bug GH-12953 (false positive SSA integrity verification failed when loading composer classmaps with more than 11k elements).
  • Fixed bug GH-12966 (missing cross-compiling 3rd argument so Autoconf doesn't emit warnings).
  • Fixed bug GH-13727 (missing void keyword for C generate code for feature test). (Peter Kokot/David Carlier)

Cli

  • Fix incorrect timeout in built-in web server when using router script and max_input_time.

FFI

  • Fixed bug GH-9698 (stream_wrapper_register crashes with FFI\CData).
  • Fixed bug GH-12905 (FFI::new interacts badly with observers).

GD

  • Fixed GH-13082 undefined behavior with GdFont instances handling with imageload and imagechar.

Intl

  • Fixed GH-12943 (IntlDateFormatter::__construct accepts 'C' as valid locale).

Hash

  • Fixed bug GH-12936 (hash() function hangs endlessly if using sha512 on strings >= 4GiB).

ODBC

  • Fix crash on Apache shutdown with persistent connections.

Opcache

OpenSSL

  • Fixed bug GH-12987 (openssl_csr_sign might leak new cert on error).

PDO

  • Fix GH-12969 (Fixed PDO::getAttribute() to get PDO::ATTR_STRINGIFY_FETCHES).

PDO_ODBC

  • Fixed bug GH-12767 (Unable to turn on autocommit mode with setAttribute()).

PGSQL

  • Fixed auto_reset_persistent handling and allow_persistent type.
  • Fixed bug GH-12974 (Apache crashes on shutdown when using pg_pconnect()).

Phar

  • Fixed bug #77432 (Segmentation fault on including phar file).

PHPDBG

  • Fixed bug GH-12962 (Double free of init_file in phpdbg_prompt.c).

SimpleXML

  • Fix getting the address of an uninitialized property of a SimpleXMLElement resulting in a crash.

Tidy

  • Fixed bug GH-12980 (tidynode.props.attribute is missing "Boolean Attributes" and empty attributes).

Commit List

David Carlier

  • GH-12943 ext/intl accept C as acceptable locale argument in 6a447e7437
  • ext/pgsql: pgsql.allow_persistent, no need to use such large type for boolean state in d98a45d08c

Derick Rethans

  • Updated to version 2023.4 (2023d) in 99be8b05ae
  • tzdata 2023d adds an extra transition for Europe/London in c7816bf730

Dmitry Stogov

  • JIT: Fix .debug_abbrev section in GDB JIT API in ff22409082
  • Fixed incorrect elimination of refcounted check in JIT for BIND_GLOBAL in c67f6f449c
  • Fixed type inference in 731734dacb
  • Fix assertion in 5350952a37

Ilija Tovilo

  • Fix max_execution_time with cli-server router script in 299c3ba89e
  • Fix asan shadow memory and shared_alloc_mmap clash in 53909896e0
  • Fix zend_jit_undefined_long_key overwriting dim when dim == result in 623da03845
  • Fix SELinux mprotect execheap error due to mem adjacent to heap in 7cf1a2ad9d
  • Disambiguate fileVar8 test folder in cda7718f51
  • Fix clean for higher branches in 23ea89404b

Jakub Zelenka

  • Add FPM tester logs printing for all errors in 62682cbd97
  • Fix GH-9698: stream_wrapper_register crashes with FFI\CData provided as class in 40ccc8ea7e
  • Fix GH-12987: openssl_csr_sign might leak new cert on error in 7c4763ab8b

Niels Dossche

  • Backport deprecation warning ignores to unbreak CI in e2d97314ab
  • Silence deprecations in zend-test in de3c5c0bc8
  • Fix GH-12936: hash() function hangs endlessly if using sha512 on strings >= 4GiB in 2b8c00850b
  • Fix 32-bit ext/hash build in 2ee4d358dc
  • Fix GH-12962: Double free of init_file in phpdbg_prompt.c in a6d17bffe1
  • Fix getting the address of an uninitialized property of a SimpleXMLElement resulting in a crash in abf4c116b1
  • Fix GH-12953: SSA integrity verification failed when loading composer classmaps with more than 11k elements in 7585cf6952
  • Fix GH-12905: FFI::new interacts badly with observers in c727f29942
  • Fix GH-12980: tidynode.props.attribute is missing "Boolean Attributes" and empty attributes in b3f483db2e
  • Fix GH-12974: Apache crashes on shutdown when using pg_pconnect() in 77ac1e8592
  • Fix #77432: Segmentation fault on including phar file in 1edcfccdca
  • Fix test on Windows in c86f05307e
  • Fix test not emitting warning because of Windows paths in 7677df4cf1
  • Skip on Windows in 0d2c83ef9c

Peter Kokot

  • Add cross-compiling 3rd argument to AC_RUN_IFELSE in de5557b02f

Remi Collet

  • fix function declaration isn't a prototype [-Wstrict-prototypes] in 0d1bf582ce

SakiTakamachi

  • Fix GH-12767: Fixed to be able to change autocommit mode using setAttribute in 933dccb79b
  • add PDO::ATTR_AUTOCOMMIT to getAttribute in 2553ffeaa0
  • Fix GH-12969: Fixed PDO::getAttribute() to get PDO::ATTR_STRINGIFY_FETCHES in b333164423

Sergey Panteleev

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 💜