inicijalna verzija
[php7.0-cn.git] / debian / php7.0-cn / DEBIAN / config
1 #!/bin/sh
2
3 set -e
4
5 # Load debconf
6 . /usr/share/debconf/confmodule
7
8 if [ "$1" != reconfigure ]; then
9
10     php70_done=1
11
12     for SAPI in apache2 cli; do
13         db_fget php7.0-cn/${SAPI} seen
14         if [ "$RET" != "true" ]; then
15             php70_done=0
16             break
17         fi
18     done
19
20     test $php70_done -eq 1 && exit 0
21 fi
22
23 PHP70DIR="/etc/php/7.0"
24
25 # phpmemlimit ()
26 #
27 #   Calculate memory size for PHP memory_limit option.
28 #
29 phpmemlimit () {
30
31     local memtotal memlimit
32     memtotal=`awk 'tolower($1) == "memtotal:" { printf("%i", $2/1024); }' /proc/meminfo`
33
34     if [ $memtotal -lt 512 ]; then memlimit=16; fi
35     if [ $memtotal -ge 512 ]; then memlimit=32; fi
36     if [ $memtotal -gt 1024 ]; then memlimit=64; fi
37
38     echo $memlimit
39 }
40
41
42 # Check for PHP5 SAPI configuration.
43 #
44 for SAPI in apache2 cli; do
45
46     ini_diff=0
47     ini_file="$PHP70DIR/$SAPI/php.ini"
48
49     upload_max_filesize=
50     post_max_size=
51     memory_limit=
52     error_reporting=
53
54     phplimit="$(phpmemlimit)M"
55
56     if [ -f "$ini_file" ]; then
57
58         if egrep -q "^[[:space:]]*(upload_max_filesize|post_max_size|memory_limit|error_reporting)[[:space:]]*=" $ini_file; then
59
60             upload_max_filesize=`awk '$1 == "upload_max_filesize" { print $3; exit(0) }' $ini_file`
61             post_max_size=`awk '$1 == "post_max_size" { print $3; exit(0) }' $ini_file`
62             memory_limit=`awk '$1 == "memory_limit" { print $3; exit(0) }' $ini_file`
63             error_reporting=`awk '$1 == "error_reporting" { print $3; exit(0) }' $ini_file`
64
65             if [ "$upload_max_filesize" != "256M" ]; then ini_diff=1; fi
66             if [ "$post_max_size" != "$phplimit" ]; then ini_diff=1; fi
67             if [ "$memory_limit" != "$phplimit" ]; then ini_diff=1; fi
68             if [ "$error_reporting" != "E_ERROR" ]; then ini_diff=1; fi
69         else
70
71             ini_diff=1
72         fi
73     else
74
75         ini_diff=1
76     fi
77
78     if [ $ini_diff -eq 1 ]; then
79
80         # Configurations are not the same - ask user what to do.
81         test -z "$upload_max_filesize" && upload_max_filesize="2M"
82         test -z "$post_max_size" && post_max_size="8M"
83         test -z "$memory_limit" && memory_limit="16M"
84         test -z "$error_reporting" && error_reporting="E_ALL & ~E_DEPRECATED"
85
86         db_title php7.0-cn - konfiguracija za $(echo ${SAPI} | sed 's/a/A/;s/cli/CLI/')
87         db_subst php7.0-cn/${SAPI} ini_file "$ini_file"
88
89         db_subst php7.0-cn/${SAPI} upload_max_filesize "$upload_max_filesize"
90         db_subst php7.0-cn/${SAPI} post_max_size "$post_max_size"
91         db_subst php7.0-cn/${SAPI} memory_limit "$memory_limit"
92
93         db_subst php7.0-cn/${SAPI} new_phplimit "$phplimit"
94
95         db_subst php7.0-cn/${SAPI} error_reporting "$error_reporting"
96         db_subst php7.0-cn/${SAPI} new_error_reporting "E_ERROR"
97
98         db_input critical php7.0-cn/${SAPI} || true
99         db_go || true
100     else
101
102         db_set php7.0-cn/${SAPI} false || true
103         db_fset php7.0-cn/${SAPI} seen true
104     fi
105
106 done
107
108 exit 0