PHP 8.3.0RC2: Downloads, Changelog, News

Release Information

Release
8.3.0RC2
PHP Version
PHP 8.3
Release Date
Release Type
Bug Fix Release
Release Status
QA Release
Branch Status
Upcoming Release

PHP 8.3 is a development version, and is not recommended for production use. PHP 8.3 is scheduled to reach General Availability on 2023-11-23.
PHP 8.3.0RC3 is the latest QA release in PHP 8.3.

Downloads

Source Code

Git Clone
Use Git to clone the 8.3.0RC2 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.3.0RC2
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.0RC2-cli-alpine

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

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.3.0RC2-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.0RC2-fpm

ChangeLog

Core

  • Fixed GH-11847 (DTrace enabled build is broken).
  • Fixed bug GH-11876: ini_parse_quantity() accepts invalid quantities.
  • Fixed bug GH-12073 (Segfault when freeing incompletely initialized closures).
  • Fixed bug GH-12060 (Internal iterator rewind handler is called twice).
  • Fixed OSS Fuzz #61865 (Undef variable in ++/-- for declared property that is unset in error handler).
  • Fixed bug GH-12102 (Incorrect compile error when using array access on TMP value in function call).
  • Fixed warning emitted when checking if a user stream is castable.
  • Fixed bug GH-12123 (Compile error on MacOS with C++ extension when using ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX).

FPM

  • Fixed GH-12077 (PHP 8.3.0RC1 borked socket-close-on-exec.phpt).

Intl

  • Fixed bug GH-12020 (intl_get_error_message() broken after MessageFormatter::formatMessage() fails).

ODBC

  • Fixed memory leak with failed SQLPrepare.
  • Fixed persistent procedural ODBC connections not getting closed.

PCRE

  • Update bundled libpcre2 to 10.42.

SimpleXML

  • Fixed bug #52751 (XPath processing-instruction() function is not supported).

SPL

  • Fixed bug GH-11972 (RecursiveCallbackFilterIterator regression in 8.1.18).

Standard

  • Fixed bug GH-12151 (str_getcsv ending with escape zero segfualt).

SQLite3

  • Fixed bug GH-11878 (SQLite3 callback functions cause a memory leak with a callable array).

Commit List

Calvin Buckley

  • Fix memory leak with failed SQLPrepare in a022ec53bd
  • Fix persistent procedural ODBC connections not getting closed in 5a2b251610
  • ODBC unit tests shouldn't override odbc.ini location in a648d39297

Dmitry Stogov

  • Fixed uninitialized EX(opline) access (possible Zend/tests/gh12073.phpt crash) in f1f608bf53
  • Fixed tracing jit for BIND_INIT_STATIC_OR_JMP in 95edb50b58
  • Fix ws in 3ffa1c4c3e
  • Fixed tracing JIT support for CALLABLE_CONVERT in GH-12156

Eric Mann

Filip Zrůst

  • Remove CPP when invoking dtrace utility in 02b3fb1f6b

George Peter Banyard

  • Fix GH-11876: ini_parse_quantity() accepts invalid quantities in d229a480ad
  • Add tests for oss-fuzz-61469: Undef dynamic property in ++/-- unset in error handler in 013bb5769b
  • Fixed bug GH-12020: intl_get_error_message() broken after MessageFormatter::formatMessage() fails in a579fa807c
  • Fix OSS Fuzz #61865: Undef variable in ++/-- for declared property that is unset in error handler in 8a392eddf9
  • streams: Checking if a stream is castable should not emit warnings for user defined streams in d68073c23b

Ilija Tovilo

Jakub Zelenka

  • Extend workflow matrix and nighly with PHP-8.3 in 300ad65c7c
  • Fix FPM UDS test for very long name check by extending its length in ea87501aee
  • Fix GH-12077: Check lsof functionality in socket on close test in fe30c5098f
  • Fix GH-12151: str_getcsv ending with escape zero segfualt in 64ebadcac5

ju1ius

Máté Kocsis

  • Fix the class synopsis of Throwable in 597aeb1246
  • Align class name detection to the new class synopsis format in c5fb8b6a6b
  • Fix type of the PHP_FLOAT_DIG constant in 58657ff26a
  • Fix GH-12123 Make _ZEND_TYPE_PREFIX apply only for MSVC in 45c7e3b06b

Niels Dossche

  • Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18 in ffd7018fcd
  • Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18 in 1cdcbc05b0
  • Tweak behaviour of dynamic properties wrt error handlers in eee1617f38
  • Update bundled pcre2 to 10.42 in c4e8f652c5
  • Fix GH-11878: SQLite3 callback functions cause a memory leak with a callable array in 07a9d2fb32
  • Fix build with sqlite3 gc and fci/fcc api in 1d59b37742
  • Use zend_get_gc_buffer_add_fcc() in 49980ee89d
  • Fix #52751: XPath processing-instruction() function is not supported in 107443b311

Remi Collet

  • ensure displays_errors is off (default) in 1f2cfd8009
  • zip: add new test for dynamic files in 57123ee489
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.