PHP 8.3.0RC1: Downloads, Changelog, News

Release Information

Release
8.3.0RC1
PHP Version
PHP 8.3
Release Date
Release Type
Bug Fix Release
Release Status
Use PHP 8.3.14 instead
Branch Status
Supported (Latest)

PHP 8.3.0RC1 is an old release of PHP 8.3 series. Using the latest version PHP 8.3.14 is highly recommended.
PHP 8.3 continues to receive bug fixes and security fixes until 2025-12-31.

Downloads

Source Code

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

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

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

Commit List

Alex Dowad

  • Print host CPU and installed package info in CI build log on Linux in fd462b1e0f
  • Improve mb_detect_encoding accuracy for text containing vowels with macrons in 81faab9235

Ayesh Karunaratne

  • [skip-ci] minor typo fixes in UPGRADING and CONTRIBUTING.md in GH-11976
  • gen_stub: fix regexps with unintentional range due to - character placement in GH-12004
  • Add class constant types to Phar extension in GH-11826

Bob Weinand

  • Track HashTableIterators for copy-on-write copies of HashTables in cd53ce838a
  • Address CR comments in b07a2d4714

Cristian Rodríguez

  • Use a single version of strnlen in GH-12015

David Carlier

David CARLIER

  • libxml set error structure simplification proposal in GH-12054
  • zend_call_stack_default_size update BSD values. in GH-12051

HypeMC

  • Add before_needle argument to strrchr() in f25474f7f2

Ilija Tovilo

  • Fix segfault in format_default_value due to unexpected enum/object in f78d1d0d10
  • Remove redundant condition in dd01c74a6f
  • Make php_cli_server_pdeathsig.phpt SKIPIF more specific in bad5298707
  • Move installation of oracle instant client in GHA in ba07a0b846
  • Switch asan build to Ubuntu 23.04 in Docker in c9e5e1fc52
  • Fix type macros for C++ in 5ad658bc5e
  • Fix missing instantclient in CI in f3bd027b69
  • Fix variable resource ids in odbc test in d1a38e8b8e
  • Make unrepeatable tests retriable in f2c16b7ba3

Jakub Zelenka

  • Introduce Zend guard recursion protection in 53aa53f42f
  • FPM tester FastCGI client transport in GH-11764
  • Fix GH-11982: str_getcsv returns null byte for unterminated quoted string in aff46d75e1
  • Format UPGRADING in 10e16347ef
  • Fix flaky file stat tests due to changing nature of atime in e1396a314d
  • Fix bug #52335 (fseek() on memory stream behavior different then file) in ba9650d697
  • Fix bug #76857: Can read "non-existant" files in 766cac072f
  • Expand file path in file stat only for wrapper path in GH-12068
  • Small tyding up of filestat code in 4e7ab1478d
  • Update API versions and numbers in 2eb21b0b1e
  • Update version for PHP 8.3.0RC1 in 6f1beccf15

Jeremie Courreges-Anglas

  • On riscv64 require libatomic if actually needed in bf3fb4e5c9

Jorg Adam Sowa

  • Tests improvement for round() modes in GH-11996
  • Fix round() tests for different modes in GH-12049

jrfnl

  • Remove mysqli.reconnect from php.ini files in GH-11836

ju1ius

  • Adds support for DNF types in internal functions and properties in GH-11969
  • releases property attributes of internal classes in GH-11980

Kamil Tekiela

  • Fix implicit/explicit port in mysqlnd in c1103a9772
  • Fix failing test on nightly in ffd398b4fe
  • Fix param name in implode() error message in b1ce1d1f21

Mikhail Galanin

  • Set CLOEXEC on listened/accepted sockets in the FPM children in 418cdc0bea

Máté Kocsis

  • Add more test coverage for ext/odbc in 66acaba9db
  • Enable ext/odbc and ext/pdo_odbc tests on Linux in GitHub CI in 985511e968
  • Improve and fix ext/odbc tests in 8726ae0601
  • Expose PDO_ODBC_TYPE to userland in 462792ee51
  • Fix GH-9967 Add support for generating custom function, class const, and property attributes in stubs in c934e24197
  • Use correct format specifier in 9dcdfa5e3f
  • Improve test for odbc_columns() in 2f9f2928ce

Niels Dossche

  • Fix various namespace prefix conflict resolution bugs and namespace shift bugs in d46dc5694c
  • Add test for SimpleXMLElement::asXML() with a fragment and a filename in 2b61f71046
  • Remove unnecessary invalidation from processing instructions in 4ff93f779c
  • Fix memory leak when setting an invalid DOMDocument encoding in 20ac42e1b0
  • Update DOM test to work around libxml2 bug in 0fd226c277
  • Improve warning when returning null from the resolver set by libxml_set_external_entity_loader in e1cb721679
  • Add missing EXTENSIONS section to DOM tests in bffc74474b
  • Remove useless duplicated call to php_stream_parse_fopen_modes in GH-12059
  • Fix oss-fuzz #61712: assertion failure with error handler during binary op in a3a3964497
  • Implement GH-11934: Allow to pass CData into struct and/or union fields in 0b9702c9ed

Peter Kokot

  • Remove unused call to Makefile.frag in ext/zip in c180e9b48a
  • Add all README.* files to paths-ignore in GH-12003
  • Sync --enable-mysqlnd-compression-support option in GH-12006
  • Fix passing null to parameter of type string in GH-12014
  • Fix configure phpdbg help output in GH-12013
  • Remove unneeded zend_language_parser.h patch in GH-11974

Remi Collet

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.

Support PHP.Watch — If you find the articles, version information, Codex, and other PHP.Watch contributions useful, consider supporting through GitHub Sponsors. Your sponsorship helps dedicate more time to creating valuable content and improving the PHP community. Together, we can keep the momentum going — thank you for your support!

Thanks to the highest tier sponsor: @TomasVotruba for your generous support to keep PHP.Watch moving 💜