自动化(YUM/编译)安装PHP(5.3/5.5/7.0/7.1)脚本

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

自动化(YUM/编译)安装PHP(5.3/5.5/7.0/7.1)脚本


 PHP(外文名:PHP Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。

它可以比CGI或者Perl更快速地执行动态网页。为方便快安装部署php,可以参考一下脚本。


1.YUM安装PHP(5.3/5.5/7.0/7.1)

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
#!/bin/bash
#Date 2017/1/18
#mail xuel@51idc.com
 
[ $( id  -u) !=  "0"  ] &&  echo  "Error: You must be root to run this script"  &&  exit  1
export  PATH= /usr/local/sbin : /usr/local/bin : /sbin : /bin : /usr/sbin : /usr/bin
which   ntpdate
if  [ $? - eq  0 ]; then
     ntpdate time1.aliyun.com
else
     yum  install  ntpdate
     ntpdate time1.aliyun.com
fi
yum remove `yum list installed |  grep  php` -y
clear
if  [ -n  "`grep 'CentOS Linux release 7' /etc/redhat-release`"  ]; then
         CentOS_REL=el7
         rpm -ivh http: //repo .webtatic.com /yum/el7/epel-release .rpm
         ls  /etc/yum .repos.d /webtatic .repo
         if  [ $? - eq  0 ]; then
             sed  -i  "s/#baseurl=/baseurl=/g"  /etc/yum .repos.d /webtatic .repo
             sed  -i  "s/mirrorlist=/#mirrorlist=/g"  /etc/yum .repos.d /webtatic .repo
         fi
elif  [ -n  "`grep 'CentOS release 6' /etc/redhat-release`"  ]; then
         CentOS_REL=6
         rpm -ivh http: //repo .webtatic.com /yum/el6/latest .rpm
     if  [ $? - eq  0 ]; then
         sed  -i  "s/#baseurl=/baseurl=/g"  /etc/yum .repos.d /webtatic .repo
         sed  -i  "s/mirrorlist=/#mirrorlist=/g"  /etc/yum .repos.d /webtatic .repo
     fi
elif  [ -n  "`grep 'CentOS release 5' /etc/redhat-release`"  ]; then
         CentOS_REL=5
         rpm -ivh http: //repo .webtatic.com /yum/el5/latest .rpm
     if  [ $? - eq  0 ]; then
         sed  -i  "s/#baseurl=/baseurl=/g"  /etc/yum .repos.d /webtatic .repo
         sed  -i  "s/mirrorlist=/#mirrorlist=/g"  /etc/yum .repos.d /webtatic .repo
     fi
else
         echo  -e  "\033[31mDoes not support this OS, Please contact the author! \033[0m"
         exit  1
fi
clear
echo  "##########################################"
echo  "#                                           #"
echo  "#   Auto 编译安装 PHP5.5/5.6/7.0/7.1.    #"
echo  "#                                           #"
echo  "##########################################"
echo  "1 Install PHP-5.5"
echo  "2 Install PHP-5.6"
echo  "3 Install PHP-7.0"
echo  "4 Install PHP-7.1"
echo  "5 EXIT"
read  -p  "Please input your choice:"  I
if  "$I"  ==  "1"  ]; then
     VER= "php55w"
elif  "$I"  ==  "2"  ]; then
     VER= "php56w"
elif  "$I"  ==  "3"  ]; then
     VER= "php70w"
elif  "$I"  ==  "4"  ]; then
     VER= "php71w"
elif  "$I"  ==  "5"  ]; then
         echo  "you choce channel!"
         exit  1;
else
         echo  "input Error! Place input{1|2|3|4|5}"
         exit  0;
fi
clear
echo  -e  "\033[32m You choice install $VER.Install\033[0m"
echo  -e  "\033[32m Press any key to start install $VER... \033[0m"
read  -n 1
ls  /etc/yum .repos.d /webtatic .repo
if  [ $? - eq  0 ]; then
         yum -y  install  `yum list| grep  php71w| awk  '{printf ("%s ",$1)}' ` --skip-broken
fi
chkconfig php-fpm on
service php-fpm start  /tmp/php-install .log 2>&1
STAT=` echo  $?`
PORT=` netstat  -lntup| grep  php-fpm| wc  -l`
if  [ $STAT - eq  0 ] && [ $PORT - eq  1 ]; then
     echo  -e  "\033[32m PHP is install success! \033[0m"
else
     echo  -e  "\033[32m PHP install file.please check /tmp/php-install.log \033[0m"
fi


2.编译安装PHP(5.3/5.5/7.0/7.1)

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
#!/bin/bash
#Date 2017/1/10
#mail xuel@51idc.com
[ $( id  -u) !=  "0"  ] &&  echo  "Error: You must be root to run this script"  &&  exit  1
export  PATH= /usr/local/sbin : /usr/local/bin : /sbin : /bin : /usr/sbin : /usr/bin
clear
echo  "##########################################"
echo  "#                                           #"
echo  "#   Auto yum安装 PHP5.5/5.6/7.0/7.1      #"
echo  "#                                           #"
echo  "##########################################"
echo  "1 Install PHP-5.5.38"
echo  "2 Install PHP-5.6.29"
echo  "3 Install PHP-7.0.14"
echo  "4 Install PHP-7.1.0"
echo  "5 EXIT"
read  -p  "Please input your choice:"  I
if  "$I"  ==  "1"  ]; then
         URL= "http://cn2.php.net/distributions/php-5.5.38.tar.gz"
     VER= "php-5.5.38"
elif  "$I"  ==  "2"  ]; then
         URL= "http://cn2.php.net/distributions/php-5.6.29.tar.gz"
     VER= "php-5.6.29"
elif  "$I"  ==  "3"  ]; then
         URL= "http://cn2.php.net/distributions/php-7.0.14.tar.gz"
     VER= "php-7.0.14"
elif  "$I"  ==  "4"  ]; then
         URL= "http://cn2.php.net/distributions/php-7.1.0.tar.gz"
     VER= "php-7.1.0"
elif  "$I"  ==  "5"  ]; then
         echo  "you choce channel!"
         exit  1;
else
         echo  "input Error! Place input{1|2|3|4|5}"
         exit  0;
fi
read  -p  "Please input php install dirname:(example:/data/php)"  DIR
if  [ ! -d $DIR ]; then
         mkdir  -p $DIR
fi
if  [ $? - eq  1 ]; then
         echo  "$DIR fail! Please intput ture dirname."
         exit  1
fi
clear
echo  -e  "\033[32m You choice install $VER.Install dirname:$DIR \033[0m"
echo  -e  "\033[32m Press any key to start install $VER... \033[0m"
read  -n 1
 
which  tar  > /dev/null  2>&1
if  [ $? - eq  0 ]; then
     echo  "tar is installed" > /tmp/php-install .log
else
     yum  install  tar  -y > /dev/null  2>&1
fi
TDIR= "/tools"
yum  install  -y wget autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel  bzip2  bzip2 -devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap libXpm* gcc gcc-c++ bison git ntpdate
ntpdate ntpdate time1.aliyun.com > /dev/null  2>&1
if  [ ! -d $TDIR ]; then
         /bin/mkdir  $TDIR &&  cd  $TDIR
fi
/usr/bin/wget  -c -O $TDIR/$VER. tar .gz $URL
if  [ $? - eq  0 ]; then
         tar  -zxvf $TDIR/$VER. tar .gz -C $TDIR
else
         yum  install  tar  -y > /dev/null  2>&1
         tar  -zxvf $TDIR/$VER. tar .gz > /dev/null  2>&1
fi
cd   $TDIR/$VER
if  [ $? - eq  0 ]; then
         . /configure  --prefix=$DIR  -- exec -prefix=$DIR  --bindir=$DIR /bin  --sbindir=$DIR /sbin  --includedir=$DIR /include  --libdir=$DIR /lib/php  --mandir=$DIR /php/man   --with-config- file -path=$DIR /etc  --with-mysql-sock= /tmp/mysql .sock  --with-mhash --with-openssl --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib -- enable -zip -- enable -inline-optimization  -- enable -shared -- enable -xml -- enable -bcmath -- enable -shmop -- enable -sysvsem -- enable -mbregex -- enable -mbstring -- enable - ftp  -- enable -gd-native-ttf -- enable -pcntl -- enable -sockets --with-xmlrpc -- enable -soap --without-pear --with-gettext -- enable -session --with-curl --with-jpeg- dir  --with-freetype- dir  -- enable -opcache -- enable -fpm -- enable -fastcgi --with-fpm-user=www --with-fpm-group=www --without-gdbm
fi
make  &&  make  install  >> /tmp/php-install .log 2>&1
if  [ $? - eq  0 ]; then
         /bin/cp  $DIR /etc/php-fpm .conf.default $DIR /etc/php-fpm .conf &&  cp  $DIR /etc/php-fpm .d /www .conf.default $DIR /etc/php-fpm .d /www .conf &&  cp  -R $DIR /sbin/php-fpm  /etc/init .d /php-fpm  &&  /bin/cp  ` find   /  -name php.ini-production`  /data/php/etc/php .ini >> /tmp/php-install .log 2>&1
fi
id  www
USER=` echo  $?`
if  [ $USER - eq  1 ]; then
     useradd  -s  /sbin/nologin  www
fi
echo  "export PATH=$PATH:$DIR/bin" >> /etc/profile   &&  source  /etc/profile
/etc/init .d /php-fpm  >> /tmp/php-install .log 2>&1
STAT=` echo  $?`
PORT=` netstat  -lntup| grep  php-fpm| wc  -l`
if  [ $STAT - eq  0 ] && [ $PORT - eq  1 ]; then
         echo  -e  "\033[32m $VER is install success! \033[0m"
else
         echo  -e  "\033[32m $VER install file.please check /tmp/php-install.log \033[0m"
fi









本文转自 KaliArch 51CTO博客,原文链接:http://blog.51cto.com/kaliarch/1899117,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
24天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
123 0
|
2月前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
53 0
|
3月前
|
关系型数据库 MySQL Linux
Linux 安装 mysql【使用yum源进行安装】
这篇文章介绍了在Linux系统中使用yum源安装MySQL数据库的步骤,包括配置yum源、安装MySQL服务、启动服务以及修改root用户的默认密码。
Linux 安装 mysql【使用yum源进行安装】
|
3月前
|
Linux Shell 网络安全
Kickstart 自动化安装
Kickstart结合PXE技术实现Linux系统的自动化安装,适用于需批量部署一致版本的服务器场景,以减少重复劳动。通过搭建Kickstart+DHCP+NFS+TFTP+PXE架构,服务器可远程启动并下载安装配置。具体包括:配置TFTP服务以传输启动文件,设置PXE引导参数指向Kickstart脚本,利用DHCP分配IP地址。这种方式极大地提高了部署效率与一致性。
72 2
|
4月前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
166 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
2月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
2月前
|
Ubuntu Java iOS开发
MacOS环境-手写操作系统-19-编译自动化
MacOS环境-手写操作系统-19-编译自动化
20 0
|
3月前
|
Linux
Kickstart 自动化安装
随着业务增长,服务器需求增加且需统一Linux版本以便维护。Kickstart自动化安装平台结合PXE技术,简化安装流程,显著节省时间。Intel开发的PXE技术允许工作站通过网络下载映像并启动操作系统,整个架构包括Kickstart+DHCP+NFS+TFTP+PXE。配置涉及DHCP、TFTP安装及PXE内核模块配置,最终实现远程自动化安装Linux系统。
42 3
|
4月前
|
关系型数据库 MySQL Linux
在CentOS上使用yum安装与使用MySQL
在CentOS操作系统上使用yum包管理器安装和配置MySQL数据库的详细步骤,包括下载MySQL的yum源配置、安装MySQL服务、启动和停止服务、设置开机自启动、获取临时密码、修改root用户密码、授权用户以及处理相关问题。同时,文章还包含了一些操作的截图,帮助用户更直观地理解安装和配置过程。
1062 0
在CentOS上使用yum安装与使用MySQL
|
4月前
|
Oracle Java 关系型数据库
yum安装指定版本的openJDK
yum安装指定版本的openJDK