PHP 8.2.17 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.17 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.2.17
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.17-x64NTS.zip (30.3 MiB)
php-8.2.17-x86NTS.zip (27.2 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.17-x64TS.zip (30.40 MiB)
php-8.2.17-x86TS.zip (27.17 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.17-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.2.17-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.17-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.2.17-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.17-fpm
ChangeLog
Core
- Fix ZTS persistent resource crashes on shutdown.
Curl
- Fix failing tests due to string changes in libcurl 8.6.0.
DOM
- Fix reference access in dimensions for DOMNodeList and DOMNodeMap.
Fileinfo
- Fixed bug GH-13344 (finfo::
buffer()
: Failed identify data 0:(null), backport).
FPM
- Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER).
GD
- Fixed bug GH-12019 (detection of image formats in system gd library).
MySQLnd
- Fixed bug GH-11950 ([mysqlnd] Fixed not to set CR_MALFORMED_PACKET to error if CR_SERVER_GONE_ERROR is already set).
PGSQL
- Fixed bug GH-13354 (pg_execute/pg_send_query_params/pg_send_execute with null value passed by reference).
Standard
- Fixed array key as hash to string (case insensitive) comparison typo for the second operand buffer size (albeit unused for now).
Commit List
Ayesh Karunaratne
ext/curl
: Fix failing tests due to string changes in libcurl 8.6.0 in 404803577d- ci: update caddy job to use GitHub Releases in 4922b9eb7d
David Carlier
- Fix GH-13309 and GH-13310: array hashes comparison, wrong buffer len calculation in d91224cd2f
- Forgotten piece of GH-13309/GH-13310 previous PR in b06d6dba4f
- Fix NEWS entry for GH-13315 in 7096eff91d
- Fix GH-13519: PGSQL_CONNECT_FORCE_RENEW with persistent connections in b9a9790be0
Derick Rethans
- Updated to version 2024.1 (2024a) in 7d5a96614c
Dmitry Stogov
- Fix TLS access in JIT with MUSL in GH-13329
- Prevent recording traces started from usupported VM instruction in 728b81d92e
George Barbarosie
- Fix GH-13354:
ext/pgsql
: pg_execute, pg_send_query_params and_send_execute null value by reference in 452e008f4f
Ilija Tovilo
- Disable JIT on Apple Silicon + ZTS in 6db95512b4
Jakub Zelenka
- Fix bug #75712: getenv in php-fpm should not read $_ENV, $_SERVER in bc30ae4f04
- Revert "Fix GH-13519: PGSQL_CONNECT_FORCE_RENEW with persistent connections." in 74b39a18a9
Matteo Beccati
- Fix test on non-UTC environments in 5373f5dd9d
Michael Orlitzky
- Fix detection of image formats in system gd library in f732ab8b3e
Niels Dossche
- Fix GH-13344: finfo::
buffer()
: Failed identify data 0:(null) in c2b671cb1b - Workaround ZTS persistent resource crashes (PHP 8.3 and lower) in 2f605820a4
- Fix reference access in dimensions for DOMNodeList and DOMNodeMap in b8a1041fd2
Peter Kokot
- Use EXTENSIONS instead of
SKIPIF
sections in *.phpt in 218a93b898
Saki Takamachi
- Fixed not to set CR_MALFORMED_PACKET to error if CR_SERVER_GONE_ERROR is already set in 199e48b567
Sergey Panteleev
- Update versions for PHP 8.2.17 in 4e80788597
Tim Düsterhus
- Update GitHub Action workflows to
actions/upload-artifact@v4
in GH-13297