Linux shell脚本快速源码编译安装php-8.3.3以及扩展redis、zip、igbinary、memcached等



问题描述

`
经常遇到编译安装php或扩展的安装,虽然打了镜像,但也会有升级php的需求,或安装扩展,所以就记录整理了 php安装脚本,以及常用扩展的安装,以此来简化自己的工作。

shell脚本编译安装 php及多个扩展

脚本中大多数php扩展下载地址:http://pecl.php.net,点击Search Packages进行搜索
脚本在 rocky linux 9.3系统机器上装的,也已经用于生产环境,之前写过手动一步步安装,这次整理成 shell脚本,并增加了很多扩展安装

1.shell脚本

#!/bin/bash
#auth:zhpengfei
#date:2024-03-28

# 全局变量
PROJECT_HOME="/usr/local/data"
VERSION="php-8.3.3"
PHP_HOME="$PROJECT_HOME/$VERSION"
PHP_CONFIG="$PHP_HOME/etc"
SOFT_HOME="$PROJECT_HOME/soft"
PHP_PKG="$SOFT_HOME/$VERSION"
PHP_URL="http://cn2.php.net/distributions/$VERSION.tar.gz"
USER="www"
GROUP="www"


# 准备环境
prepare_environment() {
   
    useradd $USER -d /usr/local/data/www -s /sbin/nologin
        mkdir -p "$SOFT_HOME"
}
prepare_environment
# 定义函数来检查命令执行结果
check_command_result() {
   
 if [ $? -ne 0 ]; then
            echo "Error: $1 failed"
            exit 1
 fi
}

# 下载并安装 PHP
install_php() {
   
        cd "$SOFT_HOME"
 # 下载 PHP
        wget -nc "$PHP_URL"
        tar zxf "${VERSION}.tar.gz"
 # 安装依赖
        install_dependencies
 # 编译安装 PHP
        compile_install_php
 # 修改 PHP 配置文件
        configure_php
}

# 安装 PHP 依赖
install_dependencies() {
   
        echo "Installing dependencies..."
        yum install -y wget gcc gcc-c++ autoconf automake libtool make libxml2 libxml2-devel openssl openssl-devel sqlite-devel libpng libpng-devel libpsl libpsl-devel libicu-devel libcurl-devel gmp-devel --enablerepo=devel oniguruma-devel net-snmp-devel epel-release openldap openldap-devel
        cp -frp /usr/lib64/libldap* /usr/lib/
}

# 编译安装 PHP
compile_install_php() {
   
        echo "Compiling and installing PHP..."
        cd "${SOFT_HOME}/${VERSION}"
        ./configure --prefix=$PHP_HOME \
        --with-config-file-path=$PHP_CONFIG \
        --enable-fpm \
        --with-fpm-user=$USER \
        --with-fpm-group=$GROUP \
        --enable-mysqlnd \
        --with-mysqli=mysqlnd \
        --with-pdo-mysql=mysqlnd \
        --enable-mysqlnd-compression-support \
        --with-zlib \
        --enable-xml \
        --disable-rpath \
        --enable-bcmath \
        --enable-shmop \
        --enable-sysvsem \
        --enable-mbregex \
        --enable-mbstring \
        --enable-intl \
        --enable-ftp \
        --enable-gd-jis-conv \
        --with-openssl \
        --with-mhash \
        --enable-pcntl \
        --enable-sockets \
        --enable-soap \
        --with-gettext \
        --enable-fileinfo \
        --enable-opcache \
        --with-pear \
        --with-ldap=shared \
        --without-gdbm \
        --with-curl \
        --enable-ctype

 # 检查 configure 是否成功
        check_command_result "Configure"
        make -j 4
 # 检查 make 是否成功
        check_command_result "Make"
        make install
 # 检查 make 是否成功
        check_command_result "Make install"
        ln 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

It 之魂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值