PHP 8.0.9: Downloads, Changelog, News

Release Information

PHP Version
PHP 8.0
Release Date
Release Type
Bug Fix Release
Release Status
EOL, Use PHP 8.0.30
Branch Status

PHP 8.0 reached EOL on , and all releases of this version no longer receive security or bug fixes. Using PHP 8.0.9 is not recommended. PHP 8.0.30 is the latest version in the series.


Source Code

Git Clone
Use Git to clone the 8.0.9 tag from the PHP Git repository.
git clone --depth 1 --branch php-8.0.9
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (./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.
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.

Docker/Podman Containers

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.9-cli-alpine

Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.0.9-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.9-fpm-alpine

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.0.9-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.9-fpm



  • Fixed bug #81145 (copy() and stream_copy_to_stream() fail for +4GB files).
  • Fixed bug #81163 (incorrect handling of indirect vars in __sleep).
  • Fixed bug #81159 (Object to int warning when using an object as a string offset).
  • Fixed bug #80728 (PHP built-in web server resets timeout when it can kill the process).
  • Fixed bug #73630 (Built-in Weberver - overwrite $_SERVER['request_uri']).
  • Fixed bug #80173 (Using return value of zend_assign_to_variable() is not safe).
  • Fixed bug #73226 (--r[fcez] always return zero exit code).


  • Fixed bug #72809 (Locale::lookup() wrong result with canonicalize option).
  • Fixed bug #68471 (IntlDateFormatter fails for "GMT+00:00" timezone).
  • Fixed bug #74264 (grapheme_strrpos() broken for negative offsets).


  • Fixed bug #52093 (openssl_csr_sign truncates $serial).


  • Fixed bug #81101 (PCRE2 10.37 shows unexpected result).
  • Fixed bug #81243 (Too much memory is allocated for preg_replace()).


  • Fixed bug #81208 (Segmentation fault while create newInstance from attribute).


  • Fixed bug #81223 (flock() only locks first byte of file).

Commit List

Anatol Belski

Calvin Buckley

Christoph M. Becker

Derick Rethans

Dmitry Stogov

  • Fixed incorrect type inference for "(array)$null" in df16fd149b
  • JIT: Fixed failures of tracing JIT with CALL VM in 1082669e24
  • JIT/x86: Fixed possible incorrect register allocation in ced8e88438
  • JIT/x86: Fixed possible incorrect exception catching in function JIT in 99c0efc77a

Gabriel Caruso

George Peter Banyard

Joe Watkins

Máté Kocsis

Nikita Popov

  • Fixed bug #81208 in b976bc44f1
  • Fix leak on div by zero compound assignment with coercion in 540fed1b36
  • Fix leak on foreach by ref assign to property in 36f5d719f5
  • Fixed bug #80173 in bdc60fa7da
  • Fix return value of wrong fucntion by-ref assign in 96bf925cde
  • Add missing error condition to stream_context_set_option() in 1b01bf3a95
  • Fix ArrayObject::exchangeArray() return type in bcefc31e4e
  • Fix use after free on compound division by zero in 62ecf54f35
  • Fix constant update for shadowed private property in 58699ffcf1
  • Test Laravel 8.x against PHP 7.4 in bb43aa2ed3
  • Use newer PHP version in community job in 8cec7db48d

Stanislav Malyshev

Subscribe to PHP.Watch newsletter for monthly updates

You will receive an email on last Wednesday of every month and on major PHP releases with new articles related to PHP, upcoming changes, new features and what's changing in the language. No marketing emails, no selling of your contacts, no click-tracking, and one-click instant unsubscribe from any email you receive.