PHP 8.0 is currently only receiving security fixes. PHP 8.0.25 is not the latest version in the series, and using this release is not recommended. PHP 8.0.30 is the latest in the series.
Downloads
Source Code
Git Clone
Use Git to clone the 8.0.25 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.0.25
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.0.25-x64NTS.zip (25.52 MiB)
php-8.0.25-x86NTS.zip (23.65 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.0.25-x64TS.zip (25.63 MiB)
php-8.0.25-x86TS.zip (23.64 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.0.25-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.0.25-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.0.25-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.0.25-apache
Debian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
docker pull php:8.0.25-fpm
ChangeLog
GD
- Fixed bug #81739: OOB read due to insufficient input validation in imageloadfont(). (CVE-2022-31630)
Hash
- Fixed bug #81738: buffer overflow in
hash_update()
on long parameter. (CVE-2022-37454)
Session
- Fixed bug GH-9583 (
session_create_id()
fails with user defined save handler that doesn't have a validateId() method).
Streams
- Fixed bug GH-9590 (
stream_select
does not abort upon exception or empty valid fd set).
Commit List
Andy Postnikov
- Make socket path shorter for ext/sockets/tests/socketcmsg{rights|credentials}.phpt in c58241a003
Arnaud Le Blanc
- Return immediately when FD_SETSIZE is exceeded in GH-9602
Athos Ribeiro
- Revert unintended test expectation change in e6a822d437
Christoph M. Becker
- Fix #81726: phar wrapper: DOS when using quine gzip file in 404e8bdb68
- Fix regression introduced by fixing bug 81726 in 432bf196d5
- Fix new
bug81726.phpt
for PHP 8.0 in 809176dab0 - Fix #81739: OOB read due to insufficient validation in
imageloadfont()
in feb586e60a
David Carlier
- fix
php_init_crypt_r
/php_shutdown_crypt_r
signatures warning in 257f108924
Derick Rethans
- Fix #81727: Don't mangle HTTP variable names that clash with ones that have a specific semantic meaning in 0611be4e82
- Add CVEs in 6f586ef90f
- Prepare for 7.4.32 in 0b4e153394
- Prepare for next release in ad8d00b47b
- Updated to version 2022.4 (2022d) in d16b5d3803
Dmitry Stogov
- Reorder conditions to avoid valgrind "Conditional jump or move depends on uninitialised value" warning in e488f7b0eb
- Fix memory leak in c083efb779
- Fix abstract trace consisency for FE_FETCH instruction in 5ca4113386
- Fix register allocation (missing store) in ed652a514f
- Fix typo in 072dc3c857
- Fix GH-9697:
array_walk
($ffiInstance, function () {}) crashes due to expecting mutable array in d9651a9419
Gabriel Caruso
- Update versions for PHP 8.0.25 in 145b4e6e2f
George Peter Banyard
- Fix GH-9583:
session_create_id()
fails with user defined save handler that doesn't have a validateId() method in 8b115254c0 - Actually fix GH-9583 in 499fbcd679
Ilija Tovilo
- Skip nightly coverage job in forks in 0451eded79
- Move Opcache variation job to GitHub actions in 1bef2e5108
- Migrate MSAN build to GitHub actions in 9377c30577
- Remove symfony and laravel from PHP-8.0 community job in afcaf3bd86
- Remove unused azure pipelines templates in a9c66f0064
- Backport community build to PHP-8.0 branch in b655451439
- Switch to sanitize CFLAGS for community build in 12afd0cba8
- Fix PHP-8.0 skipping for community steps in 03a48b1209
- And also update the branch ref in f518ae50aa
- Skip Symfony preloading for PHP-8.0 in f49709a544
- [skip ci ] Rename matrix-include output on old branches in f3dba7e642
- Add empty default params to nightly linux matrix in 26499f53fb
- Increase job timeout for ASAN/UBSAN build in 2c8f2e9349
Jakub Zelenka
- Rework FPM tests logging for better debugging in 1e8fa6607d
- Improve CS in FPM Tester Response in 1ed4303957
- Do not check X-Powered-By header in FPM tester if expose_php off in 8e1cef4341
Michael Voříšek
- Prepare for Windows CI with Github Actions in b43e49437c
Remi Collet
- add missing CVEs in b0cc5ed91f
Sara Golemon
- Bump for 8.0.25 in 559da529a0
Stanislav Malyshev
- Update NEWS in b7cbb6c53f
- Fix bug #81738 (buffer overflow in
hash_update()
on long parameter) in 6d1b06d0b4