PHP 8.0 is currently only receiving security fixes. PHP 8.0.7 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.7 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.0.7
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.7-x64NTS.zip (25.39 MiB)
php-8.0.7-x86NTS.zip (23.4 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.7-x64TS.zip (25.5 MiB)
php-8.0.7-x86TS.zip (23.46 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.7-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.0.7-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.7-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.0.7-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.7-fpm
ChangeLog
Core
- Fixed bug #80960 (
opendir()
warning wrong info when failed on Windows). - Fixed bug #67792 (HTTP Authorization schemes are treated as case-sensitive).
- Fixed bug #80972 (Memory exhaustion on invalid string offset).
FPM
- Fixed bug #65800 (Events port mechanism).
FTP
GD
- Fixed bug #81032 (GD install is affected by external libgd installation).
Intl
- Fixed bug #81019 (Unable to clone NumberFormatter after failed
parse()
).
MBString
- Fixed bug #81011 (
mb_convert_encoding
removes references from arrays).
ODBC
- Fixed bug #80460 (ODBC doesn't account for SQL_NO_TOTAL indicator).
Opcache
- Fixed bug #81007 (JIT "not supported" on 32-bit x86 -- build problem?).
- Fixed bug #81015 (Opcache optimization assumes wrong part of ternary operator in if-condition).
- Fixed bug #81046 (Literal compaction merges non-equal related literals).
PDO_MySQL
- Fixed bug #81037 (PDO discards error message text from prepared statement).
PDO_ODBC
- Fixed bug #44643 (bound parameters ignore explicit type definitions).
pgsql
- Fixed
php_pgsql_fd_cast()
wrt.php_stream_can_cast()
.
SPL
- Fixed bug #80933 (
SplFileObject::DROP_NEW_LINE
is broken for NUL and CR).
XMLReader
- Fixed bug #73246 (XMLReader: encoding length not checked).
Zip
- Fixed bug #80863 (
ZipArchive::extractTo()
ignores references).
Commit List
Ben Ramsey
- Add entries for log_errors_max_len INI directive removal in c2b5284734
Christoph M. Becker
- Fix #80933:
SplFileObject::DROP_NEW_LINE
is broken for NUL and CR in 976e71a2fa - Update
php_version.h
in 0071c7ed7e - Fix #80960:
opendir()
warning wrong info when failed on Windows in ea3c992bff - Fix expected error message in 8a7b786b7f
- Fix misleading error message in 263f14ac60
- Fix
php_pgsql_fd_cast()
wrt.php_stream_can_cast()
in 1fcea24efb - Fix #67792: HTTP Authorization schemes are treated as case-sensitive in 39ddf6b89c
- Export
gzfwrite()
in a2771296c0 - Fix #80901: Info leak in ftp extension in 09696eee9d
- Fix typo in NEWS in 7f9183ce20
- Fix #80901: Info leak in ftp extension in c0ae3a7fb7
- Fix #80852: Stack-overflow when
json_encode()
'ing SimpleXMLElement in 9f7e8b777c - Fix #80710:
imap_mail_compose()
header injection in 37962c61d2 - Add missing NEWS entry for #80710 in 60a68a45c3
- Fix ./makedist wrt. to GH move in 096f148c61
- 7.3.29 is next in 98c8ad9218
- Fix #80460: ODBC doesn't account for SQL_NO_TOTAL indicator in 7f83976200
- Fix #73246: XMLReader: encoding length not checked in 272df442f5
- Fix #79100: Wrong FTP error messages in 42c72ef463
- Fix #81011:
mb_convert_encoding
removes references from arrays in 0cafd53d18 - Update version in
php_version.h
as well in 125fc0b8d4 - Add simple Firebird payload fake server to test suite in f95f8a3c1e
- Fix #80863:
ZipArchive::extractTo()
ignores references in 57918b1a1b - Fix #44643: bound parameters ignore explicit type definitions in 23a3bbb468
- Disable LSan for all PDO_Firebird tests in f6c15e2caf
- Properly push test artifacts in fb86a176ba
David Carlier
- Fix return type of sparc atomic helper in 5ccb5fd91e
- opcache: more reliable way to get the current binary on solaris/illumos in d87d2f006c
David Rans
- PHPDBG: fix bug parsing 3-word opcodes in 054fad6d63
Derick Rethans
- Put back inadvertedly removed NEWS entries in f99926f554
- Reset PHP-7.4 for 7.4.20 in 0328ff49cc
- The PHP 7.4 branch is now for 7.4.21 in 3938bfb564
Dmitry Stogov
- Fixed incorrect stack size calculation (sizeof(zval) == 16) in 6fa4493f7b
- Fixed JIT on first function execution (opcache.jit=1215) with CALL VM in e96b984026
Flavio Heleno
- Fix #81032: GD install is affected by external libgd installation in 28e7addb9d
Gabriel Caruso
- 8.0.6 is the next version in 79872ac9c2
George Peter Banyard
- Fix Bug #80972: Memory exhaustion on invalid string offset in 418fcd22e8
- Fix Bug #80972: Memory exhaustion on invalid string offset in 97f8ca52fa
Joe Watkins
- Fixed bug #65800 php-fpm: fix Solaris port events.mechanism in 2558acbd66
- missing ; in ef3e0ee08a
Kamil Tekiela
- Fixed bug #81037 PDO discards error message text from prepared statement in 6afbb74194
- Fix NEWS in ead72aabfb
Levi Morrison
- Fix function/file mixup in backtrace printing in 6fd13d0afd
Matteo Beccati
- Revert "Fix #80892:
PDO::PARAM_INT
is treated the same asPDO::PARAM_STR
" in b8e49fe872
Michael Voříšek
- Remove no longer used "log_errors_max_len" ini directive in GH-6838
Máté Kocsis
- Fix return type of
SessionHandler::read()
in ffb1ff371c - Fix arginfo/ZPP mismatch for simplexml_import_dom in cb84e5c332
- Fix
pg_get_notify()
parameter name in d1e590fe72 - Fix the default value of $mode in
PDOStatement::fetch
*() in 30d3062c9b - Fix the signature of
PDOStatement::fetchObject()
in 068c8db276 - Fix return type of
php_user_filter
::onCreate() in a3c38c2596 - Fix return type of mysqli::
init()
in e8361eb0e3 - Fix return type of
UConverter::fromUCallback()
andUConverter::toUCallback()
in 54e2ef0b81 - Fix some types in ext/oci8 in f0736631d9
- Fix some nullable return types in
ext/simplexml
in eedc988a4e
Nikita Popov
- Fix return-by-ref from
array_reduce
callback in f40c8fdf67 - Handle ref return from
Iterator::key()
in 46f9fed0d8 - Remove AMD64 jobs from Travis in d0fd118f9b
- Fix build warning in 310c0561a9
- Remove incorrect format argument in 3f71ba2611
pg_connect()
may return rcn in 98a071e880getdate()
may returnarray_key_long
in c7387ab92fpassword_get_info()
may returnarray_of_null
in c340f97ab0- Remove
assert_options()
return value info in 76d1120a48 - fetch_assoc may return
array_key_long
in 67c4d1f5b9 filter_var_array()
may returnarray_of_ref
in 5acab7ebb4- Remove incorrect func info for
array_reduce()
andpos()
in 2ceef24f4a - Show used git commit in community tests in 47bed58a53
- Don't treat failed assignment as initialization in 398cfb982e
- Add CONFLICTS file for PDO firebird tests in 896e4d3428
- Fixed bug #81007 in bf9dc53435
- Fixed bug #81015 in 178bbe3478
- Fix azure build in 8deadfa31b
- Update community, coverage and file cache jobs to Ubuntu 20.04 in 674b884c7a
- Remove custom curl build on community job in 9bf1224d07
- Use SOL_TCP instead of
getprotobyname()
in tests in 0413cf3c20 - Remove
getservbyname()
variation tests in 12118d592a - Skip some tests under msan in af948ae24c
- Update msan job to Ubuntu 20.04 in f547bddcc0
- Fix zip build in 1c2e7b4ea0
- Revert "Remove no longer used "log_errors_max_len" ini directive (#6838)" in 090627048c
- Don't autoload classes during covariant type check against mixed in 7fbfcfa851
- Fixed bug #81046 in c446d68f7c
- Fixed bug #81019 in 0bff67c0ab
Paragon Initiative Enterprises
- Correct the argument names for
ext/sodium
functions in 0c57ebb116
Petr Sumbera
- php-fpm: fix Solaris port events.mechanism in 04078a597c
Sara Golemon
- Reset for 8.0.7 in f020d537b0
- Remove 8.0.8 on this branch in c65a552288
- Mark for RC1 in 63998d3512
- Prep for 8.0.7 in 44e1c60e97
- Update versions for PHP 8.0.7 in a0d7ba2fe9
Stanislav Malyshev
- Revert "Fix #80852: Stack-overflow when
json_encode()
'ing SimpleXMLElement" in 1b88c85cd8
twosee
- Fixed bug #80900 in 7c6cf09463
- Fixed bug #80929 in c0b1bdcdc3
- Fixed bug #80958 in ecc4bf14f0
- Backport "ignore some opcodes in the JIT check" in d4a206b276
Vincent JARDIN
- openssl_pkcs7_read: input is data not filename in bb0107b63d