PHP 8.3.0alpha2 is an old release of PHP 8.3 series. Using the latest version PHP 8.3.15 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.0alpha2
./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.0alpha2-cli-alpine
docker pull php:8.3.0alpha2-cli
docker pull php:8.3.0alpha2-fpm-alpine
docker pull php:8.3.0alpha2-apache
docker pull php:8.3.0alpha2-fpm
Commit List
Alex Dowad
- Fix GH-11476: crash with count_demerits negative-size-param in 443927e3e8
Ben Ramsey
- Add example commit message to release process doc in 938ebb3b61
- Add PHP 8.3 to release process doc; remove 7.4 in ca1905116b
Bob Weinand
- Fix add/remove observer API with multiple observers installed in 709540ccdc
David CARLIER
ext/pgsql
: adding pg_set_error_context_visibility in dd8514a0bdext/pdo_pgsql
: connection status update to distinguish from truly bad quality connections in ec3daea1d6ext/pgsql
: fix PGtrace invalid free issue in f194cdf852ext/gd
: imagerotate removes ignore_transparent argument in b0d8c10fd9
divinity76
- SKIP_(SLOW|ONLINE)_TESTS in GH-11479
Dmitry Stogov
- Keep consistent EG(current_execute_data) after return from generator in GH-11380
- Fixed incorrect VM stack overflow checks elimination in 1a96d64828
Eric Mann
- Update versions for PHP 8.3.0alpha2 in 8cc8f1a5de
Florian Engelhardt
- Fix initial array size in
gc_status()
in GH-11393
George Peter Banyard
- More usage of known
zend_str
instead of C string in GH-11381 ext/imap
: Refactor + Update to modern property write API in GH-11415ext/imap
: Removephp_imap_list_add_object()
function in 5d0304876fext/imap
: Use propery API instead ofphp_imap_hash_add_object()
in 9798dc20e2ext/imap
: Cleanup custom implementation ofrfc822_write_address()
in 0b99bc21e5ext/imap
: Do not condition on number of arguments but on pointer being set or not in b1dd9b8a39ext/imap
: Add const qualifier forheader_injection()
in b1f24e3beaext/imap
: Refactorimap_fetch_overview()
in d714ae8964ext/imap
: Narrow return type to true in cc9ab53308ext/imap
: Refactor common conditional property assignment in 6c25257db0- Move
range()
tests to a dedicated folder in 53829b7daf - Add number or str ZPP macros in 80e90ad7ba
- Zend: Expose
zendi_try_get_long()
function via a public API in GH-10175 - [RFC] Define proper semantics for
range()
function in GH-10826
Ilija Tovilo
- Forward shutdown exceptions to user error handlers in b3e33be443
Jakub Zelenka
- Fix CS and checking for IPv6 SAN verify in 3fc013b2e2
- Fix GH-10406: fgets on a redis socket connection fails on PHP 8.3 in 49fbbea2ea
- FPM: Add "pcntl" when running another test depending on pcntl in 9b18466396
James Lucas
- Fix bug GH-9356: Incomplete SAN validation of IPv6 address in fd09728bb6
Mikhail Galanin
- Suppress warning when the test run under non-root in GH-11400
- sapi/fpm: add "pcntl" when running test depending
pcntl_sigprocmask()
in 7ade242e28
Máté Kocsis
- Add test for GH-11423 in 96ea06a1d9
nielsdos
- Fix test failure for
init_fcall_003.phpt
without opcache in cced0ddf9d - Remove redundant assignment on nodep->ns in 6e04050474
- Fix #79700: Bad performance with namespaced nodes due to wrong libxml assumption in a38e3c999f
- Fix #70359 and #78577: segfaults with DOMNameSpaceNode in f2d673fb18
- Fix GH-11433: Unable to set CURLOPT_ACCEPT_ENCODING to NULL in a8a3b99e00
- Fix bug #55294 and #47530 and #47847: namespace reconciliation issues in b30be40b86
- Fix GH-11451: Invalid associative array containing duplicate keys in 29a96e09b2
- Fix GH-11404:
DOMDocument::savexml
and friends ommit xmlns="" declaration for null namespace, creating incorrect xml representation of the DOM in 7eb3e9cd17 - Revert "Fix GH-11404:
DOMDocument::savexml
and friends ommit xmlns="" declaration for null namespace, creating incorrect xml representation of the DOM" in c174ebfce0 - Revert changes to DOMAttr::$value and DOMAttr::$nodeValue expansion in ad5ee8a2b7
Niels Dossche
- Disable old libxml2 hack if the version does not suffer from the bug in GH-11379
- Fix missing randomness check and insufficient random bytes for SOAP HTTP Digest in ac4254ad76
- Allow final modifier when using a method from a trait in GH-11394
- Get rid of return value for
php_libxml_unregister_node()
in GH-11398 - Implement GH-8641: STREAM_NOTIFY_COMPLETED over HTTP never emitted in d22d0e26dc
- Fix lifetime issue with getAttributeNodeNS() in e309fd8461
- Fix "invalid state error" with cloned namespace declarations in 10d94aca4c
- Fix GH-11406: segfault with unpacking and magic method closure in 5c789806ef
- Add missing cache invalidation in
dom_child_replace_with()
in 8904ac7fef - Fix #80332: Completely broken array access functionality with DOMNamedNodeMap in 9f7d88802e
- Fix GH-11455: Segmentation fault with custom object date properties in 93becab506
Peter
- Fix cross-compilation check in phar generation for FreeBSD in 4fcb3e0d34
Pierrick Charron
- Update NEWS in b720ab99f8
- Update NEWS in 5604f7ae22
- Update NEWS in 269d6c5942
Remi Collet
- Fix GH-11382 add missing hash header for bin2hex in 0572448263
- ensure session.sid_length have proper value for test in 0561783903
Tim Starling
- When running FPM tests, pass -n option to php-fpm in ea2ee60552