多版本PHP安装命令

apt-get install software-properties-common gnupg2 -y 
add-apt-repository ppa:ondrej/php 
apt-get update -y 

sudo apt-get -y install \
php8.4 php8.4-curl php8.4-gd php8.4-gmp php8.4-json php8.4-mysql php8.4-opcache php8.4-readline php8.4-sqlite3 php8.4-tidy php8.4-xml  php8.4-bcmath php8.4-bz2 php8.4-intl php8.4-mbstring  php8.4-mcrypt php8.4-soap php8.4-xsl  php8.4-zip  php8.4-fpm php8.3-dev \

sudo apt-get -y install \
php8.3 php8.3-curl php8.3-gd php8.3-gmp php8.3-json php8.3-mysql php8.3-opcache php8.3-readline php8.3-sqlite3 php8.3-tidy php8.3-xml  php8.3-bcmath php8.3-bz2 php8.3-intl php8.3-mbstring  php8.3-mcrypt php8.3-soap php8.3-xsl  php8.3-zip  php8.3-fpm php8.3-dev \

php8.2 php8.2-curl php8.2-gd php8.2-gmp php8.2-json php8.2-mysql php8.2-opcache php8.2-readline php8.2-sqlite3 php8.2-tidy php8.2-xml  php8.2-bcmath php8.2-bz2 php8.2-intl php8.2-mbstring  php8.2-mcrypt php8.2-soap php8.2-xsl  php8.2-zip  php8.2-fpm php8.2-dev \

php8.1 php8.1-curl php8.1-gd php8.1-gmp php8.1-json php8.1-mysql php8.1-opcache php8.1-readline php8.1-sqlite3 php8.1-tidy php8.1-xml  php8.1-bcmath php8.1-bz2 php8.1-intl php8.1-mbstring  php8.1-mcrypt php8.1-soap php8.1-xsl  php8.1-zip  php8.1-fpm php8.1-dev \

php8.0 php8.0-curl php8.0-gd php8.0-gmp php8.0-json php8.0-mysql php8.0-opcache php8.0-readline php8.0-sqlite3 php8.0-tidy php8.0-xml  php8.0-bcmath php8.0-bz2 php8.0-intl php8.0-mbstring  php8.0-mcrypt php8.0-soap php8.0-xsl  php8.0-zip  php8.0-fpm php8.0-dev \

php7.4 php7.4-curl php7.4-gd php7.4-gmp php7.4-json php7.4-mysql php7.4-opcache php7.4-readline php7.4-sqlite3 php7.4-tidy php7.4-xml  php7.4-bcmath php7.4-bz2 php7.4-intl php7.4-mbstring  php7.4-mcrypt php7.4-soap php7.4-xsl  php7.4-zip  php7.4-fpm php7.4-dev \

php7.3 php7.3-curl php7.3-gd php7.3-gmp php7.3-json php7.3-mysql php7.3-opcache php7.3-readline php7.3-sqlite3 php7.3-tidy php7.3-xml  php7.3-bcmath php7.3-bz2 php7.3-intl php7.3-mbstring  php7.3-mcrypt php7.3-soap php7.3-xsl  php7.3-zip  php7.3-fpm php7.3-dev \

php7.2 php7.2-curl php7.2-gd php7.2-gmp php7.2-json php7.2-mysql php7.2-opcache php7.2-readline php7.2-sqlite3 php7.2-tidy php7.2-xml  php7.2-bcmath php7.2-bz2 php7.2-intl php7.2-mbstring  php7.2-mcrypt php7.2-soap php7.2-xsl  php7.2-zip  php7.2-fpm php7.2-dev \

php7.1 php7.1-curl php7.1-gd php7.1-gmp php7.1-json php7.1-mysql php7.1-opcache php7.1-readline php7.1-sqlite3 php7.1-tidy php7.1-xml  php7.1-bcmath php7.1-bz2 php7.1-intl php7.1-mbstring  php7.1-mcrypt php7.1-soap php7.1-xsl  php7.1-zip  php7.1-fpm php7.1-dev \

php7.0 php7.0-curl php7.0-gd php7.0-gmp php7.0-json php7.0-mysql php7.0-opcache php7.0-readline php7.0-sqlite3 php7.0-tidy php7.0-xml  php7.0-bcmath php7.0-bz2 php7.0-intl php7.0-mbstring  php7.0-mcrypt php7.0-soap php7.0-xsl  php7.0-zip  php7.0-fpm php7.0-dev \

php5.6 php5.6-curl php5.6-gd php5.6-gmp php5.6-json php5.6-mysql php5.6-opcache php5.6-readline php5.6-sqlite3 php5.6-tidy php5.6-xml  php5.6-bcmath php5.6-bz2 php5.6-intl php5.6-mbstring  php5.6-mcrypt php5.6-soap php5.6-xsl  php5.6-zip  php5.6-fpm php5.6-dev \

简易切换PHP版本的脚本 cphp

vim /usr/bin/cphp

以下是 /usr/bin/cphp 脚本的内容

#!/bin/bash
sudo update-alternatives --set php /usr/bin/php$1
sudo update-alternatives --set phar /usr/bin/phar$1
sudo update-alternatives --set phpize /usr/bin/phpize$1
sudo update-alternatives --set php-config /usr/bin/php-config$1

授予执行权限

chmod a+x /usr/bin/cphp

PHP 各版本的拓展安装,以redis,rdkafka,xlswriter这3个为例

# 先切换到 8.3
cphp 8.3 
# 安装必要的系统组件
sudo apt-get install -y libssl-dev libz-dev librdkafka1 librdkafka-dev
# 使用pecl安装
pecl install redis rdkafka xlswriter
# (选一种)也可以使用以下
apt install php8.2-gd php8.2-redis php8.2-rdkafka
# 如果拓展不在php8.2-**里面安装,则只能通过pecl命令进行安装,并且需要手动修改配置文件

# 如果不是pecl 和 apt install php8.3-xxxx 安装的拓展,需要手动建立映射关系。将配置文件引到指定的里面,
ln -s /etc/php/8.3/mods-available/xlswriter.ini /etc/php/8.3/cli/conf.d/26-xlswriter.ini
# cli 模式下,不需要重启,建立软链接就立即生效

# 如果是php-fpm模式下,需要将配置文件建议软链接,再重启php8.3-fpm
ln -s /etc/php/8.3/mods-available/xlswriter.ini /etc/php/8.3/fpm/conf.d/26-xlswriter.ini
systemctl restart php8.3-fpm

# 一路敲回车,遇到错误gpt问一下,一般都是没装什么系统依赖库导致编译安装失败,
# 安装完成,提示需要增加ini文件,两个方式。一个是直接在 
# Configuration File (php.ini) Path => /etc/php/8.3/cli
# Loaded Configuration File => /etc/php/8.2/cli/php.ini
# Scan this dir for additional .ini files => /etc/php/8.2/cli/conf.d
# Additional .ini files parsed => /etc/php/8.2/cli/conf.d/10-mysqlnd.ini,
# 可以使用
php --ini
# 获得配置路径

## 增加扩展文件

### 重点,切换第二个版本安装上
cphp 8.2
pecl uninstall -r xlswriter
pecl uninstall -r redis
pecl uninstall -r rdkafka

nginx 安装

apt install -y nginx

mysql 安装

apt install -y mysql
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。