一个shell脚本在ubuntu方便的切换不同版本php

话不多说直接上脚本:

#!/bin/bash

# 检查是否以 root 权限运行
if [[ $EUID -ne 0 ]]; then
    echo "请以 root 权限运行此脚本!"
    exit 1
fi

# 检查是否提供 PHP 版本作为参数
if [ -z "$1" ]; then
    echo "用法: $0 <PHP版本号>"
    echo "示例: $0 8.1"
    exit 1
fi

PHP_VERSION=$1

# 检查 PHP 版本是否已安装
if ! command -v php$PHP_VERSION >/dev/null 2>&1; then
    echo "PHP $PHP_VERSION 未安装,请先安装!"
    exit 1
fi

echo "切换到 PHP $PHP_VERSION..."

# 更新 CLI 默认 PHP 版本
update-alternatives --set php /usr/bin/php$PHP_VERSION
update-alternatives --set phar /usr/bin/phar$PHP_VERSION
update-alternatives --set phar.phar /usr/bin/phar.phar$PHP_VERSION
update-alternatives --set phpize /usr/bin/phpize$PHP_VERSION
update-alternatives --set php-config /usr/bin/php-config$PHP_VERSION

# 检查是否安装了 Apache 并重启服务
if systemctl is-active --quiet apache2; then
    echo "检测到 Apache,更新 Apache PHP 配置..."
    a2dismod php*
    a2enmod php$PHP_VERSION
    systemctl restart apache2
fi

# 检查是否安装了 FPM 并重启服务
if systemctl is-active --quiet php$PHP_VERSION-fpm; then
    echo "重启 PHP $PHP_VERSION-FPM 服务..."
    systemctl restart php$PHP_VERSION-fpm
fi

echo "PHP 已成功切换到版本 $PHP_VERSION。"
php -v

评论

  1. 4 月前
    2024-12-31 12:03:24

    I was recommended this website by my cousin I am not sure whether this post is written by him as nobody else know such detailed about my trouble You are amazing Thanks

本文评论已关闭
上一篇
下一篇