PHP 8.0 is currently only receiving security fixes. PHP 8.0.23 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.23 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.0.23
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.23-x64NTS.zip (25.52 MiB)
php-8.0.23-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.23-x64TS.zip (25.63 MiB)
php-8.0.23-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.23-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.0.23-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.23-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.0.23-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.23-fpm
ChangeLog
Core
- Fixed incorrect double to long casting in latest clang.
DBA
- Fixed LMDB driver memory leak on DB creation failure
- Fixed bug GH-9155 (dba_open("non-existing", "c-", "flatfile") segfaults).
Intl
- Fixed
IntlDateFormatter::formatObject()
parameter type.
OPcache
- Fixed bug GH-9033 (Loading blacklist file can fail due to negative length).
OpenSSL
- Fixed bug GH-9339 (OpenSSL oid_file path check warning contains uninitialized path).
PDO_SQLite
- Fixed bug GH-9032 (SQLite3 authorizer crashes on NULL values).
SQLite3
- Fixed bug GH-9032 (SQLite3 authorizer crashes on NULL values).
Standard
- Fixed bug GH-9017 (
php_stream_sock_open_from_socket
could return NULL).
Streams
Commit List
Christoph M. Becker
- Fix GH-9033: Loading blacklist file can fail due to negative length in 35fd97c3c9
- Fix GH-9155: dba_open("non-existing", "c-", "flatfile") segfaults in a442e29485
- Fix GH-9032: SQLite3 authorizer crashes on NULL values in 8ed21a89f3
- Revert "Fix GH-9296:
ksort
behaves incorrectly on arrays with mixed keys" in 912dc44428
Denis Vaksman
- Fix GH-9296:
ksort
behaves incorrectly on arrays with mixed keys in cd1aed8edd
Derick Rethans
- Revert "Fixed #80047: DatePeriod doesn't warn with custom DateTimeImmutable" in 85f3a969dc
- Fixed bug #80047 (DatePeriod doesn't warn with custom DateTimeImmutable) in 001e7dbb04
- Updated to version 2022.2 (2022b) in c6992121cc
- The data for Tehran has changed, update test in 962d8bd0b6
Dmitry Stogov
- Fix memory leak in 44b86aee31
- Fix SSA reconstruction when body of "foreach" loop is removed in af1a7b7b72
- Tracing: Prevent recording types of variables used to pass
zend_class_entry
in 2758ff2a77
Gabriel Caruso
- Prepare for PHP 8.0.23 in a670d2be74
- [ci-skip] Fix for bug #80047 was included in previous release in a08ffc7052
George Peter Banyard
- Fix memory leak in LMDB driver in 5b83b3a933
Gert de Pagter
- Correct
IntlDateFormatter::formatObject
params in 05ed47ef12
Go Kudo
Heiko Weber
- Fix GH-9017:
php_stream_sock_open_from_socket
could return NULL in 3b7babf9b3
Ilija Tovilo
- Re-add MSAN in nightly in ad136e6a6d
- Fix spl test cleanup in 3962f00b01
Jakub Zelenka
- Fix GH-8472:
stream_socket_accept
result may have incorrect metadata in d9ff5e079f
Sara Golemon
- Revert NEWS entry for ksort fix in ba60037679
- 8.0.23 final in 4b85b7c701
- typo year in 4b0fe3005a
- Update versions for PHP 8.0.23 in 866b072155
twosee
- Re-fix GH-8409: SSL handshake timeout persistent connections hanging in b8d07451d4
Vladislav Senin
- Fixes CI macOs, replacing now disabled tidyp dependency to tidy-html5 in 8aeae636e3
zeriyoshi
- [CI skip] update NEWS in 1ce2b56227