Unverified Commit 04dea74e authored by Elis Hirwing's avatar Elis Hirwing Committed by GitHub
Browse files

Merge pull request #194172 from drupol/php/enable-nts-by-default

php: enable `nts` flags by default
parents f3bb6d18 364a7d29
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -130,6 +130,15 @@
          PHP now defaults to PHP 8.1, updated from 8.0.
        </para>
      </listitem>
      <listitem>
        <para>
          PHP is now built <literal>NTS</literal> (Non-Thread Safe)
          style by default, for Apache and <literal>mod_php</literal>
          usage we still enable <literal>ZTS</literal> (Zend Thread
          Safe). This has been a common practice for a long time in
          other distributions.
        </para>
      </listitem>
      <listitem>
        <para>
          <literal>protonup</literal> has been aliased to and replaced
+4 −0
Original line number Diff line number Diff line
@@ -53,6 +53,10 @@ In addition to numerous new and upgraded packages, this release has the followin

- PHP now defaults to PHP 8.1, updated from 8.0.

- PHP is now built `NTS` (Non-Thread Safe) style by default, for Apache and
  `mod_php` usage we still enable `ZTS` (Zend Thread Safe). This has been a
  common practice for a long time in other distributions.

- `protonup` has been aliased to and replaced by `protonup-ng` due to upstream not maintaining it.

- Perl has been updated to 5.36, and its core module `HTTP::Tiny` was patched to verify SSL/TLS certificates by default.
+8 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ let
    sed -i $out/bin/apachectl -e 's|$HTTPD -t|$HTTPD -t -f /etc/httpd/httpd.conf|'
  '';

  php = cfg.phpPackage.override { apacheHttpd = pkg; };
  php = cfg.phpPackage.override { apxs2Support = true; apacheHttpd = pkg; };

  phpModuleName = let
    majorVersion = lib.versions.major (lib.getVersion php);
@@ -660,6 +660,13 @@ in
          `services.httpd.virtualHosts.<name>.useACMEHost` are mutually exclusive.
        '';
      }
      {
        assertion = cfg.enablePHP -> php.ztsSupport;
        message = ''
          The php package provided by `services.httpd.phpPackage` is not built with zts support. Please
          ensure the php has zts support by settings `services.httpd.phpPackage = php.override { ztsSupport = true; }`
        '';
      }
    ] ++ map (name: mkCertOwnershipAssertion {
      inherit (cfg) group user;
      cert = config.security.acme.certs.${name};
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ let
    , phpdbgSupport ? true

      # Misc flags
    , apxs2Support ? !stdenv.isDarwin
    , apxs2Support ? false
    , argon2Support ? true
    , cgotoSupport ? false
    , embedSupport ? false