Release Information
- Release Type
- Bug Fix Release
- Release Status
- Latest Release in 8.2
- Branch Status
- Supported
Latest release for PHP 8.2.
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.23 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.2.23
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.23-x64NTS.zip (30.31 MiB)
php-8.2.23-x86NTS.zip (27.21 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.23-x64TS.zip (30.42 MiB)
php-8.2.23-x86TS.zip (27.18 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.23-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.2.23-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.23-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.2.23-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.23-fpm
ChangeLog
Core
- Fixed bug GH-15020 (Memory leak in Zend/Optimizer/escape_analysis.c).
- Fixed bug GH-15023 (Memory leak in Zend/zend_ini.c).
- Fixed bug GH-13330 (Append -Wno-implicit-fallthrough flag conditionally).
- Fix uninitialized memory in network.c.
- Fixed bug GH-15108 (Segfault when destroying generator during shutdown).
- Fixed bug GH-15275 (Crash during GC of suspended generator delegate).
Curl
- Fixed case when curl_error returns an empty string.
DOM
- Fix UAF when removing doctype and using foreach iteration.
FFI
- Fixed bug GH-14286 (ffi enum type (when enum has no name) make memory leak).
Hash
- Fix crash when converting array data for array in shm in xxh3.
Intl
- Fixed bug GH-15087 (
IntlChar::foldCase()
's $option is not optional).
Opcache
- Fixed bug GH-13817 (Segmentation fault for enabled observers after pass 4).
- Fixed bug GH-13775 (Memory leak possibly related to opcache SHM placement).
Output
- Fixed bug GH-15179 (Segmentation fault (null pointer dereference) in ext/standard/url_scanner_ex.re).
PDO_Firebird
- Fix bogus fallthrough path in
firebird_handle_get_attribute()
.
PHPDBG
- Fixed bug GH-13199 (EOF emits redundant prompt in phpdbg local console mode with libedit/readline).
- Fixed bug GH-15268 (heap buffer overflow in phpdbg (
zend_hash_num_elements()
Zend/zend_hash.h)). - Fixed bug GH-15210 use-after-free on watchpoint allocations.
Random
- Fixed part of bug GH-15381, checking getrandom availability on solaris.
Soap
- Fixed bug #55639 (Digest autentication dont work).
- Fix SoapFault property destruction.
- Fixed bug GH-15252 (SOAP XML broken since PHP 8.3.9 when using classmap constructor option).
Standard
- Fix passing non-finite timeout values in stream functions.
- Fixed GH-14780 p(f)sockopen timeout overflow.
- Fixed GH-15653 overflow on fgetcsv length parameter.
Streams
- Fixed bug GH-15028 (Memory leak in ext/phar/stream.c).
- Fixed bug GH-15034 (Integer overflow on
stream_notification_callback
byte_max parameter with files bigger than 2GB).
Tidy
- Fix memory leaks in
ext/tidy
basedir restriction code.
Commit List
Arnaud Le Blanc
- Hint the opcache shm mapping location only when JIT is enabled in 929536b697
- Fix build on platforms without JIT support in GH-15069
- Fix destruction of generator running in fibers during shutdown in GH-15158
- Fix crash during GC of suspended generator delegate in GH-15275
Bob Weinand
- Fix GH-13817: Segmentation fault for enabled observers after pass 4 in a18df90a8b
Christoph M. Becker
- Revert "Skip
bug45161.phpt
on Windows" in 355baf982e - Update the php-sdk-binary-tools to php-sdk-2.3.0 in 93a9a9b4a4
- Fix GH-15087
IntlChar::foldCase()
's $option is not optional in 5fbda73099 - Fix type incompatibility in assignment in af789afbe8
- Fix
odbc_data_source_001.phpt
in 6713d51631 zend_enum
: Rename try parameter to avoid conflict with C++ in 423fc811bd
David Carlier
ext/curl
: curl_error using curl_easy_strerror if CURLOPT_ERRORBUFFER in efd00b8ff0- Fix GH-14780: p(f)sockopen overflow on timeout argument in ba909d7c43
- fix GH-14785 pedantic error in 350c10d985
- Fix GH-15210: phpdbg_print_changed_zvals working on a real copy instead in 9aeb6761b5
disservin
- Update ci actions/checkout to v4 in GH-15283
Dmitry Stogov
- Regenerate FFI parser using HEAD version of LLK in 13e9b40517
- Fix Windows build in d6efff7254
- Workaraound against false positive GCC array bounds error in GH-15078
Ilija Tovilo
- Fix comments between -> and keyword in b368db204f
- Fix git check in verify generated files (GH-15363) in 9be52dcd62
Levi Morrison
- Fix warnings in session/spl in 0956267c08
LoongT4o
- Fix the JIT buffer relocation failure at the corner case in GH-11266
Niels Dossche
- Fix bug #55639: Digest autentication dont work in 911dc5b46c
- Fix GH-15020: Memory leak in Zend/Optimizer/escape_analysis.c in 03d73182d9
- Fix GH-15023: Memory leak in Zend/zend_ini.c in 8c19efdc97
- Fix GH-15028: Memory leak in ext/phar/stream.c in 5996227f88
- Fix memory leaks in
ext/tidy
basedir restriction code in 8de7ccb29b - Fix GH-15034: Integer overflow on
stream_notification_callback
byte_max parameter with files bigger than 2GB in cfcc2a3fda - Fix GH-14286 (ffi enum type (when enum has no name) make memory leak) in c0de7214aa
- Fix passing non-finite timeout values in stream functions in fdcfd62b9b
- Fix bogus fallthrough path in
firebird_handle_get_attribute()
in b8e9c5ba6a - Fix uninitialized memory in
network.c
in 40551dd74b - Fix CI failure after Curl update in GH-15124
- Fix nightly failure in test variation due to number of temp variables varying when observers are enabled in 4df858602a
- Fix CI failure on macOS after Curl update in fdae7c23f0
- Fix UAF when removing doctype and using foreach iteration in b282dd749f
- Fix GH-15179: Segmentation fault (null pointer dereference) in ext/standard/url_scanner_ex.re in 67ce8759e8
- Fix SoapFault property destruction in 11fbe8801b
- Fix crash when converting array data for array in shm in xxh3 in ca84662c87
- Revert "Fix bug #69280: SoapClient classmap doesn't support fully qualified class name (#14398)" in 28290655e8
- Fix GH-15268: heap buffer overflow in phpdbg (
zend_hash_num_elements()
Zend/zend_hash.h) in a6c547d1dd - Fix uninitialized value watchpoint_hit in 2e26559fcd
- Add necessary SKIPIFs to new phpdbg tests in 4d71580e00
Peter Kokot
- Append -Wno-implicit-fallthrough flag conditionally in GH-13331
- Fix GH-13199: Redundant prompt in phpdbg with libedit/readline in dc670cb7f6
Sergey Panteleev
- Update versions for PHP 8.2.23 in b56653c44d