add extension checking to config
authorAlan <alan@roojs.com>
Mon, 24 Jul 2023 07:20:42 +0000 (15:20 +0800)
committerAlan <alan@roojs.com>
Mon, 24 Jul 2023 07:20:42 +0000 (15:20 +0800)
Config.php
UpdateDatabase.php

index 25595a7..37f2da9 100644 (file)
@@ -10,6 +10,14 @@ class Pman_Core_Config {
     var $defaults = array(  ); // override... 
     
     
+    // note if other extended 'config's require more, then you porbably need to include these first.
+    var $required_extensions = array(
+        'json',        
+        'curl',
+        'gd',
+        'mbstring'
+    );
+    
     function init($ff, $cfg)
     {
       
@@ -22,6 +30,7 @@ class Pman_Core_Config {
             }
         
         }
+        $this->verifyExtensions();
         
         return $cfg;
     }
@@ -73,6 +82,23 @@ class Pman_Core_Config {
         
         return $cfg;
     }
-    
+    function verifyExtensions()
+    {
+        $error = array();
+        
+        foreach ($this->required_extensions as $e){
+            
+            if(empty($e) || extension_loaded($e)) {
+                continue;
+            }
+            
+            $error[] = "Error: Please install php extension: {$e}";
+        }
+        
+        if(empty($error)){
+           return true; 
+        }
+        die(implode('\n', $error));
+    }
 
 }
index 043a518..f7ac303 100644 (file)
@@ -161,7 +161,8 @@ class Pman_Core_UpdateDatabase extends Pman
     
     var $required_extensions = array(
         'curl',
-        'gd'
+        'gd',
+        'mstring'
     );
     
     function getAuth() {