PHP 8.1 is currently only receiving security fixes. PHP 8.1.0RC5 is not the latest version in the series, and using this release is not recommended. PHP 8.1.29 is the latest in the series.
Downloads
Source Code
Git Clone
Use Git to clone the 8.1.0RC5 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.1.0RC5
How 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.1.0RC5-x64NTS.zip (28.74 MiB)
php-8.1.0RC5-x86NTS.zip (25.84 MiB)
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.1.0RC5-x64TS.zip (28.84 MiB)
php-8.1.0RC5-x86TS.zip (25.82 MiB)
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.0RC5-cli-alpine
Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.1.0RC5-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.0RC5-fpm-alpine
Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.1.0RC5-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.0RC5-fpm
Commit List
Agustin Gomes
- Add test cases for backed enum implementing interface in 8bb19cb549
Alex Dowad
- Improve detection accuracy of
mb_detect_encoding
in 28b346bc06 mb_detect_encoding
will not return non-encodings in a2bc57e0e5
Ben Ramsey
- The PHP-8.1 branch is now for 8.1.0RC5 in daf6a46177
Bob Weinand
- Add
ZEND_API
for weakmap functionality viazend_weakrefs_hash_add
/del in 471102edcd - Fix weakmap API test in 345f46ff29
Christopher Jones
- Fix tests for method camel case change in 51f1cacf7a
- Fix tests for method camel case change in 3e9b53f2ec
Christoph M. Becker
- Fix #81518: Header injection via default_mimetype / default_charset in 365769366b
- Fix #81500: Interval serialization regression since 7.3.14 / 7.4.2 in 866adb122a
- Fix #76167: mbstring may use pointer from some previous request in d3d6d7906e
David Carlier
- Fix some FPM printf warnings on openbsd in f71810fb6f
Dmitry Stogov
- JIT: Fixed incorrect FETCH_OBJ_W code for typed property in afeadc668b
- JIT: Fixed incorrect FETCH_OBJ_W code for typed property (ARM64 part) in 28cca5d451
- JIT: Use more general type guard to prevent useless trace splitting in 88982a1d20
- Tracing JIT: Use information about really called internal function return type to improve type inference in af0a980f45
- Tracing JIT: propagete op1 type info of FETCH_DIM_FETCH_ARG in read mode in f8b1853816
- Tracinf JIT: Prevnt generation code for instruction that with cyclic dependency in 6021e72143
- Tracing JIT: Fixed ADD with two references to arrays in 13d1244575
- JIT: Fixed DASM_S_RANGE_VREG error in e59d0a7151
- Tracing JIT: Fixed memory leak in d3063c02c6
- Fixed incorrect optimization that may cause JIT assertion in 6bd5271c62
- JIT: Fixed memory leak in 38626dbaad
- JIT: Fixed megamorphic call detection in 95c0dfc57f
- Use right frame in b69c6ba9df
- Tracing JIT: Fixed incorrect assumtion about temporary variable types clobbered by *_ROPE instructions in c7e974fc4e
- Tracing JIT: Fixed incorrect assumption about in-memeory zval type in d3251632ad
- Tracing JIT: Fixed possible endless loop when escape from
ZEND_CALL_TOP
frame in 29c8c1e955 - JIT: Avoid dead type store in 3d576db280
- JIT_G(current_frame)->stacj is always true in cb72f0fa64
Jakub Zelenka
- Fix bug #81026 (PHP-FPM oob R/W in root process leading to priv escalation) in cb2021e5f6
- Fix bug #81026 (PHP-FPM oob R/W in root process leading to priv escalation) in fadb1f8c1d
- Fix bug #81026 (PHP-FPM oob R/W in root process leading to priv escalation) in f47798e685
Kamil Tekiela
- Fix bug GH-1 (mysqli_sql_exception->sqlstate is inaccessible) in 64fca5c5f0
- Revert "Fix bug GH-1 (mysqli_sql_exception->sqlstate is inaccessible)" in c9d509b668
Máté Kocsis
- Fix 2nd param name of
pg_send_execute()
in ca219d7d27 - Remove extra space before return type in 10a2079b13
Nikita Popov
- Increase timeout on community job in 6e9b764920
- Fixed bug #81532 in 6057cd2367
- Fix bug #81510 in 6974372fbb
- Fix inc/dec of undef var with error handler in 22b6aac66f
- Handle operand replacement in JMP_NULL in 1f19401ffa
- Remove unused scope argument in 11d97ae00c
- Print array defaults in reflection in fb5cff1272
- Remove
bug76738.phpt
in decf906a90 - Fix shared pdo_dblib build in f27d074996
Patrick Allaert
- Prepare for PHP 8.1.0RC5 in 849a26e57a
Remi Collet
- bump zip ext version in 6d0d5227d8
- remove closing bracket in bad place in 9f98bc58c7
- Add
--with-external-libcrypt
build option in 1b0081e122 - add note in UPGRADING in e9cf14e89c
- fix for pcre2 10.38 in 56495ac031
- fix for pcre2 10.38 in dd61002676
- fix for pcre2 10.38 in a6f5c2dc8b
Stanislav Malyshev
- Add FPM fix news in 6ab9b3865a