PHP 8.1.0RC4: Downloads, Changelog, News

Release Information

Release
8.1.0RC4
PHP Version
PHP 8.1
Release Date
Release Type
Bug Fix Release
Release Status
Use PHP 8.1.30 instead
Branch Status
Security-Fixes Only

PHP 8.1 is currently only receiving security fixes. PHP 8.1.0RC4 is not the latest version in the series, and using this release is not recommended. PHP 8.1.30 is the latest in the series.

Downloads

Source Code

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

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

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.1.0RC4-apache

Debian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
docker pull php:8.1.0RC4-fpm

Commit List

Aliaksandr Bystry

Ben Morss

Ben Ramsey

Christoph M. Becker

Craig Francis

  • Update stub to show default of ENT_HTML401 (for documentation) in 2b25ac6f3c

Dan Pock

  • Fix bug #81491: Ensure HAVE_ARGON2LIB is set when compiling using libargon2 in 6d3ef57392

Derick Rethans

  • Fixed bug #81504: Incorrect timezone transition details for POSIX data in 68b874d10d
  • Prepare branch for 7.4.26-dev in e5d35a3252
  • Force UTC in 6166ac51b7
  • Bump config.guess/config.sub in all supported branches to support Apple Silicon in cd0c32e7fb
  • Bump config.guess/config.sub in all supported branches to support Apple Silicon in 89dfe49321
  • Updated to version 2021.3 (2021c) in e81554c6e6
  • Empty merge in 760475b43a
  • Updated to version 2021.3 (2021c) in 8a61f1ece6
  • Empty merge in 2d44367b3f
  • Updated to version 2021.3 (2021c) in c55b41d658
  • Empty merge in 43b39fd02c
  • Updated to version 2021.3 (2021c) in 7ad877ced1
  • Revert "Updated to version 2021.3 (2021c)" in 32c0850b4a
  • Remove now superfluous tests due to changes in tzdata in 9733d49e14

Dmitry Stogov

  • JIT: Fixed memory leak in 4b31cb3eb8
  • JIT: Fixed incorrect named parameter handling in 512dfaba3a
  • JIT: Allow register allocation for result of STRLEN and COUNT instructions in 7be7ec3098
  • JIT: Use zend_compare() instead of comapre_function() in 3d35ac0b05
  • JIT: Fixed test failures introduced in 3d35ac0b in 9b3069f0a3
  • JIT: Use zend_compare() instead of comapre_function() in 066f543cac
  • JIT: Avoid duplicate EX(opline) assignment in 724c4fb2e5
  • JIT: Eliminate useless EG(exception) checks after FETCHDIM* in 2c95c945be
  • JIT: Combine type guard with overflow detection in a5e502ef4d
  • Fixed SSA construction in 22ef1fb832
  • Fixed assign coalesce. "$a[0] ??= $a" should evaluate the right $a first in 69fb20f106
  • Fixed assign coalesce. "$a[0] ??= $a" should evaluate the right $a first in 80aaeb9696
  • JIT: Fixed incorrect overflow detection introduced in a5e502ef in 831a1717f6
  • JIT: Fixed register clobbering in f681f9075c
  • Fixed type inference that may cause JIT failure in 0b5d62e39c
  • JIT: Fixed NaN handling in 8a0873020a
  • JIT ARM64: Fixed NaN handling in 5557d15311
  • XFAIL: Return types cannot be inferred through prototypes in fd8dfc4248
  • JIT: Fixed incorrect code generation for JMPZ in cd45bd0a81
  • JIT: Fixed incorrect reference handling in PRE_INC/DEC_OBJ in 6ab36fb6f9
  • JIT: Fixed wrong comparison skip in a743fd7633
  • Fixed bug #81512 (Unexpected behavior with arrays and JIT) in b47a48ff80
  • JIT: Fixed FETCH_LIST_R on string in 7cea20f937
  • JIT ARM64: Use proper register in c9fb384c40
  • Flush error messages emitted during preloading in 45b127ad4a
  • JIT: Fixed extension handling in b279de416e
  • JIT: Fixed incorrect double/long register hinting in bbd875268a
  • Fixed type inference (ASSIGN_OP with typed reference may cause type conversion) in ed8ec9d71e
  • JIT: Fixed usage of incorrect specialized zval destructor in ccdda69a18
  • JIT: Fixed incorrect deoptimization info in 912f040583
  • Fixed type inference for COPY_TMP in a4c41d45cd
  • JIT: Avoid generation of unused exit point for conditional braches with NULL/FALSE/TRUE operand in da05c0a84f

Hao Sun

  • ARM64: range.phpt failed under RELEASE mode in 6f6fd27d2f
  • Reduce threshold further in ext/date/tests/bug73837.phpt in 582e21fbda

Jakub Zelenka

  • Add FPM prod idle timeout test in 08f52b1643
  • Fix conflicting pattern wrapping in FPM openmetrics test in 4ef6280b9a
  • Add FPM prod idle timeout test with 6s sleep in edfb347019
  • Add the actual test for FPM prod idle timeout test with 6s sleep in 66a655fdf4

Jaromir Dolecek

Joe Watkins

Kamil Tekiela

  • getTimestamp does not return false in 5fbba9b995

Lauri Kenttä

Matteo Beccati

Máté Kocsis

  • Add more specific array return type hints for various extensions - part 6 in GH-7474
  • Fix the return type of imagecolorexactalpha() in 17fa9b77bd
  • String default values are enclosed in quotes rather than apostrophes in 2127b49c65

Nikita Popov

Raphaël Jorel

  • Ignore generated files by tests in extension skeleton in 3c52db1b57

Remi Collet

sasezaki

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 💜