PHP 8.1 is currently only receiving security fixes. PHP 8.1.7 is not the latest version in the series, and using this release is not recommended. PHP 8.1.32 is the latest in the series.
Downloads
Source Code
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.1.7
./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
Docker/Podman Containers
docker pull php:8.1.7-cli-alpine
docker pull php:8.1.7-cli
docker pull php:8.1.7-fpm-alpine
docker pull php:8.1.7-apache
docker pull php:8.1.7-fpm
ChangeLog
CLI
- Fixed bug GH-8575 (CLI closes standard streams too early).
Date
- Fixed bug #51934 (strtotime plurals / incorrect time).
- Fixed bug #51987 (Datetime fails to parse an ISO 8601 ordinal date (extended format)).
- Fixed bug #66019 (DateTime object does not support short ISO 8601 time format - YYYY-MM-DDTHH)
- Fixed bug #68549 (Timezones and offsets are not properly used when working with dates)
- Fixed bug #81565 (date parsing fails when provided with timezones including seconds).
- Fixed bug GH-7758 (Problems with negative timestamps and fractions).
FPM
- Fixed ACL build check on MacOS.
- Fixed bug #72185: php-fpm writes empty fcgi record causing nginx 502.
- Fixes use after free.
mysqlnd
- Fixed bug #81719: mysqlnd/pdo password buffer overflow. (CVE-2022-31626)
OPcache
- Fixed bug GH-8461 (tracing JIT crash after function/method change).
OpenSSL
- Fixed bug #79589 (error:14095126:SSL routines:ssl3_read_n:unexpected eof while reading).
Pcntl
- Fixed Haiku build.
pgsql
- Fixed bug #81720: Uninitialized array in
pg_query_params()
. (CVE-2022-31625)
Soap
- Fixed bug GH-8578 (Error on wrong parameter on SoapHeader constructor).
- Fixed bug GH-8538 (SoapClient may strip parts of nmtokens).
SPL
- Fixed bug GH-8235 (
iterator_count()
may run indefinitely).
Standard
- Fixed bug GH-8185 (Crash during unloading of extension after dl() in ZTS).
Zip
- Fixed type for index in
ZipArchive::replaceFile
.
Commit List
Alex Dowad
- Fix
mb_detect_encoding
's recognition of Slavic names in 9bb97ee8bc
Arnaud Le Blanc
- Fix unregistering ini entries of dynamically loaded extension in GH-8435
- Do not optimize out
ini_get()
when the entry does not exist during compilation in GH-8507 - Do not optimize out
ini_get()
when the entry does not exist during compilation in GH-8507 - Disable
zend_rc_debug
during dl() in GH-8552 XFAIL
tests (GH-8588) in f2ac4f206a- Revert "
XFAIL
tests (GH-8588)" in c88dc44a75 - Reduce the scope of
XFAIL
in GH-8592 - Disable
zend_rc_debug
during dtor of dl()'ed module in GH-8606
Ben Ramsey
- Prepare for PHP 8.1.7 in fb819faa4e
- Revert "Update versions for PHP 8.1.7RC1" in ef620d1389
- Fix #76452: Crash while parsing blob data in firebird_fetch_blob in 74383b6acd
- Update versions for PHP 8.1.7 in d35e577a1b
Christoph M. Becker
- Fix GH-8235:
iterator_count()
may run indefinitely in ad7b9f4e50 - Fix test for curl 7.83.0 in 722e9b9fa5
- Fix
zend_test
tests in 710294c9a5 - Fix mysqli tests wrt. MySQL 8.0.28 in a7a590211e
- Fix test wrt. deprecation of float to int conversions in e9e2cf0230
- Fix GH-8538: SoapClient may strip parts of nmtokens in 2a13304b2e
- Fix #81720: Uninitialized array in
pg_query_params()
leading to RCE in 5ed5954825
David CARLIER
- Fix FPM ACL build check on MacOS in ef06f0f50b
David Carlier
- Fix pcntl Haiku build in e33de9dda8
Derick Rethans
- Fixed GH-8471: Segmentation fault when converting immutable and mutable DateTime instances created using reflection in 92f8f19d50
- Merged pull request #8497 in dadc8431a4
- Adding missing NEWS entry in 95f5f9d21d
- Emit EXT_STMT for each 'elseif' clause in c06e1abbaa
- Merged pull request #8574 in 33850fbb15
- Integrate timelib 2021.12 in 546abc4bc6
- Adjust existing tests for fixed bugs in b510868bb8
- Fixed bug GH-7758 (Problems with negative timestamps and fractions) in ef55bf7149
- Fixed bug #66019 (DateTime object does not support short ISO 8601 time format - YYYY-MM-DDTHH) in ee2776210b
- Fixed bug #68549 (Timezones and offsets are not properly used when working with dates) in 20d8c1bea5
- Fixed bug #51934 (strtotime plurals / incorrect time) in 23dbefdb7b
- Fixed bug #51987 (Datetime fails to parse an ISO 8601 ordinal date (extended format)) in 78d5076b25
- Fixed bug #81565 (date parsing fails when provided with timezones including seconds) in 008016b536
Dmitry Stogov
- Fix memory leak in b1b79c74fb
- Fix type inference in 3f1e1b9ddf
- Fix type inference in 84c1e99ecf
- Add JIT guards for INIT_FCALL instructions and functions that may be modified in 6c25413183
- Fix type inference in 05375602a7
- Fix memory leak in 84ea0aa684
Ilija Tovilo
- Fix ReflectionProperty::__toString() of properties containing enums in 1944c14ce7
- Fix undefined behavior in php_set_inet6_addr in f0480eb4de
Jakub Zelenka
- Add skip for FPM resource heavy tests in 0df28869f6
- Update NEWS entry with correct version for FPM ACL fix in e28e0ad35e
- Move FPM ACS fix NEWS entry to 8.0.20 in 82dae61c04
- Fix bug #72185: php-fpm writes empty fcgi record causing nginx 502 in 23a2030438
- Fix bug #79589: ssl3_read_n:unexpected eof while reading in 74f75db0c3
Levi Morrison
Martin Rehberger
- bug: Fix type for $index in
ZipArchive::replaceFile
in 389d11308c - bug: Fix type for $index in
ZipArchive::replaceFile
in 62a650ab7d
Martin Vobruba
- Fix build with Valgrind without I_REPLACE_SONAME_FNNAME_ZU symbol in b388e951b8
Michael Voříšek
- Fix test
XFAIL
, update phar to use spl_autoload_register in 60487621c1 - Fix PDO URI test in 136ef6f129
Nikita Popov
- Update libmysqlclient to 5.7.38 in 49549ea585
Patrick Allaert
- Update versions for PHP 8.1.7RC1 in e30b9b48e5
robertnisipeanu
- Fix GH-8578: Error on wrong parameter on SoapHeader constructor in 8735ae9d13
Sara Golemon
- Bump for 8.0.21 in e05897fe5e
Stanislav Malyshev
- Fix bug #81719: mysqlnd/pdo password buffer overflow in 8493e27b6d
vajexal
- Fix get_function_or_method_name when included file is scoped in GH-8467