PHP 8.0 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 8.0.18 is not recommended. PHP 8.0.30 is the latest version in the series.
Downloads
Source Code
Git Clone
Use Git to clone the 8.0.18 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.0.18
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.18-x64NTS.zip (25.51 MiB)
php-8.0.18-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.18-x64TS.zip (25.62 MiB)
php-8.0.18-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.18-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.0.18-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.18-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.0.18-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.18-fpm
ChangeLog
Core
- Fixed freeing of internal attribute arguments.
- Fixed bug GH-8070 (memory leak of internal function attribute hash).
- Fixed bug GH-8160 (ZTS support on Alpine is broken).
- Fixed potential race condition during resource ID allocation.
Filter
- Fixed signedness confusion in
php_filter_validate_domain()
.
Hash
- Fixed bug #81714 (segfault when serializing finalized HashContext).
Intl
- Fixed bug GH-8142 (Compilation error on cygwin).
MBString
- Fixed bug GH-8208 (
mb_encode_mimeheader
: $indent functionality broken).
MySQLi
- Fixed bug GH-8068 (mysqli_fetch_object creates inaccessible properties).
Pcntl
- Fixed bug GH-8142 (Compilation error on cygwin).
PgSQL
- Fixed result_type related stack corruption on LLP64 architectures.
- Fixed bug GH-8253 (
pg_insert()
fails for references).
Sockets
- Fixed Solaris builds.
- Fix undefined behavior in php_set_inet6_addr.
SPL
- Fixed bug GH-8121 (SplFileObject - seek and key with csv file inconsistent).
Standard
- Fixed bug GH-8048 (Force macOS to use statfs).
Commit List
Bob Weinand
- Fix GH-8082: Prevent leaking memory on observed transient run_time_caches in e6cf583160
- Fix freeing of internal attribute arguments in f095d2c91b
- Fix ZTS build after cherry-pick in 15949b61ba
Christoph M. Becker
- Fix GH-8121: SplFileObject - seek and key with csv file inconsistent in 1d9a1f9be3
- Fix GH-8068: mysqli_fetch_object creates inaccessible properties in ef29ddcc27
- Fix GH-8208:
mb_encode_mimeheader
: $indent functionality broken in d0417ebc93 - Fix signedness confusion in
php_filter_validate_domain()
in 771dbdb319 - Fix result_type related stack corruption on LLP64 architectures in 5a8622fe78
- Fix GH-8253:
pg_insert()
fails for references in 0e6d6f83cc
David Carlier
- Fix GH-8142: Compilation error on cygwin in 8b15858c58
- Fix Solaris builds of
ext/sockets
in 7eb972c456
Dmitry Stogov
- Fixed memory leak in 151d2ac5ae
- Tracing JIT: Eliminate useless guards for CONCAT in 6c3816cee5
- JIT: Fix type store in 9792f0db76
- JIT: Fix register allocation in e20f955e44
- Fix memory leak in 2b7431cf5b
- JIT: Fix missing exception handling in 3d6a7e2bd5
- JIT: Fix memory leak in 7051dc3372
- JIT: Fix missing type store in e9fc81a2f8
- JIT: Fix register clobbering in cf83bdd925
- JIT: Fixed memory leak in aa352c2c54
Gabriel Caruso
- Prepare for PHP 8.0.18 in 5507201a38
- Fix NEWS format in 05f2fb3af3
Michael Voříšek
- Fix GH-8160: ZTS support on Alpine is broken in 2b2aeb989e
Remi Collet
run-tests.php
: fix TypeError: Unsupported operand types: string * int <n> is mandatory for--show-slow
and--set-timeout
use <n> in help message instead of confusing [n] in 23cce68d24- typo in fe4aba6588
risner
- Fix GH-8048: disk_*_space wrong for some filesystems on macOS in 57ef16bb5d
Sara Golemon
- 8.0.18 NEWS in 7914b69530
- Update versions for PHP 8.0.18 in 10dc522c5d
Stanislav Malyshev
- Don't try to access memory outside string in 2119ba215a
Tim Düsterhus
- Fix memory leak of function attribute hash table in GH-8070