PHP 8.1.14 is an old release of PHP 8.1 series. Using the latest version PHP 8.1.24 is highly recommended.
PHP 8.1 continues to receive bug fixes and security fixes until 2023-11-25.
Downloads
Source Code
Git Clone
Use Git to clone the 8.1.14 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.1.14
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (
Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.
./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
Non-Thread Safe Builds
Non-Thread Safe (NTS) builds are single-threaded PHP builds. They can be used on web servers that integrate PHP over FastCGI protocol, such as Nginx, Caddy, and IIS.
php-8.1.14-x64NTS.zip (29.26 MiB)
php-8.1.14-x86NTS.zip (26.31 MiB)
Thread-Safe Builds
Thread-Safe (TS) builds are multi-thread PHP builds, often used to integrate PHP as a Server API for multithreaded servers. The most common use case is using PHP as an Apache module.
php-8.1.14-x64TS.zip (29.36 MiB)
php-8.1.14-x86TS.zip (26.29 MiB)
Docker/Podman Containers
PHP CLI
PHP CLI Containers images only include the PHP CLI, and no FPM or Apache modules. The Alpine builds are lightweight, but may introduce incompatibilities due to their musl builds. Albeit their larger size, the Debian-based (without the "-alpine" suffix) images are more complete, and widely used.
Alpine-based: Lightweight, but may introduce incompatibilities due to their musl builds.
docker pull php:8.1.14-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.1.14-cli
PHP CLI + Web Server Integration
These container images include PHP CLI, and a web server integration. FPM container images can be integrated with web servers such as Nginx, Caddy, and Apache with Event MPM. The Apache container images include Apache web server, integrating PHP as an Apache module.
Alpine-based: Lightweight, but may introduce incompatibilities due to their musl builds.
docker pull php:8.1.14-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.1.14-apache
Debian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
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