PHP 8.3.1 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.1
./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.1-cli-alpine
docker pull php:8.3.1-cli
docker pull php:8.3.1-fpm-alpine
docker pull php:8.3.1-apache
docker pull php:8.3.1-fpm
ChangeLog
Core
- Fixed bug GH-12758 / GH-12768 (Invalid opline in OOM handlers within
ZEND_FUNC_GET_ARGS
andZEND_BIND_STATIC
). - Fix various missing NULL checks.
- Fixed bug GH-12835 (Leak of call->extra_named_params on internal __call).
- Fixed bug GH-12826 (Weird pointers issue in nested loops).
FPM
- Fixed bug GH-12705 (Segmentation fault in fpm_status_export_to_zval).
FTP
- Fixed bug GH-9348 (FTP & SSL session reuse).
LibXML
- Fixed test failures for libxml2 2.12.0.
MySQLnd
- Avoid using uninitialised struct.
- Fixed bug GH-12791 (Possible dereference of NULL in MySQLnd debug code).
Opcache
- Fixed JIT bug (Function JIT emits "Uninitialized string offset" warning at the same time as invalid offset Error).
- Fixed JIT bug (JIT emits "Attempt to assign property of non-object" warning at the same time as Error is being thrown).
PDO PGSQL
- Fixed the default value of $fetchMode in
PDO::pgsqlGetNotify()
SOAP
- Fixed bug GH-12838 ([SOAP] Temporary WSDL cache files not being deleted).
Standard
- Fixed GH-12745 (
http_build_query()
default null argument for $arg_separator is implicitly coerced to string).
Commit List
Alex Dowad
- Return value of
mb_get_info
can be NULL in d8ef868b92
Ben Ramsey
- Merge changes to CertificateGenerator.inc from PHP-8.2 in 2b4a47ccec
Bob Weinand
- Add NEWS entry for GH-12768 in 1305ea23ce
- USE_ZEND_ALLOC=1 in tests with zend_test.observe_opline_in_zendmm=1 in d404e1d1ee
ddv
- Fix phpGH-12763: PGSQL
pg_untrace()
: Argument #1 ($connection) must be of type resource or null, PgSql\Connection given in 3f57bd80f6
Derick Rethans
- Import timelib 2022.10 in 28dabaab2f
- Update NEWS in 73246bac00
Dmitry Stogov
- Fixed GH-12747: Function JIT returns invalid error message for coalesce operator on invalid offset in f48ab6a66f
- Fixed GH-12748: Function JIT emits "could not convert to int" warning at the same time as invalid offset Error in 2d65d714a3
- Fixed regression introduced by https://github.com/php/php-src/pull/9601 in adaf726373
- Fixed GH-12748: Function JIT emits "could not convert to int" warning at the same time as invalid offset Error in 87107f8688
- Fixed GH-12812: Integer string in variable used as offset produces wrong undefined array key warning in GH-12817
- Fixed GH-8251: Narrowing occurred during type inference of
ZEND_FETCH_DIM_W
in 423a1e586e - Fixed type inference in 1e55c97601
Florian Engelhardt
- Fix invalid opline in OOM handlers within
ZEND_FUNC_GET_ARGS
andZEND_BIND_STATIC
in GH-12768
Gina Peter Banyard
ext/standard
: Fix GH-9316 in 37f67a9a98- Mention correct bug number in af155cf2dc
- jit: fixed "Uninitialized string offset" warning being emitted at the same time as invalid offset Error in ed8b901869
- jit: fixed JIT "Attempt to assign property of non-object" warning emitted at the same time as Error is being thrown in 126a255d66
- Align error messages between normal VM and JIT for RW when using object as array in GH-12799
Ilija Tovilo
- Fix undeclared variable in stat tests in db8c91ae9f
- Disable -fsanitize=function on Clang 17 in f7f9401cc8
- Fix astat imperciseness excemption in test in fe34dd1b49
- Automatically mark tests as flaky in 9bdd0f0de9
- Fix file test race condition in e1e140f2f2
- Retry tests on deadlock in 2312637496
- Temporarily disable failing zlib tests on travis in GH-10738
- Fix use-after-free of name in var-var with malicious error handler in 1fdcfa4ebe
- Fix in-place modification of filename in
php_message_handler_for_zend
in daa38dd63e - Reduce parallelism on frequently crashing jobs in ace91ddd73
- Fix travis_wait in 706e51ad8a
- Fix leak of call->extra_named_params on internal __call in f203edd3c5
- Fix compilation of ftp without openssl in 4f934cb7f7
Jakub Zelenka
- PHP 8.3 is now 8.3.1-dev in 178d3acf4c
- Skip slow tests on Travis in e41cbd2174
- Fix bug #79945: Stream wrappers in imagecreatefrompng causes segfault in a7a6151c4f
- Fix stream fclose_stdiocast_flush_in_progress type in e43ffb5023
- Fix #50713:
openssl_pkcs7_verify()
may ignore untrusted CAs in 55e0748487
Levi Morrison
- test: allow other zend extensions to not fail the test in c524dc6565
Mikhail Galanin
- Avoid using uninitialised struct in 7e7817bc2f
Muhammad Moinur Rahman
- Add host_cpu type for FreeBSD in 6be4ba9f90
- Add host_cpu type for FreeBSD in fafa34d9cd
Máté Kocsis
- Fix the default value of $fetchMode in
PDO::pgsqlGetNotify()
in 8387f2dfd4
Niels Dossche
- Fix GH-12635: Test
bug69398.phpt
fails with ICU 74.1 in 6641cd159e - Fix GH-12621: browscap segmentation fault when configured in the vhost in e1c6a7c4de
- Fix GH-12655:
proc_open()
does not take into account references in the descriptor array in c376f9943f - Fix GH-12675: MEMORY_LEAK in
phpdbg_prompt.c
in df2af7ff65 - Use DIR-relative path in tests in 4f5ba054ba
- Fix GH-12702: libxml2 2.12.0 issue building from src in 6a76e5d0a2
- Fix GH-12616: DOM: Removing XMLNS namespace node results in invalid default: prefix in 243fa9c143
- Fix GH-12791: Possible dereference of NULL in MySQLnd debug code in 6a914cb7a5
- Test fixes for libxml2 2.12.0 in 061058a9b1
- Add missing NULL pointer checks related to the previous call frame in bedf1083f3
- Add missing NULL checks for spl autoload table in 9a69bb2d58
- Fix GH-12838: [SOAP] Temporary WSDL cache files not being deleted in 4eee81b509
- Fix GH-12826: Weird pointers issue in nested loops in b175ea4215
- Fix libxml2 2.12 build due to API breaks in 0a39890c96
- Fix GH-9348: FTP & SSL session reuse in ac8a58fab1
Patrick Prasse
- Fix bug GH-12705: Segmentation fault in fpm_status_export_to_zval in df259f88da
Pierrick Charron
- Prepare PHP 8.3.1 in 6d39b647b4
Remi Collet
- zip: use index to avoid search by name in 6eecb3e7f5