PHP 8.0 is currently only receiving security fixes. PHP 8.0.20 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.20 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.0.20
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.20-x64NTS.zip (25.52 MiB)
php-8.0.20-x86NTS.zip (23.64 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.20-x64TS.zip (25.62 MiB)
php-8.0.20-x86TS.zip (23.63 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.20-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.0.20-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.20-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.0.20-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.20-fpm
ChangeLog
CLI
- Fixed bug GH-8575 (CLI closes standard streams too early).
Core
- Fixed Haiku ZTS builds.
Date
- Fixed bug #72963 (Null-byte injection in CreateFromFormat and related functions).
- Fixed bug GH-8471 (Segmentation fault when converting immutable and mutable DateTime instances created using reflection).
FPM
- Fixed ACL build check on MacOS.
- Fixed bug #72185: php-fpm writes empty fcgi record causing nginx 502.
- Fixes use after free.
Mysqlnd
- Fixed bug #81719: mysqlnd/pdo password buffer overflow. (CVE-2022-31626)
OPcache
- Fixed bug GH-8466 (
ini_get()
is optimized out when the option does not exist).
Pgsql
- Fixed bug #81720: Uninitialized array in
pg_query_params()
. (CVE-2022-31625)
Pcntl
- Fixed Haiku build.
Soap
- Fixed bug GH-8578 (Error on wrong parameter on SoapHeader constructor).
- Fixed bug GH-8538 (SoapClient may strip parts of nmtokens).
SPL
- Fixed bug GH-8235 (
iterator_count()
may run indefinitely).
Zip
- Fixed type for index in
ZipArchive::replaceFile
.
Commit List
Arnaud Le Blanc
- Do not optimize out
ini_get()
when the entry does not exist during compilation in GH-8507 XFAIL
tests (GH-8588) in f2ac4f206a- Reduce the scope of
XFAIL
in GH-8592
Christoph M. Becker
- Fix GH-8235:
iterator_count()
may run indefinitely in ad7b9f4e50 - Fix test for curl 7.83.0 in 722e9b9fa5
- Fix
zend_test
tests in 710294c9a5 - Fix mysqli tests wrt. MySQL 8.0.28 in a7a590211e
- Fix GH-8538: SoapClient may strip parts of nmtokens in 2a13304b2e
- Fix #81720: Uninitialized array in
pg_query_params()
leading to RCE in f724f8e393
David Carlier
- Haiku fix ZTS build disabling
tsrm_ls_cache
usage in 4bb0dd49d8 - Fix pcntl Haiku build in e33de9dda8
David CARLIER
- Fix FPM ACL build check on MacOS in ef06f0f50b
Derick Rethans
- Return early when the timezone info is NULL in 87f341b1c2
- Use the new RETURN_THROWS() instead of just returning NULL in b461c4673b
- Fixed GH-8471: Segmentation fault when converting immutable and mutable DateTime instances created using reflection in 92f8f19d50
- Merged pull request #8497 in dadc8431a4
- Adding missing NEWS entry in 95f5f9d21d
- Emit EXT_STMT for each 'elseif' clause in c06e1abbaa
- Merged pull request #8574 in 33850fbb15
Dmitry Stogov
- Fix type inference in 3f1e1b9ddf
- Fix type inference in 05375602a7
- Fix memory leak in 84ea0aa684
Gabriel Caruso
- Prepare for PHP 8.0.20 in 52a18a6620
Ilija Tovilo
- Fix undefined behavior in php_set_inet6_addr in f0480eb4de
Jakub Zelenka
- Add skip for FPM resource heavy tests in 0df28869f6
- Move FPM ACS fix NEWS entry to 8.0.20 in 82dae61c04
- Fix bug #72185: php-fpm writes empty fcgi record causing nginx 502 in 23a2030438
Levi Morrison
- Stop closing stderr and stdout streams in GH-8569
Martin Rehberger
- bug: Fix type for $index in
ZipArchive::replaceFile
in 389d11308c
Michael Voříšek
- Fix test
XFAIL
, update phar to use spl_autoload_register in 60487621c1 - Fix PDO URI test in 136ef6f129
robertnisipeanu
- Fix GH-8578: Error on wrong parameter on SoapHeader constructor in 8735ae9d13
Sara Golemon
- NEWS for 8.0.20 fixed in 1084715494
- Update versions for PHP 8.0.20 in 8bfdd9978c
Stanislav Malyshev
- Fix bug #81719: mysqlnd/pdo password buffer overflow in b9480cfd1e
vajexal
- Fix get_function_or_method_name when included file is scoped in GH-8467