因为要解析PHP页面需要配置相应的PHP环境,而系统本身的php版本又大多不合适。网上那种一键lamp和lnmp的脚本很多,但是这样一来自己能够定制的空间则少了。所以我自己编写了个门用于安装php环境的脚本!

脚本内容:

  

#!/bin/bash

if [ $(id -u) != 0 ] ;then

echo "ERROR: you must be root to run this script"

exit 1

fi

read -p "Are you ready to installing the new PHP environment ?you can input 'y|Y' to continue or 'n|N' to exit." choice

case $choice in

[Yy])

echo "The setup program is preparing,please wait a minute........"

ping -c 4 museum.php.net &> /dev/null

if [ $? != 0 ];then

echo "Can't connected to the internet or can't resolve domain name,please check your network"

exit 2

fi

yum install epel-release -y

which wget &> /dev/null

if [ $? != 0 ];then

echo "wget not exist,please install wget before install"

exit 3

fi

while true;do

read -p "Please input which version of PHP do you want to install like x.x.x:" version

if [[ $version =~ ^[0-9]\.[0-9]\.[0-9]$ ]];then

wget museum.php.net/php${version:0:1}/php-${version}.tar.gz

if [ $? != 0 ] ;then

echo "You choose a wrong version of PHP,please input another version for install^-^!"

exit 8

fi

break

else

echo "Please input correct version of number"

fi

done

echo "Start to installing dependent environment!"

sleep 3

yum install  openssl openssl-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel pcre pcre-devel libxslt libxslt-devel bzip2 bzip2-devel gcc gcc-c++ libxml2 libxml2-devel bzip2 bzip2-devel libmcrypt libmcrypt-devel openssl openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel readline readline-devel libxslt-devel perl perl-devel psmisc.x86_64 recode recode-devel  libtidy libtidy-devel  libicu-devel -y

tar -xf php-${version}.tar.gz

cd ./php-${version}

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib -with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip  --enable-intl

make && make install

if [ $? == 0 ];then

cp php.ini-development /usr/local/php/lib/php.ini

sed -i 's/post_max_size.*/post_max_size = 16M/' /usr/local/php/lib/php.ini

sed -i 's/max_execution_time.*/max_execution_time = 300/' /usr/local/php/lib/php.ini

sed -i 's/max_input_time.*/max_input_time  = 300/' /usr/local/php/lib/php.ini

sed -i 's/;mbstring.func_overload = 0/mbstring.func_overload = 0/' /usr/local/php/lib/php.ini

sed -i 's/;always_populate_raw_post_data = -1/always_populate_raw_post_data = -1/' /usr/local/php/lib/php.ini

sed -i 's/;date.timezone.*/date.timezone = Asia\/Shanghai/' /usr/local/php/lib/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

echo "export PATH=\$PATH:/usr/local/php/bin" >> /etc/profile

echo -e "php-${version} has been successfully installed!\nif you want import the php to environmental variables......\nplease executed the command 【source /etc/profile】"

cd ..

rm -rf php-${version}*

else

cd ..

rm -rf php-${version}*

echo -e "\033[5;31mCompilation install failed!\033[0m"

fi

;;

[Nn])

echo "Install aborting!"

exit 4

;;

esac

  

 

php环境一键升级脚本的更多相关文章

  1. CentOS 升级 Python3 (附带: 一键升级脚本)

      升级环境   应用名称 版本 Python 3.5.2 Syatem CentOS 6.7         升级方法   [1]下载 Python 3: wget http://mirrors.s ...

  2. Centos 环境一键部署脚本(shell脚本)

    谨以此文纪念吊炸天的Centos环境一键部署方案的新鲜出炉 辛苦大半年,产品准备上线了,BOSS亲自体验安装部署,看着超过200+页的安装文档直接崩溃了(需要部署23个基础服务),经历了超过3个小时的 ...

  3. openssh一键升级脚本(测试成功)

    1 ssh版本检查 本文档针对于ssh版本低于7.0的系统,升级为openssh7.5 p1. ssh –V [root@kuajing-db3 ~]# ssh -V OpenSSH_5.3p1, O ...

  4. openssh一键升级脚本(只升级openssh,其它已有环境不变,解决root登录问题)

    #!/bin/bash ################################################################# ###### update openssl ...

  5. LNMP一键安装包 PHP自动升级脚本

    LNMP一键安装包 PHP自动升级脚本 2011年03月15日 上午 | 作者:VPS侦探 前一段时间完成了lnmp一键安装包的PHP自动升级脚本,今天发布出来,如果想升级PHP版本的lnmp用户可以 ...

  6. jdk1.8一键安装脚本(linux环境)

    1.下载jdk安装包和安装脚本 下载地址:https://pan.baidu.com/s/1bo6ADQ3 其中包括: jdk安装包:jdk-8u151-linux-x64.tar.gz jdk一键安 ...

  7. asp.net 版本一键升级,后台直接调用升级脚本

    应客户需求,要求实现一个版本一键升级的功能,咨询过同事之后弄了个demo出来,后台代码如下: //DBConnModelInfo:连接字符串的对象 (包含数据库实例名,数据库名,登陆名,登陆密码) p ...

  8. LNMP、LAMP、LANMP一键安装脚本(定期更新)[转]

    这个脚本是使用shell编写,为了快速在生产环境上部署LNMP/LAMP/LANMP(Linux.Nginx/Tengine.MySQL/MariaDB/Percona.PHP),适用于CentOS/ ...

  9. L2TP/IPSec一键安装脚本

    本脚本适用环境:系统支持:CentOS6+,Debian7+,Ubuntu12+内存要求:≥128M更新日期:2017 年 05 月 28 日 关于本脚本:名词解释如下L2TP(Layer 2 Tun ...

随机推荐

  1. [vue学习]快速搭建一个项目

    安装node.js 官网:https://nodejs.org/en/ 淘宝NPM镜像(npm是外网,用国内代理下载安装贼快) $ npm install -g cnpm --registry=htt ...

  2. JS高级---为内置对象添加原型方法

    为内置对象添加原型方法 我们能否为系统的对象的原型中添加方法, 相当于在改变源码   我希望字符串中有一个倒序字符串的方法 //我希望字符串中有一个倒序字符串的方法 String.prototype. ...

  3. JAXB--obj2xml&xml2obj

    参考: https://www.cnblogs.com/mumuxinfei/p/8948299.html  去掉 xsi:type="echoBody" xmlns:xsi=&q ...

  4. CTF_论剑场 名侦探柯南

    首先看一下是一个压缩包然后下载 解压后会发现一个图片和另一个压缩包 打开图片 发现是这个 用HxD分析一下这张图片通过搜索 zip jpg...... 然后会发现这张图片里有一个png 图片 所以判断 ...

  5. linux搭建常用命令

    nohup java -jar floodlight.jar >log.txt     运行jar,日志打印到log.txt中netstat -lnp|grep 88            查看 ...

  6. java 面试架构篇

    1.非功能需求会考虑哪些? 可用性.扩展性.性能: 2.有没有遇到过建了索引反而变慢的情况? 3.从哪些角度去设计系统? 4.代码中使用过的设计模式?

  7. 数据库程序接口——JDBC——功能第一篇——第一个程序

    流程图 综述 从零开始搭建JDBC环境.通过创建Java项目,在项目中,通过java程序执行SQL,并处理返回的结果.本文通过执行 select 1 from dual 语句来测试,并输出相结果集.首 ...

  8. 【Vue CLI】从安装到构建项目再到目录结构的说明

    目录 1. 构建我们的项目 2. 目录结构说明 2.1 build目录 2.2 config目录 2.3 src目录 2.4 static目录 "Vue CLI是一个基于Vue.js进行快速 ...

  9. kali Linux 2020.1最新安装教程,亲身尝试,绝对能帮你安装好!不是root、没有桌面、中文乱码、下载太慢、ssh链接等问题!

    既然已经开始研究kali Linux,小编就认为在下已经有了一定的基础.当然小编也是个小白用户.本人用的是Vmware虚拟机,这里只说一点,内存我选择的是4g因为这个包含桌面,所以稍微大一点.Linx ...

  10. yum grouplist 安装gnome桌面环境

      经常,我们如果需要安装一些比较复杂的软件时,都会在安装操作系统的时候直接勾选,然后进行安装.但是,有的时候,等操作系统安装完了才发现有遗漏的软件没有安装. 这个时候,yum就要出来救场了.使用yu ...