PHP 8.2.11 is an old release of PHP 8.2 series. Using the latest version PHP 8.2.23 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.11 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.2.11
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (
Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.
./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.
php-8.2.11-x64NTS.zip (30.24 MiB)
php-8.2.11-x86NTS.zip (27.14 MiB)
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.
php-8.2.11-x64TS.zip (30.35 MiB)
php-8.2.11-x86TS.zip (27.12 MiB)
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.11-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.2.11-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.11-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.2.11-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.11-fpm
ChangeLog
Core
- Fixed bug GH-11937 (Constant ASTs containing objects).
- Fixed bug GH-11790 (On riscv64 require libatomic if actually needed).
- Fixed bug GH-11876:
ini_parse_quantity()
accepts invalid quantities. - Fixed bug GH-12073 (Segfault when freeing incompletely initialized closures).
- Fixed bug GH-12060 (Internal iterator rewind handler is called twice).
- Fixed bug GH-12102 (Incorrect compile error when using array access on TMP value in function call).
DOM
- Fix memory leak when setting an invalid DOMDocument encoding.
Iconv
- Fixed build for NetBSD which still uses the old iconv signature.
Intl
- Fixed bug GH-12020 (
intl_get_error_message()
broken afterMessageFormatter::formatMessage()
fails).
MySQLnd
- Fixed bug GH-10270 (Invalid error message when connection via SSL fails: "trying to connect via (null)").
ODBC
- Fixed memory leak with failed SQLPrepare.
- Fixed persistent procedural ODBC connections not getting closed.
SimpleXML
- Fixed bug #52751 (XPath processing-
instruction()
function is not supported).
SPL
- Fixed bug GH-11972 (RecursiveCallbackFilterIterator regression in 8.1.18).
SQLite3
- Fixed bug GH-11878 (SQLite3 callback functions cause a memory leak with a callable array).
Commit List
Calvin Buckley
- Fix memory leak with failed SQLPrepare in a022ec53bd
- Fix persistent procedural ODBC connections not getting closed in 5a2b251610
- ODBC unit tests shouldn't override odbc.ini location in a648d39297
David Carlier
ext/iconv
: fix build for netbsd in fc8d5c72e5
Dmitry Stogov
- Fixed uninitialized EX(opline) access (possible Zend/tests/gh12073.phpt crash) in f1f608bf53
- Fixed tracing JIT support for CALLABLE_CONVERT in GH-12156
George Peter Banyard
- Fix GH-11876:
ini_parse_quantity()
accepts invalid quantities in d229a480ad - Fixed bug GH-12020:
intl_get_error_message()
broken afterMessageFormatter::formatMessage()
fails in a579fa807c
Ilija Tovilo
- Fix segfault in format_default_value due to unexpected enum/object in f78d1d0d10
- Remove redundant condition in dd01c74a6f
- Move installation of oracle instant client in GHA in ba07a0b846
- Fix missing instantclient in CI in f3bd027b69
- Make unrepeatable tests retriable in f2c16b7ba3
- Skip dl() tests on ASAN in fb0f4215de
- Increase
run-tests.php
timeout for asan in f4a6a6d096 - Fix freeing of incompletely initialized closures in af2110e664
- Fix
zend_separate_if_call_and_write
for FUNC_ARGs in 748adf18fc
Jakub Zelenka
- Fix flaky file stat tests due to changing nature of atime in e1396a314d
Jeremie Courreges-Anglas
- On riscv64 require libatomic if actually needed in bf3fb4e5c9
jrfnl
- Remove
mysqli.reconnect
from php.ini files in GH-11836
ju1ius
- adds failing test case for GH-12060 in 9658d9ada4
- Prevents double call to internal iterator rewind handler in da7a66d647
Kamil Tekiela
- Fix implicit/explicit port in mysqlnd in c1103a9772
- Fix failing test on nightly in ffd398b4fe
- Fix param name in
implode()
error message in b1ce1d1f21
Niels Dossche
- Fix memory leak when setting an invalid DOMDocument encoding in 20ac42e1b0
- Add missing EXTENSIONS section to DOM tests in bffc74474b
- Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18 in ffd7018fcd
- Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18 in 1cdcbc05b0
- Fix GH-11878: SQLite3 callback functions cause a memory leak with a callable array in 07a9d2fb32
- Fix #52751: XPath processing-
instruction()
function is not supported in 107443b311
Sergey Panteleev
- Update versions for PHP 8.2.11 in 27cdbf67d5