diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 91c91dc0ab38..0b426aaecc0a 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -14,8 +14,13 @@
Highlights
-
-
+
+
+
+ PHP 8.1 is now available
+
+
+
New Services
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index b233d02fa568..0f39c20a76e2 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -6,6 +6,8 @@ In addition to numerous new and upgraded packages, this release has the followin
## Highlights {#sec-release-22.05-highlights}
+- PHP 8.1 is now available
+
## New Services {#sec-release-22.05-new-services}
## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 5afe05c1b727..68a15d32bf80 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -358,6 +358,7 @@ in
php = handleTest ./php {};
php74 = handleTest ./php { php = pkgs.php74; };
php80 = handleTest ./php { php = pkgs.php80; };
+ php81 = handleTest ./php { php = pkgs.php81; };
pinnwand = handleTest ./pinnwand.nix {};
plasma5 = handleTest ./plasma5.nix {};
plasma5-systemd-start = handleTest ./plasma5-systemd-start.nix {};
diff --git a/pkgs/development/interpreters/php/8.1.nix b/pkgs/development/interpreters/php/8.1.nix
new file mode 100644
index 000000000000..736d6c808cde
--- /dev/null
+++ b/pkgs/development/interpreters/php/8.1.nix
@@ -0,0 +1,51 @@
+{ callPackage, lib, stdenv, ... }@_args:
+
+let
+ base = callPackage ./generic.nix (_args // {
+ version = "8.1.1";
+ sha256 = "sha256-j4vJytbNEk7cER99sKEJdF4vY4dwoQGzwiopU/eptA4=";
+ });
+
+in
+base.withExtensions ({ all, ... }: with all; ([
+ bcmath
+ calendar
+ curl
+ ctype
+ dom
+ exif
+ fileinfo
+ filter
+ ftp
+ gd
+ gettext
+ gmp
+ iconv
+ intl
+ ldap
+ mbstring
+ mysqli
+ mysqlnd
+ opcache
+ openssl
+ pcntl
+ pdo
+ pdo_mysql
+ pdo_odbc
+ pdo_pgsql
+ pdo_sqlite
+ pgsql
+ posix
+ readline
+ session
+ simplexml
+ sockets
+ soap
+ sodium
+ sqlite3
+ tokenizer
+ xmlreader
+ xmlwriter
+ zip
+ zlib
+] ++ lib.optionals (!stdenv.isDarwin) [ imap ]))
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index cf51b1df7af8..54e93db2d33b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -13493,6 +13493,13 @@ with pkgs;
phpExtensions = php.extensions;
phpPackages = php.packages;
+ # Import PHP81 interpreter, extensions and packages
+ php81 = callPackage ../development/interpreters/php/8.1.nix {
+ stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
+ };
+ php81Extensions = recurseIntoAttrs php81.extensions;
+ php81Packages = recurseIntoAttrs php81.packages;
+
# Import PHP80 interpreter, extensions and packages
php80 = callPackage ../development/interpreters/php/8.0.nix {
stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;