PHP 8.3.2 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.2
./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.2-cli-alpine
docker pull php:8.3.2-cli
docker pull php:8.3.2-fpm-alpine
docker pull php:8.3.2-apache
docker pull php:8.3.2-fpm
ChangeLog
Core
- Fixed bug GH-12953 (false positive SSA integrity verification failed when loading composer classmaps with more than 11k elements).
- Fixed bug GH-12999 (
zend_strnlen
build when strnlen is unsupported). - Fixed bug GH-12966 (missing cross-compiling 3rd argument so Autoconf doesn't emit warnings).
- Fixed bug GH-12854 (8.3 - as final trait-used method does not correctly report visibility in Reflection).
Cli
- Fix incorrect timeout in built-in web server when using router script and max_input_time.
DOM
- Fixed bug GH-12870 (Creating an xmlns attribute results in a DOMException).
- Fix crash when toggleAttribute() is used without a document.
- Fix crash in adoptNode with attribute references.
- Fixed bug GH-13012 (
DOMNode::isEqualNode()
is incorrect when attribute order is different).
FFI
- Fixed bug GH-9698 (
stream_wrapper_register
crashes with FFI\CData). - Fixed bug GH-12905 (
FFI::new
interacts badly with observers).
GD
- Fixed GH-13082 undefined behavior with GdFont instances handling with imageload and imagechar.
Intl
- Fixed GH-12943 (IntlDateFormatter::__construct accepts 'C' as valid locale).
Hash
- Fixed bug GH-12936 (
hash()
function hangs endlessly if using sha512 on strings >= 4GiB).
MBString
- When operating on a string with invalid encoding,
mb_substr
(as well asmb_strstr
and its variants) defines character indices in the same way as other mbstring functions such asmb_strpos
.
ODBC
- Fix crash on Apache shutdown with persistent connections.
Opcache
- Fixed oss-fuzz #64727 (JIT undefined array key warning may overwrite DIM with NULL when DIM is the same var as result).
- Added workaround for SELinux mprotect execheap issue. See https://bugzilla.kernel.org/show_bug.cgi?id=218258.
OpenSSL
- Fixed bug GH-12987 (openssl_csr_sign might leak new cert on error).
PDO
- Fix GH-12969 (Fixed
PDO::getAttribute()
to getPDO::ATTR_STRINGIFY_FETCHES
).
PDO_ODBC
- Fixed bug GH-12767 (Unable to turn on autocommit mode with setAttribute()).
PGSQL
- Fixed auto_reset_persistent handling and allow_persistent type.
- Fixed bug GH-12974 (Apache crashes on shutdown when using
pg_pconnect()
).
Phar
- Fixed bug #77432 (Segmentation fault on including phar file).
PHPDBG
- Fixed bug GH-12962 (Double free of init_file in
phpdbg_prompt.c
).
SimpleXML
- Fix getting the address of an uninitialized property of a SimpleXMLElement resulting in a crash.
- Fixed bug GH-12929 (SimpleXMLElement with
stream_wrapper_register
can segfault).
Tidy
- Fixed bug GH-12980 (tidynode.props.attribute is missing "Boolean Attributes" and empty attributes).
Commit List
Alex Dowad
- Character indices used by
mb_strpos
andmb_substr
have same meaning, even on invalid strings in ec348a12d1 - Fix bug in
mb_get_substr_slow
(sometimes outputs wrong number of characters) in e814197371
Arnaud Le Blanc
- Fix GH-12643: Stack limit tests failing on ppc64le in dad6912b99
- Clarify the stack limit exception message in b1516d95e0
- WS in 6aa70b577d
David Carlier
- Fix GH-12999:
zend_strnlen
build fix when platform misses strnlen support in a2068ef47b - GH-12943
ext/intl
accept C as acceptable locale argument in 6a447e7437 ext/pgsql
: pgsql.allow_persistent, no need to use such large type for boolean state in d98a45d08c
Derick Rethans
- Updated to version 2023.4 (2023d) in 99be8b05ae
- Empty merge in 60bc062b30
- Updated to version 2023.4 (2023d) in 9f3e120dc0
- tzdata 2023d adds an extra transition for Europe/London in c7816bf730
Dmitry Stogov
- JIT: Fix .debug_abbrev section in GDB JIT API in ff22409082
- Fixed incorrect elimination of refcounted check in JIT for BIND_GLOBAL in c67f6f449c
- Fixed type inference in 731734dacb
- Fix assertion in 5350952a37
Ilija Tovilo
- Fix max_execution_time with cli-server router script in 299c3ba89e
- Fix asan shadow memory and shared_alloc_mmap clash in 53909896e0
- Fix
zend_jit_undefined_long_key
overwriting dim when dim == result in 623da03845 - Fix SELinux mprotect execheap error due to mem adjacent to heap in 7cf1a2ad9d
- Disambiguate fileVar8 test folder in cda7718f51
- Fix clean for higher branches in 23ea89404b
Jakub Zelenka
- Add FPM tester logs printing for all errors in 62682cbd97
- Fix GH-9698:
stream_wrapper_register
crashes with FFI\CData provided as class in 40ccc8ea7e - Fix GH-12987: openssl_csr_sign might leak new cert on error in 7c4763ab8b
- Update versions for PHP 8.3.2 in 7ea7406d2d
Niels Dossche
- Fix GH-12854: 8.3 - as final trait-used method does not correctly report visibility in Reflection in e679ab36b3
- Backport deprecation warning ignores to unbreak CI in e2d97314ab
- Silence deprecations in zend-test in de3c5c0bc8
- Fix GH-12870: Creating an xmlns attribute results in a DOMException in e658f80501
- Fix GH-12936:
hash()
function hangs endlessly if using sha512 on strings >= 4GiB in 2b8c00850b - Fix 32-bit
ext/hash
build in 2ee4d358dc - Fix GH-12962: Double free of init_file in
phpdbg_prompt.c
in a6d17bffe1 - Fix getting the address of an uninitialized property of a SimpleXMLElement resulting in a crash in abf4c116b1
- Fix GH-12929: SimpleXMLElement with
stream_wrapper_register
can segfault in f75931ad9e - Fix GH-12953: SSA integrity verification failed when loading composer classmaps with more than 11k elements in 7585cf6952
- Fix GH-12905:
FFI::new
interacts badly with observers in c727f29942 - Fix GH-12980: tidynode.props.attribute is missing "Boolean Attributes" and empty attributes in b3f483db2e
- Fix crash when toggleAttribute() is used without a document in b2d778c36e
- Fix crash in adoptNode with attribute references in 8e8d5ce240
- Fix crashes with entity references and predefined entities in 3fa5af8496
- Fix libxml2 build for 2.12.0-2.12.2 in bb007438e2
- Revert "Fix crashes with entity references and predefined entities" in 5f69232b53
- Fix GH-13012:
DOMNode::isEqualNode()
is incorrect when attribute order is different in 93951cf5ab - Fix GH-12974: Apache crashes on shutdown when using
pg_pconnect()
in 77ac1e8592 - Fix #77432: Segmentation fault on including phar file in 1edcfccdca
- Fix test on Windows in c86f05307e
- Fix test not emitting warning because of Windows paths in 7677df4cf1
- Skip on Windows in 0d2c83ef9c
Peter Kokot
- Add cross-compiling 3rd argument to AC_RUN_IFELSE in de5557b02f
Remi Collet
- fix function declaration isn't a prototype [-Wstrict-prototypes] in 0d1bf582ce
SakiTakamachi
- Fix GH-12767: Fixed to be able to change autocommit mode using setAttribute in 933dccb79b
- add
PDO::ATTR_AUTOCOMMIT
to getAttribute in 2553ffeaa0 - Fix GH-12969: Fixed
PDO::getAttribute()
to getPDO::ATTR_STRINGIFY_FETCHES
in b333164423