PHP 8.1 is currently only receiving security fixes. PHP 8.1.14 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.14
./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.14-cli-alpine
docker pull php:8.1.14-cli
docker pull php:8.1.14-fpm-alpine
docker pull php:8.1.14-apache
docker pull php:8.1.14-fpm
ChangeLog
Core
- Fixed bug GH-9905 (
constant()
behaves inconsistent when class is undefined). - Fixed bug GH-9918 (License information for xxHash is not included in README.REDIST.BINS file).
- Fixed bug GH-9650 (Can't initialize heap: [0x000001e7]).
- Fixed potentially undefined behavior in Windows ftok(3) emulation.
Date
- Fixed bug GH-9699 (
DateTimeImmutable::diff
differences in 8.1.10 onwards - timezone related). - Fixed bug GH-9700 (
DateTime::createFromFormat
: Parsing TZID string is too greedy). - Fixed bug GH-9866 (Time zone bug with `DateTimeInterface::diff()`).
- Fixed bug GH-9880 (DateTime diff returns wrong sign on day count when using a timezone).
FPM
- Fixed bug GH-9959 (Solaris port event mechanism is still broken after bug #66694).
- Fixed bug #68207 (Setting fastcgi.error_header can result in a WARNING).
- Fixed bug GH-8517 (Random crash of FPM master process in fpm_stdio_child_said).
MBString
- Fixed bug GH-9535 (The behavior of
mb_strcut
in mbstring has been changed in PHP8.1).
Opcache
- Fixed bug GH-9968 (Segmentation Fault during OPCache Preload).
OpenSSL
- Fixed bug GH-9064 (PHP fails to build if openssl was built with
--no-ec
). - Fixed bug GH-10000 (OpenSSL test failures when OpenSSL compiled with no-dsa).
Pcntl
- Fixed bug GH-9298 (Signal handler called after rshutdown leads to crash).
PDO_Firebird
- Fixed bug GH-9971 (Incorrect NUMERIC value returned from PDO_Firebird).
PDO/SQLite
- Fixed bug #81740 (
PDO::quote()
may return unquoted string). (CVE-2022-31631)
Session
- Fixed GH-9932 (session name silently fails with . and [).
SPL
- Fixed GH-9883 (SplFileObject::__toString() reads next line).
- Fixed GH-10011 (Trampoline autoloader will get reregistered and cannot be unregistered).
SQLite3
- Fixed bug #81742 (
open_basedir
bypass in SQLite3 by using file URI).
Commit List
Arnaud Le Blanc
- Do not resolve constants on non-linked class during preloading in GH-9975
- Fallback to first line of function when ex->opline is NULL in GH-10003
Ben Ramsey
- Update NEWS in 047c97841d
- Update versions for PHP 8.1.14 in c6c83c0462
Christoph M. Becker
- Fix GH-9905:
constant()
behaves inconsistent when class is undefined in b2186ca7c4 - Avoid undefined behavior in Windows ftok(3) emulation in 2d94ee5f20
- Fix GH-9971: Incorrect NUMERIC value returned from PDO_Firebird in 44377c3c70
- Fix #81742:
open_basedir
bypass in SQLite3 by using file URI in 2f6b9e6c63 - Fix #81740:
PDO::quote()
may return unquoted string in 8050ad44a4
Daniel Black
ext/mysqli
tests "using password" optional in error messages in b6b4a628a5
David Carlier
- Fix GH-9932: Discards further characters for session name in a4298c14c1
Derick Rethans
- Updated to version 2022.7 (2022g) in bcc00304c7
- Import timelib 2021.18 in 818b46acb0
- Fixed GH-9699, GH-9866, and GH-9880 (problems with diff); and GH-9700 (greedy tzid parsing) in d021851171
- Some (old, backwards compatible) TZIDs can have numbers in them in c87c803b96
Dmitry Stogov
- Fix memory leak in a8bd342397
Erki Aring
- Fix GH-9298: remove all registered signal handlers in pcntl RSHUTDOWN in 5ecbb1b39d
George Peter Banyard
- Fix GH-9883 SplFileObject::__toString() reads next line in 6fbf81c674
- Fix GH-10011 (Trampoline autoloader will get reregistered and cannot be unregistered) in 608ddb0321
George Wang
- Use __atomic_xxxx() instead of __sync_xxxx() for lsapi in 4bdfce6c1a
Ilija Tovilo
- Add wordpress to community build in cdc0a8b06b
Jakub Zelenka
- Introduce TEST_FPM_EXTENSION_DIR for FPM tests with shared extensions in db2d32f476
- Fix bug #68207: Setting fastcgi.error_header can result in a WARNING in 5a4520bc2b
- Fix GH-8517: FPM child pointer can be potentially uninitialized in c9c1934ff0
- Add a note to php.ini-* regarding the required order for GH-8620 in 9416186ff1
- Fix GH-9064: PHP fails to build if openssl was built with no-ec in ce57221376
- Fix GH-10000: Test failures when OpenSSL compiled with no-dsa in 500b28ad04
Michael Voříšek
- Fix GH-9650: Can't initialize heap: [0x000001e7] in 8d65c2fee5
NathanFreeman
- Fix GH-9535 (unintended behavior change for
mb_strcut
in PHP 8.1) in fa0401b0b5
Petr Sumbera
- php-fpm: fix Solaris port events.mechanism in 72da2b02e2
Sara Golemon
- Bump for 8.0.27 in ac508301c9
Stanislav Malyshev
- Improve fix for bug #81740 in ab6763844f
蝦米
- Fix GH-9769: Misleading error message for unpacking of objects in 93592ea743