CentOS 自动安装PHP8的脚本

7 篇文章 0 订阅
5 篇文章 0 订阅

对于PHP开发或DevOP人来说,在Linux系统下安装PHP环境是必备基本技能。能做一些简单配置之后有个脚本自动安装PHP就能节省不少时间。该脚本我自己写的,可能不具备通用性哦。

话不多说,直接上代码。

#!/bin/bash
#------------------------------
#-----Function Update Ningx and PHP for CentOS8.*.
#Author:Mickeywaugh@qq.com
#------------------------------

[ -n "$1" ] && PHP_VER="$1"

[ -z "$1" ] && PHP_VER="8.0.2"

PHP_SRC="https://www.php.net/distributions/php-${PHP_VER}.tar.gz"

PHP_CFG="--prefix=/usr/local/php --disable-debug --disable-rpath  --disable-mbregex --enable-fpm --enable-shared --enable-soap --enable-phar --enable-calendar --enable-dom --enable-exif --enable-fileinfo --enable-filter --enable-ftp --enable-gd --enable-bcmath  --enable-mbstring --enable-pdo --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-mysqlnd --enable-mysqlnd-compression-support --enable-opcache --enable-pcntl --with-curl --with-cdb --with-openssl --with-mhash --with-sqlite3 --with-zlib --with-iconv --with-gettext --with-freetype --with-jpeg --with-gmp --with-pdo-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-sqlite --with-readline --with-xsl --with-pear --with-mysql-sock=/var/run/mysql/mysql.sock --with-config-file-path=/usr/local/php/etc --without-gdbm "

DOWNLOAD_DIR="/home/tools"

LOG_FILE="${DOWNLOAD_DIR}/installphp.log"

PHP_EXT_DIR=${DOWNLOAD_DIR}"/php-extensions"

PHP_EXT_LIST=("redis-5.3.2" "pdo_sqlsrv-5.8.1" "mongodb-1.9.0" );

PHP_EXT_DownloadPath="http://pecl.php.net/get/"

MAKE_INSTALL="make && make install"

#Downloading install package

echo $(date +"%Y-%m-%d %H:%M:%S") ": 准备安装环境;" >${LOG_FILE}

cd ${DOWNLOAD_DIR}

#如果源文件不存在则下载

if [ ! -f "php-${PHP_VER}.tar.gz" ]; then

    echo $(date +"%Y-%m-%d %H:%M:%S") ":开始下载PHP源文件;" >>${LOG_FILE}

    wget -c $PHP_SRC

fi

#如果源文件存在,

if [ -f "php-${PHP_VER}.tar.gz" ]; then

    #则检测是否已解压

    if [ ! -d "php-${PHP_VER}" ]; then

        tar -zxvf php-${PHP_VER}.tar.gz

    fi

fi


cd php-${PHP_VER}

if [ -f "main/php_config.h" ];then

    make clean

fi

./configure ${PHP_CFG}

if [ $? -eq 0 ]; then

    echo $(date +"%Y-%m-%d %H:%M:%S") ":开始安装PHP;" >>${LOG_FILE}

    make && make install

    if [ $? -eq 0 ]; then

        echo $(date +"%Y-%m-%d %H:%M:%S")":PHP ${PHP_VER} 安装完成" >>${LOG_FILE}

    else

        echo $(date +"%Y-%m-%d %H:%M:%S")":PHP ${PHP_VER} 安装失败.原因>" 2>>${LOG_FILE}

    fi

else

    echo $(date +"%Y-%m-%d %H:%M:%S") ":安装出错。出错信息为:"  2>>${LOG_FILE}

    exit 1

fi

echo $(date +"%Y-%m-%d %H:%M:%S")":开始安装扩展">>${LOG_FILE}

#创建扩展下载目录

[ ! -d ${PHP_EXT_DIR} ] && mkdir -p ${PHP_EXT_DIR}

cd ${PHP_EXT_DIR}



if [ $? -eq 0 ];then

    for PHP_EXT in ${PHP_EXT_LIST[*]};do

        if [ ! -f "${PHP_EXT}.tgz" ]; then

            echo $(date +"%Y-%m-%d %H:%M:%S")":开始下载扩展${PHP_EXT}" >>${LOG_FILE}

            wget -c ${PHP_EXT_DownloadPath}${PHP_EXT}.tgz

        fi

        tar -zxvf ${PHP_EXT}.tgz

        cd ${PHP_EXT_DIR}"/"${PHP_EXT}

        make clean

        /usr/local/php/bin/phpize

        ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install

        if [ $? -eq 0 ]; then

            echo $(date +"%Y-%m-%d %H:%M:%S")":${PHP_EXT} 安装完成" >>${LOG_FILE}

        else

            echo $(date +"%Y-%m-%d %H:%M:%S")":${PHP_EXT} 安装失败,原因>" 2>>${LOG_FILE}

        fi

    done
else
    echo $(date +"%Y-%m-%d %H:%M:%S")": PHP扩展安装条件不具备。" >>${LOG_FILE}
    echo "PHP扩展安装条件不具备。 "
fi

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值