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




#!/bin/bash
# 快速编译安装 PHP 8.3.3 并配置常用扩展:redis、zip、igbinary、memcached
 
# 定义 PHP 版本和源代码目录变量
PHP_VERSION="php-8.3.3"
SRC_DIR="/usr/local/src"
 
# 安装依赖库
yum install -y epel-release \
    && yum install -y \
    gcc \
    gcc-c++ \
    make \
    zlib-devel \
    openssl-devel \
    libxml2-devel \
    bzip2-devel \
    curl-devel \
    freetype-devel \
    gmp-devel \
    libmcrypt-devel \
    libpng-devel \
    libjpeg-turbo-devel \
    libzip-devel \
    recode-devel \
    libicu-devel \
    libxslt-devel \
    systemd-devel \
    pcre-devel \
    sqlite-devel \
    oniguruma-devel \
    libwebp-devel \
    libc-client-devel \
    openldap-devel
 
# 下载 PHP 源代码
cd $SRC_DIR \
    && wget "https://www.php.net/distributions/$PHP_VERSION.tar.gz" \
    && tar -zxvf "$PHP_VERSION.tar.gz" \
    && cd "$PHP_VERSION"
 
# 配置编译选项
./configure \
    --prefix=/usr/local/php8 \
    --with-curl \
    --with-freetype \
    --with-gd \
    --with-gettext \
    --with-iconv-dir \
    --with-kerberos \
    --with-libdir=lib64 \
    --with-libxml-dir \
    --with-mysqli \
    --with-openssl \
    --with-pcre-regex \
    --with-pear \
    --with-pdo-mysql \
    --with-pdo-sqlite \
    --with-pear \
    --with-png-dir \
    --with-xmlrpc \
    --with-xsl \
    --with-zlib \
    --enable-bcmath \
    --enable-fpm \
    --enable-gd-jis-conv \
    --enable-inline-optimization \
    --enable-mbregex \
    --enable-mbstring \
    --enable-opcache \
    --enable-pcntl \
    --enable-shmop \
    --enable-soap \
    --enable-sockets \
    --enable-sysvsem \
    --enable-xml \
    --enable-zip \
    --disable-debug \
    --disable-rpath \
    --disable-fileinfo
 
# 编译并安装 PHP
make -j$(nproc) && make install
 
# 配置 PHP
cp php.ini-development /usr/local/php8/lib/php.ini
cp /usr/local/php8/etc/php-fpm.conf.default /usr/local/php8/etc/php-fpm.conf
cp /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf
 
# 下载并编译安装 PHP 扩展
for extension in redis zip igbinary memcached; do
    cd $SRC_DIR \
    && git clone "https://github.com/php/$extension-ds.git" \
    && cd "$extension-ds" \
    && phpize \
    && ./configure --with-php-config=/usr/local/php8/bin/php-config \
    && make && make install
done
 
# 配置 PHP 加载扩展
extension_dir="/usr/local/php8/lib/php/extensions/no-debug-non-zts-20210902"
for extension in redis zip igbinary memcached; do
    echo "extension=$

评论已关闭

推荐阅读

Vue中使用mind-map实现在线思维导图
2024年08月04日
VUE
Web前端最全Vue实现免密登录跳转的方式_vue怎么样不登录返回首页,最强技术实现
2024年08月04日
VUE
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)
2024年08月04日
VUE
Vue-颜色选择器实现方案——>Vue-Color( 实战*1+ Demo*7)
2024年08月04日
VUE
Vue项目卡顿慢加载?这些优化技巧告诉你!_vue数据多渲染卡顿
2024年08月04日
VUE
vue中的keep-alive详解与应用场景
2024年08月04日
VUE
Vue、React实现excel导出功能(三种实现方式保姆级讲解)
2024年08月04日
vue-office/docx插件实现docx文件预览
2024年08月04日
VUE
java调用js文件的两种方法(支持V8引擎)
2024年08月04日
JavaScript:解决计算精度问题/mathjs/bignumber.js/big.js/decimal.js
2024年08月04日
两周从爬虫小白变大神 _yjs_js_security_passport
2024年08月04日
JS笔记(对象、函数、数组)
2024年08月04日
Markdown.js:强大的纯JavaScript Markdown解析器
2024年08月04日
Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。
2024年08月04日
vue 父组件怎么获取子组件里面的data数据
2024年08月04日
VUE
个人开发实现AI套壳网站快速搭建(Vue+elementUI+SpringBoot)
2024年08月04日
el-table 表格封装并改造实现单元格可编辑
2024年08月04日
none
nodejs环境下创建vue项目、SSH密钥登陆!!!
2024年08月04日
vue+quill+element-ui实现视频、图片上传及缩放保姆级教程,轻松使用富文本
2024年08月04日
【three.js】22. Imported Models导入模型
2024年08月04日