-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathimagemagick.sh
More file actions
153 lines (135 loc) · 4.25 KB
/
imagemagick.sh
File metadata and controls
153 lines (135 loc) · 4.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
LANG=en_US.UTF-8
public_file=/www/server/panel/install/public.sh
if [ ! -f $public_file ];then
wget -O $public_file http://download.bt.cn/install/public.sh -T 5;
fi
. $public_file
download_Url=$NODE_URL
Centos8Check=$(cat /etc/redhat-release | grep ' 8.' | grep -i centos)
if [ "${Centos8Check}" ];then
dnf config-manager --set-enabled PowerTools
fi
extPath(){
case "${version}" in
'54')
extFile='/www/server/php/54/lib/php/extensions/no-debug-non-zts-20100525/imagick.so'
;;
'55')
extFile='/www/server/php/55/lib/php/extensions/no-debug-non-zts-20121212/imagick.so'
;;
'56')
extFile='/www/server/php/56/lib/php/extensions/no-debug-non-zts-20131226/imagick.so'
;;
'70')
extFile='/www/server/php/70/lib/php/extensions/no-debug-non-zts-20151012/imagick.so'
;;
'71')
extFile='/www/server/php/71/lib/php/extensions/no-debug-non-zts-20160303/imagick.so'
;;
'72')
extFile='/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/imagick.so'
;;
'73')
extFile='/www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/imagick.so'
;;
'74')
extFile='/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/imagick.so'
;;
'80')
extFile='/www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/imagick.so'
;;
esac
}
Install_imagemagick()
{
if [ ! -f "/www/server/php/$version/bin/php-config" ];then
echo "php-$vphp 未安装,请选择其它版本!"
echo "php-$vphp not install, Plese select other version!"
return
fi
isInstall=`cat /www/server/php/$version/etc/php.ini|grep 'imagick.so'`
if [ "${isInstall}" != "" ];then
echo "php-$vphp 已安装过imagemagick,请选择其它版本!"
echo "php-$vphp not install, Plese select other version!"
return
fi
if [ "${PM}" == "yum" ] || [ "${PM}" == "dnf" ];then
Pack="ImageMagick ImageMagick-devel"
elif [ "${PM}" == "apt-get" ];then
Pack="imagemagick libmagickwand-dev libmagick++-dev"
fi
${PM} install ${Pack} -y
if [ "${PM}" == "yum" ];then
centos7Check=$(cat /etc/redhat-release | grep ' 7.' | grep -i centos)
if [ "${centos7Check}" ] || [ ! -f "/usr/bin/MagickWand-config" ];then
if [ ! -f "/usr/local/ImageMagick-7.0.10/bin/MagickWand-config" ];then
ImageMagickVer="7.0.10-47"
wget -O ImageMagick-${ImageMagickVer}.tar.gz ${download_Url}/src/ImageMagick-${ImageMagickVer}.tar.gz
tar -xvf ImageMagick-${ImageMagickVer}.tar.gz
cd ImageMagick-${ImageMagickVer}
./configure --prefix=/usr/local/ImageMagick-7.0.10
make
make install
cd ..
rm -rf ImageMagick-${ImageMagickVer}*
fi
ImageMagick_DIR="--with-imagick=/usr/local/ImageMagick-7.0.10"
fi
fi
if [ ! -f "$extFile" ];then
rm -rf imagick*
if [ "${version}" = "80" ];then
wget $download_Url/src/imagick-git.tar.gz
tar -xvf imagick-git.tar.gz
cd imagick
else
wget $download_Url/src/imagick-3.4.4.tgz -T 5
tar -zxf imagick-3.4.4.tgz
cd imagick-3.4.4
fi
/www/server/php/$version/bin/phpize
./configure --with-php-config=/www/server/php/$version/bin/php-config ${ImageMagick_DIR}
make && make install
fi
if [ ! -f "$extFile" ];then
echo 'error';
exit 0;
fi
echo -e "\n[ImageMagick]\nextension = \"imagick.so\"\n" >> /www/server/php/$version/etc/php.ini
cd ../
rm -rf imagick*
/etc/init.d/php-fpm-$version reload
}
Uninstall_imagemagick()
{
extPath
if [ ! -f "/www/server/php/$version/bin/php-config" ];then
echo "php-$vphp 未安装,请选择其它版本!"
echo "php-$vphp not install, Plese select other version!"
return
fi
isInstall=`cat /www/server/php/$version/etc/php.ini|grep 'imagick.so'`
if [ "${isInstall}" = "" ];then
echo "php-$vphp 未安装imagemagick,请选择其它版本!"
echo "php-$vphp not install imagemagick, Plese select other version!"
return
fi
sed -i '/imagick.so/d' /www/server/php/$version/etc/php.ini
sed -i '/ImageMagick/d' /www/server/php/$version/etc/php.ini
rm -f ${extFile}
/etc/init.d/php-fpm-$version reload
echo '==============================================='
echo 'successful!'
}
actionType=$1
version=$2
vphp=${version:0:1}.${version:1:1}
extPath
if [ "$actionType" == 'install' ];then
Install_imagemagick
elif [ "$actionType" == 'uninstall' ];then
Uninstall_imagemagick
fi