目标:一键部署PHP5.6.0版本
环境:CentOS 6 64位 桌面版本
软件包:链接:http://pan.baidu.com/s/1jIyZrRS 密码:q9uu
[root@salt-master home]# cat PHP.sh
#/bin/bash
#
#CentOS 6
#
. /etc/init.d/functions
dir=/root/test
del_dir() {
read -p "需要删除${dir} 是否删除[Y|y/N|n]:" del
case $del in
Y|y)
rm -rf $dir
mkdir $dir
cd $dir
;;
N|n)
echo "安装终止"
exit 7
;;
*)
echo "请输入正确的值"
exit 8
;;
esac
}
[ ! -d $dir ] && {
mkdir $dir
cd $dir
} || del_dir
wget http://172.2.0.68/freetype-2.3.10.tar.bz2
wget http://172.2.0.68/jpegsrc.v7.tar.gz
wget http://172.2.0.68/libpng-1.2.41.tar.bz2
wget http://172.2.0.68/libiconv-1.14.tar.gz
wget http://172.2.0.68/gd-2.0.33.tar.gz
wget http://172.2.0.68/libmcrypt-2.5.7.tar.gz
wget http://172.2.0.68/zlib-1.2.8.tar.gz
wget http://172.2.0.68/PHP-5.6.0.tar.gz
yum -y install libjpeg-devel libpng-devel freetype-devel libxml2-devel zlib-devel glibc-devel glib2-devel bzip2-devel ncurses ncurses-devel curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel
tar jxvf freetype-2.3.10.tar.bz2
cd freetype-2.3.10
./configure --prefix=/usr/local/freetype
make && make install
cd ..
tar -xzvf jpegsrc.v7.tar.gz
cd jpeg-7/
./configure --prefix=/usr/local/jpeg
make && make install
cd ..
tar jvxf libpng-1.2.41.tar.bz2
cd libpng-1.2.41
./configure --prefix=/usr/local/libpng
make && make install
cd ..
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
cd ..
ln -s /usr/local/libpng/include/pngconf.h /usr/include
ln -s /usr/local/libpng/include/png.h /usr/include
tar -xzvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure --prefix=/usr/local/gd2 --with-freetype=/usr/local/freetype --with-png=/usr/local/libpng --with-jpeg=/usr/local/jpeg
[ $? -eq 0 ] && {
make && make install
} || {
echo "安装gd出错..........."
exit 8
}
cd ..
tar -xzvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure --prefix=/usr/local/libmcrypt
make && make install
cd ..
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib
make && make install
cd ..
ln -s /usr/local/libmcrypt/include/mcrypt.h /usr/include/
ln -s /usr/local/libmcrypt/lib/* /usr/local/lib/
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig
tar -zxvf PHP-5.6.0.tar.gz
cd PHP-5.6.0
./configure -prefix=/usr/local/PHP --with-config-file-path=/etc --with-gd --with-png-dir --with-jpeg-dir --with-freetype-dir --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --disable-pdo --with-curl --disable-rpath --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --with-mhash --enable-zip --with-pcre-regex --with-MysqL --disable-fileinfo
[ $? -eq 0 ] && {
make && make install
} || {
echo "编译失败....."
exit 8
}
cp sapi/fpm/init.d.PHP-fpm /etc/init.d/PHP-fpm
cp PHP.ini-production /etc/PHP.ini
cp /usr/local/PHP/etc/PHP-fpm.conf.default /usr/local/PHP/etc/PHP-fpm.conf
chmod 700 /etc/init.d/PHP-fpm
chkconfig --add PHP-fpm
chkconfig --level 35 PHP-fpm on