debian/postinst:
[php5-cn.git] / debian / postinst
index 17d1c41..af35ec5 100755 (executable)
@@ -51,6 +51,20 @@ phpmemlimit () {
     echo $memlimit
 }
 
+# phpinivalidate ()
+#
+#   Validate php.ini values.
+#
+phpinivalidate () {
+
+    local ini_file
+    ini_file="$1"
+
+    awk -F'[[:space:]]*=[[:space:]]*' \
+       '/^[[:space:]]*[[:alpha:]_]+[[:space:]]*=[[:space:]]*[[:digit:]]+[MGK]B/ {print $1" = "$2}' \
+       "$ini_file"
+}
+
 
 # Disable PHP4 module and enable Apache2 PHP5 module.
 #
@@ -173,12 +187,11 @@ for SAPI in apache2 cli; do
        if [ ! -d "$PHP5DIR/$SAPI" ]; then
                continue
        fi
-       
+
+       ini_file="$PHP5DIR/$SAPI/php.ini"
        db_get php5-cn/${SAPI} || true
        if [ "$RET" = "true" ]; then
 
-           ini_file="$PHP5DIR/$SAPI/php.ini"
-
            cp_echo "CN: Checking and enabling some specific parameters in file $ini_file"
            
            phplimit="$(phpmemlimit)M"
@@ -222,6 +235,21 @@ for SAPI in apache2 cli; do
                rm -f "$ini_file_tmp"
            fi
        fi
+
+       # Validate php.ini values.
+       if [ -f "$ini_file" ]; then
+               php5_inivalues="$(phpinivalidate "$ini_file")"
+               if [ -n "$php5_inivalues" ]; then
+                       db_fset php5-cn/inivalues seen false
+                       db_title php5-cn - konfiguracija za $(echo ${SAPI} | sed 's/a/A/;s/cli/CLI/')
+                       db_subst php5-cn/inivalues php5_sapi $(echo ${SAPI} | sed 's/a/A/;s/cli/CLI/')
+                       db_subst php5-cn/inivalues ini_file "$ini_file"
+                       db_capb escape
+                       db_subst php5-cn/inivalues php5_inivalues "$(echo -n "$php5_inivalues" | debconf-escape -e)"
+                       db_input critical php5-cn/inivalues || true
+                       db_go || true
+               fi
+       fi
 done