From c980aa2904187b3794a6c5093f99501d6583c8ec Mon Sep 17 00:00:00 2001 From: sorcier Date: Thu, 12 Nov 2026 09:42:57 +0100 Subject: [PATCH] chore(update): verification et installation auto des extensions PHP requises lors des mises a jour --- scripts/update.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/scripts/update.sh b/scripts/update.sh index 5e81af5..58c8252 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -159,12 +159,20 @@ EOF_SUDO chmod 0440 /etc/sudoers.d/nexus-pbx 2>/dev/null || true fi -# 3. Vérification des dépendances Debian +# 3. Vérification des dépendances Debian & extensions PHP echo -e "${C_GRAY}[3/6] Vérification des composants et outils système...${C_RESET}" -which sqlite3 >/dev/null 2>&1 && which ffmpeg >/dev/null 2>&1 && which rsync >/dev/null 2>&1 && which sox >/dev/null 2>&1 && which sshpass >/dev/null 2>&1 && which keepalived >/dev/null 2>&1 && which arping >/dev/null 2>&1 || { - echo -e " -> Installation de paquets complémentaires..." +if ! which sqlite3 >/dev/null 2>&1 || ! which ffmpeg >/dev/null 2>&1 || ! which rsync >/dev/null 2>&1 || ! which sox >/dev/null 2>&1 || ! which sshpass >/dev/null 2>&1 || ! which keepalived >/dev/null 2>&1 || ! which arping >/dev/null 2>&1; then + echo -e " -> Installation de paquets système complémentaires..." (apt-get update -y -qq && apt-get install -y -qq --no-install-recommends sqlite3 acl ffmpeg rsync sox sshpass keepalived iputils-arping) 2>/dev/null || true -} +fi + +PHP_MODS=$(php -m 2>/dev/null || true) +if ! echo "$PHP_MODS" | grep -qi "^sqlite3$" || ! echo "$PHP_MODS" | grep -qi "^curl$" || ! echo "$PHP_MODS" | grep -qi "^xml$" || ! echo "$PHP_MODS" | grep -qi "^mbstring$" || ! echo "$PHP_MODS" | grep -qi "^zip$"; then + echo -e " -> Installation des extensions PHP manquantes..." + (apt-get update -y -qq && apt-get install -y -qq --no-install-recommends php-sqlite3 php-curl php-xml php-mbstring php-zip) 2>/dev/null || true + PHP_FPM_SVC=$(systemctl list-unit-files --type=service --no-legend 2>/dev/null | awk '/php.*-fpm\.service/ {print $1; exit}') + [ -n "$PHP_FPM_SVC" ] && systemctl restart "$PHP_FPM_SVC" >/dev/null 2>&1 || true +fi # 4. Exécution des migrations SQLite, régénération Dialplan, Nginx & Fail2ban UCP echo -e "${C_GRAY}[4/6] Exécution des migrations de base de données & régénération dialplan/web...${C_RESET}"