PHP 8.1 is currently only receiving security fixes. PHP 8.1.26 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.26
./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.26-cli-alpine
docker pull php:8.1.26-cli
docker pull php:8.1.26-fpm-alpine
docker pull php:8.1.26-apache
docker pull php:8.1.26-fpm
ChangeLog
Core
- Fixed bug GH-12468 (Double-free of doc_comment when overriding static property via trait).
- Fixed segfault caused by weak references to FFI objects.
- Fixed max_execution_time: don't delete an unitialized timer.
DOM
- Fix registerNodeClass with abstract class crashing.
- Add missing NULL pointer error check.
- Fix validation logic of php:
function()
callbacks.
Fiber
- Fixed bug GH-11121 (ReflectionFiber segfault).
FPM
- Fixed bug GH-9921 (Loading ext in FPM config does not register module handlers).
- Fixed bug GH-12232 (FPM: segfault dynamically loading extension without opcache).
Intl
- Removed the BC break on
IntlDateFormatter::construct
which threw an exception with an invalid locale.
Opcache
- Added warning when JIT cannot be enabled.
- Fixed bug GH-8143 (Crashes in
zend_accel_inheritance_cache_find
since upgrading to 8.1.3 due to corrupt on-disk file cache).
OpenSSL
- Fixed bug GH-12489 (Missing sigbio creation checking in openssl_cms_verify).
PCRE
- Fixed bug GH-11374 (Backport upstream fix, Different preg_match result with -d pcre.jit=0).
SOAP
- Fixed bug GH-12392 (Segmentation fault on SoapClient::__getTypes).
- Fixed bug #66150 (SOAP WSDL cache race condition causes Segmentation Fault).
- Fixed bug #67617 (SOAP leaves incomplete cache file on ENOSPC).
- Fix incorrect uri check in SOAP caching.
- Fix segfault and assertion failure with refcounted props and arrays.
- Fix potential crash with an edge case of persistent encoders.
- Fixed bug #75306 (Memleak in SoapClient).
Streams
- Fixed bug #75708 (getimagesize with "&$imageinfo" fails on StreamWrappers).
XMLReader
- Add missing NULL pointer error check.
XMLWriter
- Add missing NULL pointer error check.
XSL
- Add missing module dependency.
- Fix validation logic of php:
function()
callbacks.
Commit List
Ben Ramsey
- Update versions for PHP 8.1.26 in ae44be1116
Daniil Gentili
- Report warning if JIT cannot be enabled in 7177461141
- Fix GH-11121: ReflectionFiber segfault in 71f14510f6
David Carlier
ext/intl
: change when the locale is invalid for the 8.1/8.2 serie in 0da1356c66
Dmitry Stogov
- Fixed GH-12428: Assertion with function/tracing JIT in dabced0fbb
- Fixed GH-11917: primitives seem to be passed via reference instead of by value under some conditions when JIT is enabled on windows in GH-12451
- Fixed GH-12494: Zend/tests/arginfo_zpp_mismatch.phpt causes a segfault withJIT +
--repeat
2 in e0ca4dca5b - memory_consumption must be page aligned in e270ee3008
- Fixed GH-12482: Abortion with tracing JIT in 76c41d27f9
- Fixed incorrect type inference in aa45df4849
- Fixed regression intoduced by 76c41d27 in fbf4e196da
- Fixed GH-12509: JIT assertion when running php-parser tests in 5f46d86955
- Fix memory leak after GC inside a foreach loop in GH-12572
- Fixed GH-12511: Use must be in next opline assertion with patched infection in b3b46a44c5
- Backport implementation of iterative Pearce's SCC finding algoritm in GH-12528
- Backport fix for incorrect assumption about in-memory zval type in 455a967934
- Fixed inorrect QM_ASSIGN elimination in 19dfe05f16
- Fixed GH-12564: The negative fiber.stack_size setting leads to crash in fe3a819e32
- Fixed GH-10008: Narrowing occurred during type inference of
ZEND_ADD_ARRAY_ELEMENT
in 798b9d097b - Don't JIT after fatal errors in 77a497d56a
icy17
- Fix null pointer dereferences in case of allocation failure in 900f0cab9f
Ilija Tovilo
- Move ARM build to CircleCI in 4332546bbf
- Fix JIT on nightly in 734afa0ba8
- Avoid JIT warning with opcache.jit_buffer_size=0 in 07d81592e9
- Fix double-free of doc_comment when overriding static property via trait in af3d2f7ec9
- Run FreeBSD on push in b280f1f964
- Use attribute for ignoring Laravel test in 0e8205bd9a
Jakub Zelenka
- Fix GH-12232: FPM: segfault dynamically loading extension without opcache in 0217be4d5b
- Fix GH-12489: Missing sigbio creation checking in openssl_cms_verify in 83a242ec0c
- Fix bug #75708: getimagesize with "&$imageinfo" fails on StreamWrappers in 52aa0d9ecc
- Fix GH-9921: Loading ext in FPM config does not register module handlers in a8c6c6165b
Kévin Dunglas
- fix: don't delete an unitialized timer in GH-12537
Michael Voříšek
- Fix GH-11374: Different preg_match result with -d pcre.jit=0 in 83a505e85f
Niels Dossche
- Fix GH-12392: Segmentation fault on SoapClient::__getTypes in 7e4a3236d9
- Fix registerNodeClass with abstract class crashing in d7de0ceca6
- Add missing module dependency for xsl in 68aa793173
- Fix bug #66150: SOAP WSDL cache race condition causes Segmentation Fault in 43e63168e9
- Fix incorrect uri check in SOAP caching in abf562c417
- Fix segfault and assertion failure with refcounted props and arrays in 01d61605d3
- Fix incorrect dtor for persistent sdl->encoders in 9f7f3b2034
- Fix bug #75306: Memleak in SoapClient in 27797a26ca
- Fix memory leak in error path of
zend_register_list_destructors_ex
in 3bf5d89efb - Fix validation logic of php:
function()
callbacks in dom and xsl in 20c9c4a367 - Fix unspecified behaviour in
zend_alloc
in heap->limit computation in 28110f8d0a
Sergei Turchanov
- Reset inheritance_cache pointer of
zend_class_entry
upon serialization in GH-12401
sji
- Fix segfault caused by weak references to FFI objects in GH-12488