Release Information
- Release Type
- Security Update
- Release Status
- Latest
- Branch Status
- Security-Fixes Only
PHP 8.3 is currently only receiving security fixes, and scheduled to reach EOL on 2027-12-31
Downloads
Source Code
Git Clone
Use Git to clone the 8.3.31 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.3.31How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (
Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.
./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.
php-8.3.31-x64NTS.zip
SHA256:
389c1327d325f6b6b3b892a5b2e1484ca5b5df775b6c4ddf5d1b5dc3b34ac761 php-8.3.31-x86NTS.zip
SHA256:
c49a3d1d5daeb8ea32c48bbc2b0533ebb8cf54d8273b9a3b83323e1e55e15480 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.
php-8.3.31-x64TS.zip
Size: 0 MiB SHA256:
d223892e2ea4b4bfbef06391bd0937c1a52a8ec66b16732d61f26189b124a887 php-8.3.31-x86TS.zip
Size: 0 MiB SHA256:
f9e0d9745fd81f5edb12f11896de9f4afaa291acb3638107513cb9fc69b25d9e 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.31-cli-alpineDebian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.3.31-cliPHP 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.31-fpm-alpineDebian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.3.31-apacheDebian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
docker pull php:8.3.31-fpmChangeLog
Curl
- Add support for brotli and zstd on Windows.
OpenSSL
- Fix compatibility issues with OpenSSL 4.0.
Commit List
Ben Ramsey
- PHP 8.1 is now end-of-life in 6f82565f12
Calvin Buckley
- Fix
skipiffor mkfifo usage ingh20582.phptin GH-20804
Daniel Scherzer
- GitHub actions: drop more 8.1 CI configuration in GH-20763
Derick Rethans
- Updated to version 2025.3 (2025c) in 2670c8646d
- Upgrade timelib to 2022.16 in e208cd86b4
- Revert "Upgrade timelib to 2022.16" in cfbfc1b6f6
- Revert "Updated to version 2025.3 (2025c)" in ba1f3d9a87
- Updated to version 2026.1 (2026a) in f437b39060
Eric Mann
- Update versions for PHP 8.3.31 in dff62b8bdb
Ilija Tovilo
- Make brew verbose, limit to 10 minutes in 8b47ae8342
- Disable pkg cache for FreeBSD jobs in 10aadd635b
- Unify push & nightly workflows in f7b58d3938
- Fix
array_column()on null innightly_matrix.phpin 60718c7f43 - Fix enabling of opcache in CI in 5150641f9a
- Fix test action with no opcache in 2fd40628fc
- Fix ccache in pecl job in a1de4ad543
- Fix nightly job selection in cb4ea1d38a
- Move benchmarking job to nightly in 436000755b
- Rename nightly.yml to test-suite.yml in bcbc9c2f00
- Rename push.yml to test.yml in dca6e5efd3
- Combine push.yml and root.yml into test.yml in 12148a5b49
- Improve displayed workflow_call name in cbb3ff0a5b
- Adjust nightly-results.yml for test.yml in be96ae607d
- Rename
nightly_matrix.phptomatrix.phpin 37528afdad - Fix nightly ref name in 636fd3453b
- [CI] Fix ineffective ccache in 7a4da1040b
- Tweak stack limit values for
gh20583.phptin 3692a5fa57 - Fix ccache for coverage and pecl builds in c8cd3aeb1e
- Fix coverage label job selection in ee40ca3fe2
- Fix ccache for alpine and msan in 68d4ee357b
- Fix benchmarking head sha in 46073db990
- Make one linux job run function jit on push in a5a5e3acdd
- Add RUN_RESOURCE_HEAVY_TESTS env var in 3a57b4ced5
- Fix enabling of opcache in benchmark job in older branches in 7324cd7f21
- Backport .github changes for Solaris in c21af8c598
- Fix expected output for
bug52820.phptin b8b5fb074d - Fix Laravel build for PHP 8.2 in 183d2a617f
- Use default branch for symfony/laravel when possible in 272cf1fb2d
- Convert remaining K&R function declarations in libbcmath in 21664fb935
- Backport compatibility changes for OpenSSL 4.0 in 19255f4b78
- GHSA-85c2-q967-79q5: [soap] Fix stale SOAP_GLOBAL(ref_map) pointer with Apache Map in 64547ac7d5
- GHSA-m33r-qmcv-p97q: [soap] Fix use-after-free after header parsing failure with
SOAP_PERSISTENCE_SESSIONin 2b80fd9abf - GHSA-hmxp-6pc4-f3vv: [soap] Fix broken Apache map value NULL check in 6dc11a5569
- GHSA-m8rr-4c36-8gq4: Consistently pass unsigned char to
ctype.hfunctions in 86537f915f
Jakub Zelenka
- Add back FPM_RUN_RESOURCE_HEAVY_TESTS in 71a01794cc
- Remove
XFAILforproc-idle-timeout.phptin 04023e5e72 - Fix GH-21617: sni_server self signed certifcate expired in 0f38bfdef2
- Fix SNI tests for bugs #80770 and #74796 in 178a30b9e7
- GHSA-7qg2-v9fj-4mwv: [fpm] XSS within status endpoint in 560a5eceae
Niels Dossche
- Fix bug52820 test for new libcurl release in 636f84adcf
Peter Kokot
- Remove redundant PHP manifest file in GH-21634
Saki Takamachi
- GHSA-w476-322c-wpvm: [pdo_firebird] Fix SQL injection via NUL bytes in quoted strings in 504c4a3eaa
Shivam Mathur
- curl: add support for brotli and zstd on Windows in 0c6fc66848
- Decrease zend.max_allowed_stack_size in
stack_limit_015.phptin cef6fbe64c
Tim Düsterhus
- Update GitHub Actions to
codecov/codecov-action@v6in f6ddc37e21 - GHSA-96wq-48vp-hh57: [metaphone] Fix signed integer overflow of char array offset in ab97806172
vi3tL0u1s
- GHSA-wm6j-2649-pv75: [mbstring] Fix null pointer dereference in
php_mb_check_encoding()viamb_ereg_search_init()in 4154618952
武田 憲太郎
- [CI] Use MySQL LTS version in 2a3e970d4c