PHP 8.1 is currently only receiving security fixes. PHP 8.1.19 is not the latest version in the series, and using this release is not recommended. PHP 8.1.31 is the latest in the series.
Downloads
Source Code
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.1.19
./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.19-cli-alpine
docker pull php:8.1.19-cli
docker pull php:8.1.19-fpm-alpine
docker pull php:8.1.19-apache
docker pull php:8.1.19-fpm
ChangeLog
Core
- Fix inconsistent float negation in constant expressions.
- Fixed bug GH-8841 (php-cli core dump calling a badly formed function).
- Fixed bug GH-10737 (PHP 8.1.16 segfaults on line 597 of sapi/apache2handler/sapi_apache2.c).
- Fixed bug GH-11028 (Heap Buffer Overflow in zval_undefined_cv.).
- Fixed bug GH-11108 (Incorrect CG(memoize_mode) state after bailout in ??=).
DOM
- Fixed bug #80602 (Segfault when using
DOMChildNode::before()
). - Fixed incorrect error handling in
dom_zvals_to_fragment()
.
Exif
- Fixed bug GH-9397 (exif read : warnings and errors : Potentially invalid endianess, Illegal IFD size and Undefined index).
Intl
- Fixed bug GH-11071 (TZData version not displayed anymore).
PCRE
- Fixed bug GH-10968 (Segfault in
preg_replace_callback_array()
).
Standard
Commit List
Derick Rethans
- Fixed tests and remove the
XFAIL
'Various bugs exist'. They did, but they were in the tests in e67bb14ab4
Dmitry Stogov
- Tracing JIT: Fixed incorrect code generation fofr SEND-ing of result of ASSIGN to typed reference in 8a749c79d0
- Allow FETCH_OBJ_W and FETCH_STATIC_PROP_W to return INDIRECT/UNDEF zval for uninitialized typed properties in GH-11048
Ilija Tovilo
- Unary minus const expression consistency in 41bbb116dd
- Fix incorrect zval type_flags in
preg_replace_callback_array()
for immutable arrays in 66ce205718 - Fix
add_function_array()
assertion when op2 contains op1 in 84b4020eb4 - Fix test
bug60120.phpt
in dd44a9330e - Support enums in
array_unique
in e8b8341d3d - Fix reference returned from
CallbackFilterIterator::accept()
in 5855bdcd6c - Fix incorrect CG(memoize_mode) state after bailout in ??= in 4c38a79f09
- Endless recursion when using + on array in foreach in 520fc2d2f3
Jakub Zelenka
- Add FPM FastCGI env var test for Apache without path info fix in 15802dfc62
- Add FPM FCGI env Apache handler UDS test in ebb3213f79
- Use curl from brew on MacOS CI in 4be6435c9f
- Add
zend_test_crash
funtion to segfault PHP process in 0ac55e9bfb - Add missing
zend_test_crash
message initialization in 84be9042f9
Michael Voříšek
- Fix mysql tests with non-standard server port in 0ab51a9561
NathanFreeman
- Fix bug #80602: Segfault when using
DOMChildNode::before()
in 2d6decc14c
Niels Dossche
- Fix GH-8841: php-cli core dump calling a badly formed function in cf9b030a57
- Fix GH-10990:
mail()
throws TypeError after iterating over $additional_headers array by reference in 79c5b32d15 - Fix incorrect error handling in
dom_zvals_to_fragment()
in 0579beb842 - Fix GH-9397: exif read : warnings and errors : Potentially invalid endianess, Illegal IFD size and Undefined index in b81ce297a1
- Fix GH-10737: PHP 8.1.16 segfaults on line 597 of sapi/apache2handler/sapi_apache2.c in 51faf04dbd
- Fix GH-11028: Heap Buffer Overflow in zval_undefined_cv in fc32d39b7f
- Set error_log to an empty value if the test relies on that feature in 691ff9f845
Patrick Allaert
- Update versions for PHP 8.1.19 in b0c0fa7d12
Remi Collet
- Fix GH-11071: Revert "Fix [-Wundef] warning in INTL extension" in 31e21f7dbc