PHP 8.1 is currently only receiving security fixes. PHP 8.1.4 is not the latest version in the series, and using this release is not recommended. PHP 8.1.30 is the latest in the series.
Downloads
Source Code
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.1.4
./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.4-cli-alpine
docker pull php:8.1.4-cli
docker pull php:8.1.4-fpm-alpine
docker pull php:8.1.4-apache
docker pull php:8.1.4-fpm
ChangeLog
Core
- Fixed Haiku ZTS build.
- Fixed bug GH-8059 arginfo not regenerated for extension.
- Fixed bug GH-8083 Segfault when dumping uncalled fake closure with static variables.
- Fixed bug GH-7958 (Nested CallbackFilterIterator is leaking memory).
- Fixed bug GH-8074 (Wrong type inference of
range()
result). - Fixed bug GH-8140 (Wrong first class callable by name optimization).
- Fixed bug GH-8082 (op_arrays with temporary run_time_cache leak memory when observed).
GD
- Fixed libpng warning when loading interlaced images.
FPM
- Fixed bug #76109 (Unsafe access to fpm scoreboard).
Iconv
- Fixed bug GH-7953 (
ob_clean()
only does not set Content-Encoding). - Fixed bug GH-7980 (Unexpected result for iconv_mime_decode).
MBString
- Fixed bug GH-8128 (
mb_check_encoding
wrong result for 7bit).
MySQLnd
- Fixed bug GH-8058 (NULL pointer dereference in mysqlnd package).
Reflection
- Fixed bug GH-8080 (
ReflectionClass::getConstants()
depends on def. order). - Fixed bug GH-8444 (Fix ReflectionProperty::__toString() of properties containing instantiated enums).
Zlib
- Fixed bug GH-7953 (
ob_clean()
only does not set Content-Encoding).
Commit List
Alex Dowad
mb_check_encoding
($str, '7bit') rejects strings with bytes over 0x7F in 8a8533d263- Add NEWS entry for recent MBString bugfix (re: '7bit' encoding) in bbc111ed3f
Ben Ramsey
- Fix versions in PHP-8.1.4 branch in 0b50df2381
- Prepare for PHP 8.1.4 GA in 964f494ad1
- Update versions for PHP 8.1.4 in 70c7d9b602
Bob Weinand
- Fix GH-8082: Prevent leaking memory on observed transient run_time_caches in e6cf583160
Brett
- Fixed libpng warning when loading interlaced images in 1d48da6da5
Christoph M. Becker
- Fix GH-7953:
ob_clean()
only does not set Content-Encoding in 9bd468da63 - Fix GH-7980: Unexpected result for iconv_mime_decode in 86c196ba7f
- Fix #81708: UAF due to
php_filter_float()
failing for ints in dce5e561a6 - Fix #81708: UAF due to
php_filter_float()
failing for ints in 82f1bf1b6b - Fix bugtracker URL in e98a7a68b7
- Fix GH-7958: Nested CallbackFilterIterator is leaking memory in fb70460d8e
- Fix GH-8074: Wrong type inference of
range()
result in ef80dcb80b - Fix GH-8140: Wrong first class callable by name optimization in 33cd61c904
- Fix GH-8080:
ReflectionClass::getConstants()
depends on def. order in 0d266a24d6
David Carlier
- Haiku fix ZTS build, disabling tls model in bea542a953
Derick Rethans
- Add fix to NEWS in d13ceb74fa
- Prepare for 7.4.29 in 325bcf9f1d
Dmitry Stogov
- Free cached chunks when the requested memory limit is above real usage in c035298eb2
- Tracing JIT: Fixed incorrect deoptimization info in 82bb169a08
- Tracing JIT: Fixed incorrect deoptimization info in d0f965d078
- JIT: Fix missed type store in 0d6b173532
- Fix type inference in 7434909dc6
- JIT: Fixed register clobbering during overflow handling in 912608d89b
- Fix emory leak in 73fed0f028
- Fixed GH-8044 (var_export/debug_zval_dump HT_ASSERT_RC1 debug failure for SplFixedArray) in 52ae6417ca
- Release lock and protect SHM before replaying warnings in 8f5480e7eb
- Disable ASSIGN optimization for values inferred for fatal errors in 7e8257fbd2
- Fix memory leak in 84a638a346
- JIT: Fix register allocation in 3198b8787b
- JIT: Fix register clobbering in 8b8cf8f8f5
- Fixed incorrect DCE for FREE in 78c7289f69
- JIT: Fix register allocator in ac8a53cab1
- Allow setting full type info in 0a5162b2b6
- JIT: Fix memory leak in 70f7e7d83f
- Fix typr inference in aced867a95
- Fix infiniry recursion during
serialize()
of "tricky" object in bb0b4eb996 - Fix use after free in 01702a851b
Gabriel Caruso
- Prepare for PHP 8.0.18 in 5507201a38
- Fix NEWS format in 05f2fb3af3
Ilija Tovilo
- Fix null static_variable_ptr for uncalled fake closures in 19063a84f0
- Migrate CI to GitHub actions in 41461cf812
- GitHub actions test with firebird, dblib and werror in 1e8d35adab
- Mark failing JIT test with
XFAIL
in e80ec3fe16
Kamil Tekiela
- Fix bug GH-8058 - mysqlnd segfault when prepare fails in 93a8d5cd17
Nikita Popov
- Initialize int_codepoint in
parse_code_point_param()
in bfe9531dc1
Patrick Allaert
- Bump for 8.1.4-dev in 8db7fd8a2a
- Update versions for PHP 8.1.4RC1 in c8d5f4dcd1
Remi Collet
- Fix GH-8059 use $
PHP_EXECUTABLE
when $PHP not set in 3b463749f5
Till Backhaus
- Fix bug #76109: Implement fpm_scoreboard_copy in 29fe06fa59