summaryrefslogtreecommitdiffstats
path: root/nixos
diff options
context:
space:
mode:
authorKim Lindberger <kim.lindberger@gmail.com>2021-03-02 09:41:15 +0100
committerGitHub <noreply@github.com>2021-03-02 09:41:15 +0100
commit8eea5d0fbd000e42ad576bdfbc2d9c7ca123c91e (patch)
tree7fd3a234a95f71a5dc130848f104c210e3aa3088 /nixos
parentcd43a539477b1b7a5af4edb70b500184beaf240b (diff)
parentdb439da3cdc5d3162dd275a54dcbb6d94f7230cd (diff)
Merge pull request #114592 from etu/php-minor-fixes
php: various fixes
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix6
-rw-r--r--nixos/tests/all-tests.nix3
-rw-r--r--nixos/tests/php/default.nix13
-rw-r--r--nixos/tests/php/fpm.nix7
-rw-r--r--nixos/tests/php/httpd.nix7
-rw-r--r--nixos/tests/php/pcre.nix5
6 files changed, 25 insertions, 16 deletions
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index 7f50b8fd8d44..b2bb5055cd4c 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -22,7 +22,9 @@ let
php = cfg.phpPackage.override { apacheHttpd = pkg; };
- phpMajorVersion = lib.versions.major (lib.getVersion php);
+ phpModuleName = let
+ majorVersion = lib.versions.major (lib.getVersion php);
+ in (if majorVersion == "8" then "php" else "php${majorVersion}");
mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = pkg; };
@@ -63,7 +65,7 @@ let
++ optional enableSSL "ssl"
++ optional enableUserDir "userdir"
++ optional cfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
- ++ optional cfg.enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; }
+ ++ optional cfg.enablePHP { name = phpModuleName; path = "${php}/modules/lib${phpModuleName}.so"; }
++ optional cfg.enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; }
++ cfg.extraModules;
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 773f91d86042..7d676e15fa97 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -307,6 +307,9 @@ in
pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {};
php = handleTest ./php {};
+ php73 = handleTest ./php { php = pkgs.php73; };
+ php74 = handleTest ./php { php = pkgs.php74; };
+ php80 = handleTest ./php { php = pkgs.php80; };
pinnwand = handleTest ./pinnwand.nix {};
plasma5 = handleTest ./plasma5.nix {};
pleroma = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./pleroma.nix {};
diff --git a/nixos/tests/php/default.nix b/nixos/tests/php/default.nix
index ee7a3b56a3ef..6ecaed246046 100644
--- a/nixos/tests/php/default.nix
+++ b/nixos/tests/php/default.nix
@@ -1,8 +1,9 @@
-{ system ? builtins.currentSystem,
- config ? {},
- pkgs ? import ../../.. { inherit system config; }
+{ system ? builtins.currentSystem
+, config ? {}
+, pkgs ? import ../../.. { inherit system config; }
+, php ? pkgs.php
}: {
- fpm = import ./fpm.nix { inherit system pkgs; };
- httpd = import ./httpd.nix { inherit system pkgs; };
- pcre = import ./pcre.nix { inherit system pkgs; };
+ fpm = import ./fpm.nix { inherit system pkgs php; };
+ httpd = import ./httpd.nix { inherit system pkgs php; };
+ pcre = import ./pcre.nix { inherit system pkgs php; };
}
diff --git a/nixos/tests/php/fpm.nix b/nixos/tests/php/fpm.nix
index 9ad515ebdde0..f84394ccea45 100644
--- a/nixos/tests/php/fpm.nix
+++ b/nixos/tests/php/fpm.nix
@@ -1,5 +1,5 @@
-import ../make-test-python.nix ({pkgs, lib, ...}: {
- name = "php-fpm-nginx-test";
+import ../make-test-python.nix ({pkgs, lib, php, ...}: {
+ name = "php-${php.version}-fpm-nginx-test";
meta.maintainers = lib.teams.php.members;
machine = { config, lib, pkgs, ... }: {
@@ -25,6 +25,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
services.phpfpm.pools."foobar" = {
user = "nginx";
+ phpPackage = php;
settings = {
"listen.group" = "nginx";
"listen.mode" = "0600";
@@ -44,7 +45,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
# Check so we get an evaluated PHP back
response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/")
- assert "PHP Version ${pkgs.php.version}" in response, "PHP version not detected"
+ assert "PHP Version ${php.version}" in response, "PHP version not detected"
# Check so we have database and some other extensions loaded
for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:
diff --git a/nixos/tests/php/httpd.nix b/nixos/tests/php/httpd.nix
index 27ea7a24e3a9..a5ca9b3c5d1f 100644
--- a/nixos/tests/php/httpd.nix
+++ b/nixos/tests/php/httpd.nix
@@ -1,5 +1,5 @@
-import ../make-test-python.nix ({pkgs, lib, ...}: {
- name = "php-httpd-test";
+import ../make-test-python.nix ({pkgs, lib, php, ...}: {
+ name = "php-${php.version}-httpd-test";
meta.maintainers = lib.teams.php.members;
machine = { config, lib, pkgs, ... }: {
@@ -14,6 +14,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
index = "index.php index.html";
};
};
+ phpPackage = php;
enablePHP = true;
};
};
@@ -22,7 +23,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
# Check so we get an evaluated PHP back
response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/")
- assert "PHP Version ${pkgs.php.version}" in response, "PHP version not detected"
+ assert "PHP Version ${php.version}" in response, "PHP version not detected"
# Check so we have database and some other extensions loaded
for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:
diff --git a/nixos/tests/php/pcre.nix b/nixos/tests/php/pcre.nix
index 3ea19304bffd..97572f63af33 100644
--- a/nixos/tests/php/pcre.nix
+++ b/nixos/tests/php/pcre.nix
@@ -1,7 +1,7 @@
let
testString = "can-use-subgroups";
-in import ../make-test-python.nix ({lib, ...}: {
- name = "php-httpd-pcre-jit-test";
+in import ../make-test-python.nix ({lib, php, ...}: {
+ name = "php-${php.version}-httpd-pcre-jit-test";
meta.maintainers = lib.teams.php.members;
machine = { lib, pkgs, ... }: {
@@ -9,6 +9,7 @@ in import ../make-test-python.nix ({lib, ...}: {
services.httpd = {
enable = true;
adminAddr = "please@dont.contact";
+ phpPackage = php;
enablePHP = true;
phpOptions = "pcre.jit = true";
extraConfig = let