PHP 8.0 is currently only receiving security fixes. PHP 8.0.17 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.17 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.0.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.0.17-x64NTS.zip (25.43 MiB)
php-8.0.17-x86NTS.zip (23.57 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.17-x64TS.zip (25.53 MiB)
php-8.0.17-x86TS.zip (23.56 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.17-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.0.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.0.17-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.0.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.0.17-fpm
ChangeLog
Core
- Fixed Haiku ZTS build.
GD
- Fixed libpng warning when loading interlaced images.
FPM
- Fixed bug #76109 (Unsafe access to fpm scoreboard).
Iconv
- Fixed bug GH-7953 (
ob_clean()
only does not set Content-Encoding). - Fixed bug GH-7980 (Unexpected result for iconv_mime_decode).
MySQLnd
- Fixed bug GH-8058 (NULL pointer dereference in mysqlnd package).
OPcache
- Fixed bug GH-8074 (Wrong type inference of
range()
result).
Reflection
- Fixed bug GH-8080 (
ReflectionClass::getConstants()
depends on def. order). - Fixed bug GH-8421 (Closures should accept attributes with
Attribute::TARGET_FUNCTION
).
Zlib
- Fixed bug GH-7953 (
ob_clean()
only does not set Content-Encoding).
Commit List
Brett
- Fixed libpng warning when loading interlaced images in 1d48da6da5
Christoph M. Becker
- Fix GH-7953:
ob_clean()
only does not set Content-Encoding in 9bd468da63 - Fix GH-7980: Unexpected result for iconv_mime_decode in 86c196ba7f
- Fix #81708: UAF due to
php_filter_float()
failing for ints in dce5e561a6 - Fix #81708: UAF due to
php_filter_float()
failing for ints in 82f1bf1b6b - Fix bugtracker URL in e98a7a68b7
- Fix GH-8074: Wrong type inference of
range()
result in ef80dcb80b - Fix GH-8080:
ReflectionClass::getConstants()
depends on def. order in 0d266a24d6
David Carlier
- Haiku fix ZTS build, disabling tls model in bea542a953
Derick Rethans
- Add fix to NEWS in d13ceb74fa
- Prepare for 7.4.29 in 325bcf9f1d
Dmitry Stogov
- Free cached chunks when the requested memory limit is above real usage in c035298eb2
- Tracing JIT: Fixed incorrect deoptimization info in 82bb169a08
- Tracing JIT: Fixed incorrect deoptimization info in d0f965d078
- JIT: Fix missed type store in 0d6b173532
- Fix type inference in 7434909dc6
- JIT: Fixed register clobbering during overflow handling in 912608d89b
- Fixed GH-8044 (var_export/debug_zval_dump HT_ASSERT_RC1 debug failure for SplFixedArray) in 52ae6417ca
- Release lock and protect SHM before replaying warnings in 8f5480e7eb
- Fix memory leak in 84a638a346
- JIT: Fix register allocation in 3198b8787b
- Fixed incorrect DCE for FREE in 78c7289f69
- JIT: Fix register allocator in ac8a53cab1
- JIT: Fix memory leak in 70f7e7d83f
- Fix use after free in 01702a851b
Gabriel Caruso
- Prepare for PHP 8.0.17 GA in 1e5d1e6e1d
- Update versions for PHP 8.0.17 in 45dc29a1fa
Ilija Tovilo
- Migrate CI to GitHub actions in 41461cf812
Kamil Tekiela
- Fix bug GH-8058 - mysqlnd segfault when prepare fails in 93a8d5cd17
Nikita Popov
- Initialize int_codepoint in
parse_code_point_param()
in bfe9531dc1
Sara Golemon
- Bump for 8.0.17-dev in 8a46311dbd
Till Backhaus
- Fix bug #76109: Implement fpm_scoreboard_copy in 29fe06fa59
Tyson Andre
- Fixes infinite recursion introduced by patch to SplFixedArray in GH-8105