anchor.diff:          description = "Whether to enable the PHP module.";
         };
   
  +      phpPackage = mkOption {
  +        type = types.package;
  +        default = pkgs.php;
  +        defaultText = "pkgs.php";
  +        description = ''
  +          Overridable attribute of the PHP package to use.
  +        '';
  +      };
  +
         phpOptions = mkOption {
           type = types.lines;
           default = "";
  
positive.code: 
    httpdConf = mainCfg.configFile;
  
    php = pkgs.php.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ };
  
    getPort = cfg: if cfg.port != 0 then cfg.port else if cfg.enableSSL then 443 else 80;
  
  
negative.code:           concatMap (svc: svc.extraModulesPre) allSubservices
            ++ map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules
            ++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
            ++ optional enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; }
            ++ concatMap (svc: svc.extraModules) allSubservices
            ++ extraForeignModules;
        in concatMapStrings load allModules
  