apache: add php 7.2 support release_20181216
authorClinton Ebadi <clinton@unknownlamer.org>
Wed, 26 Dec 2018 23:40:06 +0000 (18:40 -0500)
committerClinton Ebadi <clinton@unknownlamer.org>
Wed, 26 Dec 2018 23:40:06 +0000 (18:40 -0500)
Also get rid of fast_php (except for compatibility), and use php56
instead since we only have fastcgi php support now.

configDefault/apache.cfg
configDefault/apache.csg
lib/apache.dtl
lib/defaults.dtl
src/plugins/apache.sml

index 4cf1168..7cb48f5 100644 (file)
@@ -74,7 +74,7 @@ fun fastCgiWrapperOf user =
                       "-wrapper-wrapper"]
 
 (* FIXME: hcoop reference *)
-val phpFastCgiWrapper = "/afs/hcoop.net/common/bin/php5-fcgi-wrapper"
+fun phpFastCgiWrapper version = "/afs/hcoop.net/common/bin/php" ^ Int.toString version ^ "-fcgi-wrapper"
 
 val waklogUserFile = ConfigCore.localRoot ^ "/waklog.conf"
 
index 451ab40..26e5cb0 100644 (file)
@@ -27,7 +27,7 @@ signature APACHE_CONFIG = sig
     val backupLogDirOf : bool -> string
     val fastCgiWrapperOf : string -> string
 
-    val phpFastCgiWrapper : string
+    val phpFastCgiWrapper : int -> string
 
     val waklogUserFile : string
 
index a75dd0d..1c66775 100644 (file)
@@ -35,8 +35,12 @@ extern val no_ssl : ssl;
 extern val use_cert : ssl_cert_path -> ssl;
 
 extern type php_version;
-extern val fast_php : php_version;
-{{FastCGI based php5. Much faster than regular php5.}}
+extern val php56 : php_version;
+{{FastCGI based php 5.6.}}
+extern val php72 : php_version;
+{{FastCGI based php 7.2.}}
+
+val fast_php : php_version = php56;
 
 extern val vhost : host -> Vhost => [Domain]
   {WebPlaces : [web_place],
index 75dcd61..4df01e7 100644 (file)
@@ -12,7 +12,7 @@ var Group : your_group = "nogroup";
 
 var DocumentRoot : your_path = (home "public_html");
 var SuExec : suexec_flag = true;
-var PhpVersion : php_version = fast_php;
+var PhpVersion : php_version = php56;
 
 var Mailbox : email = defaultMailbox;
 var ServerAdmin : email = defaultServerAdmin;
index 5a3bb88..0c3e685 100644 (file)
@@ -470,7 +470,8 @@ fun vhostPost () = (!post ();
                    write "</VirtualHost>\n";
                    app (TextIO.closeOut o #2) (!vhostFiles))
 
-val php_version = fn (EVar "fast_php", _) => SOME 6
+val php_version = fn (EVar "php56", _) => SOME 56
+                   | (EVar "php72", _) => SOME 72
                    | _ => NONE
 
 fun vhostBody (env, makeFullHost) =
@@ -561,26 +562,18 @@ fun vhostBody (env, makeFullHost) =
                                  TextIO.output (file, user);
                                  TextIO.output (file, "/DAVLock");
 
-                                 if php = 6
-                                 then
-                                     (* fastcgi php 5.6, using version 6 since php6 doesn't exist *)
-                                     (TextIO.output (file, "\n\tAddHandler fcgid-script .php .phtml");
-                                      map (fn ext => (TextIO.output (file, "\n\tFcgidWrapper \"");
-                                                      (* kerberos wrapper, simulates waklog+mod_cgi *)
-                                                      if isWaklog node then
-                                                          (TextIO.output (file, Config.Apache.fastCgiWrapperOf user);
-                                                           TextIO.output (file, " "))
-                                                      else
-                                                          ();
-                                                      TextIO.output (file, Config.Apache.phpFastCgiWrapper);
-                                                      TextIO.output (file, "\" ");
-                                                      TextIO.output (file, ext)))
-                                          [".php", ".phtml"];
-                                      ())
-                                 else
-                                     (TextIO.output (file, "\n\tAddHandler x-httpd-php");
-                                      TextIO.output (file, Int.toString php);
-                                      TextIO.output (file, " .php .phtml"));
+                                 TextIO.output (file, "\n\tAddHandler fcgid-script .php .phtml");
+                                 map (fn ext => (TextIO.output (file, "\n\tFcgidWrapper \"");
+                                                 (* kerberos wrapper, simulates waklog+mod_cgi *)
+                                                 if isWaklog node then
+                                                     (TextIO.output (file, Config.Apache.fastCgiWrapperOf user);
+                                                      TextIO.output (file, " "))
+                                                 else
+                                                     ();
+                                                 TextIO.output (file, Config.Apache.phpFastCgiWrapper php);
+                                                 TextIO.output (file, "\" ");
+                                                 TextIO.output (file, ext)))
+                                     [".php", ".phtml"];
                          (ld, file)
                              end)
                          places;
@@ -1161,21 +1154,14 @@ val () = Env.action_one "diskCache"
 
 val () = Env.action_one "phpVersion"
         ("version", php_version)
-        (fn version => (if version = 6
-                        then
-                            (* fastcgi php 5.6 since 6 doesn't exist *)
-                            (write "\tAddHandler fcgid-script .php .phtml\n";
+        (fn version => (write "\tAddHandler fcgid-script .php .phtml\n";
                              (* FIXME: only set kerberos wrapper of waklog is on *)
                              (* won't be trivial, since we don't have access to node here *)
                              write "\n\tFcgidWrapper \"";
                              write (Config.Apache.fastCgiWrapperOf (Domain.getUser ()));
                              write " ";
-                             write Config.Apache.phpFastCgiWrapper;
-                             write "\" .php .phtml\n")
-                        else
-                            (write "\tAddHandler x-httpd-php";
-                             write (Int.toString version);
-                             write " .php .phtml\n")))
+                             write (Config.Apache.phpFastCgiWrapper version);
+                             write "\" .php .phtml\n"))
 
 val () = Env.action_two "addType"
         ("mime type", Env.string, "extension", Env.string)