PHP 8.2.6 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.6 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.2.6
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.6-x64NTS.zip (30.23 MiB)
php-8.2.6-x86NTS.zip (27.13 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.6-x64TS.zip (30.33 MiB)
php-8.2.6-x86TS.zip (27.11 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.6-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.2.6-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.6-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.2.6-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.6-fpm
ChangeLog
Core
- Fix inconsistent float negation in constant expressions.
- Fixed bug GH-8841 (php-cli core dump calling a badly formed function).
- Fixed bug GH-10737 (PHP 8.1.16 segfaults on line 597 of sapi/apache2handler/sapi_apache2.c).
- Fixed bug GH-11028 (Heap Buffer Overflow in zval_undefined_cv.).
- Fixed bug GH-11108 (Incorrect CG(memoize_mode) state after bailout in ??=).
Date
- Fixed bug where the
diff()
method would not return the right result around DST changeover for date/times associated with a timezone identifier. - Fixed out-of-range bug when converting to/from around the LONG_MIN unix timestamp.
DOM
- Fixed bug #80602 (Segfault when using
DOMChildNode::before()
). - Fixed incorrect error handling in
dom_zvals_to_fragment()
.
Exif
- Fixed bug GH-9397 (exif read : warnings and errors : Potentially invalid endianess, Illegal IFD size and Undefined index).
Intl
- Fixed bug GH-11071 (TZData version not displayed anymore).
PCRE
- Fixed bug GH-10968 (Segfault in
preg_replace_callback_array()
).
Reflection
- Fixed bug GH-10983 (State-dependant segfault in
ReflectionObject::getProperties
).
SPL
- Handle indirect zvals and use up-to-date properties in SplFixedArray::__serialize.
Standard
- Fixed bug GH-10990 (
mail()
throws TypeError after iterating over $additional_headers array by reference). - Fixed bug GH-9775 (Duplicates returned by
array_unique
when using enums).
Streams
- Fixed bug GH-10406 (
feof()
behavior change for UNIX based socket resources).
Commit List
Alex Dowad
- Add more details in UPGRADING on
mb_check_encoding
changes in 7cef7cb0ee
Christopher Jones
- Bump OCI8 version to make a PECL release for 8.2 in 91d3aaaa93
Derick Rethans
- Updated to version 2023.3 (2023c) in bb7dd51f7a
- Empty merge in cb4e90dca3
- Updated to version 2023.3 (2023c) in 3ec02202fd
- Fixed tests and remove the
XFAIL
'Various bugs exist'. They did, but they were in the tests in e67bb14ab4 - Import timelib 2022.06 in 44eef677b0
- Fixed tests in cc7b799c44
- Add NEWS entry in 1dcab8a534
- Import timelib 2022.07 to address OSS fuzz issue in 629d7740e8
Dmitry Stogov
- Tracing JIT: Fixed incorrect code generation fofr SEND-ing of result of ASSIGN to typed reference in 8a749c79d0
- Allow FETCH_OBJ_W and FETCH_STATIC_PROP_W to return INDIRECT/UNDEF zval for uninitialized typed properties in GH-11048
Ilija Tovilo
- Unary minus const expression consistency in 41bbb116dd
- Fix incorrect zval type_flags in
preg_replace_callback_array()
for immutable arrays in 66ce205718 - Fix
add_function_array()
assertion when op2 contains op1 in 84b4020eb4 - Fix test
bug60120.phpt
in dd44a9330e - Support enums in
array_unique
in e8b8341d3d - Fix reference returned from
CallbackFilterIterator::accept()
in 5855bdcd6c - Fix incorrect CG(memoize_mode) state after bailout in ??= in 4c38a79f09
- Endless recursion when using + on array in foreach in 8340d75d17
Jakub Zelenka
- Fix GH-10406:
feof()
behavior change for UNIX based socket resources in e80073d3d2 - Add FPM FastCGI env var test for Apache without path info fix in 15802dfc62
- Add FPM FCGI env Apache handler UDS test in ebb3213f79
- Use curl from brew on MacOS CI in 4be6435c9f
- Add
zend_test_crash
funtion to segfault PHP process in 0ac55e9bfb - Add missing
zend_test_crash
message initialization in 84be9042f9
Michael Voříšek
- Fix mysql tests with non-standard server port in 0ab51a9561
NathanFreeman
- Fix bug #80602: Segfault when using
DOMChildNode::before()
in 2d6decc14c
Niels Dossche
- Fix uninitialized variable accesses in sockets/conversions in b8755a7559
- Handle indirect zvals and use up-to-date properties in SplFixedArray::__serialize in 47b3fe4710
- Fix GH-8841: php-cli core dump calling a badly formed function in cf9b030a57
- Fix GH-10990:
mail()
throws TypeError after iterating over $additional_headers array by reference in 79c5b32d15 - Fix GH-10983: State-dependant segfault in
ReflectionObject::getProperties
in dd29b66dfa - Fix incorrect error handling in
dom_zvals_to_fragment()
in 0579beb842 - Fix GH-9397: exif read : warnings and errors : Potentially invalid endianess, Illegal IFD size and Undefined index in b81ce297a1
- Fix GH-10737: PHP 8.1.16 segfaults on line 597 of sapi/apache2handler/sapi_apache2.c in 51faf04dbd
- Fix GH-11028: Heap Buffer Overflow in zval_undefined_cv in fc32d39b7f
- Set error_log to an empty value if the test relies on that feature in 691ff9f845
Remi Collet
- Fix GH-11071: Revert "Fix [-Wundef] warning in INTL extension" in 31e21f7dbc
Sergey Panteleev
- Update versions for PHP 8.2.6 in 007ab4dc8d