PHP 8.3.17 is an old release of PHP 8.3 series. Using the latest version PHP 8.3.19 is highly recommended.
PHP 8.3 continues to receive bug fixes and security fixes until 2025-12-31.
Downloads
Source Code
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.3.17
./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.3.17-cli-alpine
docker pull php:8.3.17-cli
docker pull php:8.3.17-fpm-alpine
docker pull php:8.3.17-apache
docker pull php:8.3.17-fpm
ChangeLog
Core
- Fixed bug GH-16892 (
ini_parse_quantity()
fails to parse inputs starting with 0x0b). - Fixed bug GH-16886 (
ini_parse_quantity()
fails to emit warning for 0x+0). - Fixed bug GH-17214 (Relax final+private warning for trait methods with inherited final).
- Fixed NULL arithmetic during system program execution on Windows.
- Fixed potential OOB when checking for trailing spaces on Windows.
- Fixed bug GH-17408 (Assertion failure Zend/zend_exceptions.c).
- Fix may_have_extra_named_args flag for ZEND_AST_UNPACK.
- Fix NULL arithmetic in System V shared memory emulation for Windows.
DOM
- Fixed bug GH-17500 (Segfault with requesting nodeName on nameless doctype).
Enchant
- Fix crashes in enchant when passing null bytes.
FTP
- Fixed bug GH-16800 (ftp functions can abort with EINTR).
GD
- Fixed bug GH-17349 (Tiled truecolor filling looses single color transparency).
- Fixed bug GH-17373 (
imagefttext()
ignores clipping rect for palette images). - Ported fix for libgd 223 (gdImageRotateGeneric() does not properly interpolate).
Intl
- Fixed bug GH-11874 (intl causing segfault in docker images).
- Fixed bug GH-17469 (
UConverter::transcode
always emit E_WARNING on invalid encoding).
Opcache
- Fixed bug GH-17307 (Internal closure causes JIT failure).
- Fixed bug GH-17564 (Potential UB when reading from / writing to struct padding).
PDO
- Fixed a memory leak when the GC is used to free a PDOStatment.
- Fixed a crash in the PDO Firebird Statement destructor.
- Fixed UAFs when changing default fetch class ctor args.
Phar
- Fixed bug GH-17518 (offset overflow phar extractTo()).
PHPDBG
- Fix crashes in function registration + test.
Session
- Fix type confusion with session SID constant.
- Fixed bug GH-17541 (
ext/session
NULL pointer dereferencement during ID reset).
SimpleXML
- Fixed bug GH-17409 (Assertion failure Zend/zend_hash.c:1730).
SNMP
- Fixed bug GH-17330 (
SNMP::setSecurity
segfault on closed session).
SPL
- Fixed bug GH-17463 (crash on
SplTempFileObject::ftruncate
with negative value).
Zip
- Fixed bug GH-17139 (Fix
zip_entry_name()
crash on invalid entry).
Commit List
Calvin Buckley
- Fix crash in PDO_ODBC statement dtor in GH-17586
Christoph M. Becker
gh15937.phpt
does not need to be an online test in 919f1984d5- Fix GH-17349: Tiled truecolor filling looses single color transparency in 2c658f422d
- Fix GH-17373:
imagefttext()
ignores clipping rect for palette images in ec90367cd8 - Fix libgd 223: gdImageRotateGeneric() does not properly interpolate in 47683487f8
- Fix NULL arithmetic during system program execution in 022a5fca91
- Fix potential OOB when checking for trailing spaces in ed8b11188b
- Use preinstalled MySQL for Windows CI in a403b76e88
- Fix NULL arithmetic in System V shared memory emulation in 2e02cdfb5f
David Carlier
- Fix GH-17330:
SNMP::setSecurity
segfaults when object had been closed in cd4481422b - Fix GH-17463:
SplTempFileObject::ftruncate()
segfault on negative length in e4473abefc - Fix GH-17469:
UConverter::transcode()
not hardcoding error handling in a1d1269688
Derick Rethans
- Updated to version 2025.1 (2025a) in 7da1ea4029
Gina Peter Banyard
ext/session
: Fix GH-17541 (ext/session
NULL pointer dereferencement during ID reset) in a85666c17bext/pdo
: Fix memory leak if GC needs to free PDO Statement in 99f8ec33d9- Add NEWS entries in e6d917e4c9
ext/pdo
: Fix a UAF when changing default fetch class ctor args in 3027600ffc
Ilija Tovilo
- Relax final+private warning for trait methods with inherited final in a6a290d541
- Backport nightly.yml in f26250c7c7
- Skip Symfony/Wordpress in 8.1 build in 5b8c960c9f
- Fix GHA config yml error in 3e6f4702ba
- Fix mysql mysql_native_password error on CircleCI in c99fb05929
- Fix inline
zend_string
using struct padding in 8ea9b04a23 - Fix cve-2014-3538 test in d17d58a982
- Fix missing GC_PERSISTENT_LOCAL flag on accel_globals.key in 2ad778bc76
Jakub Zelenka
- Test
stream_context_tcp_nodelay_server
on Windows in 9e1b58274e - Rewrite http gh16810 test to not be online in 5b72f12c56
- Fix GH-17499: mysqli flaky test: ghsa-h35g-vwh6-m678-stmt-row-string in 235d1b14a3
- Update versions for PHP 8.3.17 in b4dbf5f762
Niels Dossche
- Fix GH-16800: ftp functions can abort with EINTR in 412a6b2e08
- Fix GH-11874: intl causing segfault in docker images in a970eefb6c
- Handle GC cycles properly in intl iterators in ee2faaa423
- Fix crashes in function registration + test in 1235c74828
- Fix crashes in enchant when passing null bytes in 783ecad82e
- Merge duplicate code blocks in e6e2ec56ab
- Fix GH-16886:
ini_parse_quantity()
fails to emit warning for 0x+0 in 2c267722b3 - Fix GH-16892:
ini_parse_quantity()
fails to parse inputs starting with 0x0b in 7626e88de7 - Add comment in a2b8204880
- NEWS in bf4a776ee7
- Fix GH-17409: Assertion failure Zend/zend_hash.c:1730 in a2a7287b87
- Backport fix GH-17307 in e8fce295bc
- Fix GH-17139: Fix
zip_entry_name()
crash on invalid entry in d08a9e0010 - Fix GH-17500: Segfault with requesting nodeName on nameless doctype in 82d71a82aa
- Fix GH-17518: offset overflow phar extractTo() in eab209d81d
- Fix GH-17408: Assertion failure Zend/zend_exceptions.c in 5344bcca97
- Fix may_have_extra_named_args flag for
ZEND_AST_UNPACK
in 0b3e637aec - Fix type confusion with session SID constant in 2a2cc2ccce
- Fix crash in firebird statement dtor in 2ae897fff7
Remi Collet
- relax test for zlib-ng in a983a2554c