PHP 8.3.2: Downloads, Changelog, News

Release Information

Release
8.3.2
PHP Version
PHP 8.3
Release Date
Release Type
Bug Fix Release
Release Status
Use PHP 8.3.3 instead
Branch Status
Supported (Latest)

PHP 8.3.2 is an old release of PHP 8.3 series. Using the latest version PHP 8.3.3 is highly recommended.
PHP 8.3 continues to receive bug fixes and security fixes until 2025-11-23.

Downloads

Source Code

Git Clone
Use Git to clone the 8.3.2 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.3.2
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (./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.
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.

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.3.2-cli-alpine

Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.3.2-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.3.2-fpm-alpine

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.3.2-apache

Debian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
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 as mb_strstr and its variants) defines character indices in the same way as other mbstring functions such as mb_strpos.

ODBC

  • Fix crash on Apache shutdown with persistent connections.

Opcache

OpenSSL

  • Fixed bug GH-12987 (openssl_csr_sign might leak new cert on error).

PDO

  • Fix GH-12969 (Fixed PDO::getAttribute() to get PDO::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 and mb_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

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

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

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 get PDO::ATTR_STRINGIFY_FETCHES in b333164423
Subscribe to PHP.Watch newsletter for monthly updates

You will receive an email on last Wednesday of every month and on major PHP releases with new articles related to PHP, upcoming changes, new features and what's changing in the language. No marketing emails, no selling of your contacts, no click-tracking, and one-click instant unsubscribe from any email you receive.