From 61ba61457b469243b383c02b8b6a2b1760180574 Mon Sep 17 00:00:00 2001 From: Ronan Lenouvel Date: Fri, 2 Oct 2026 09:47:07 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(deploy):=20invoque=20compose?= =?UTF-8?q?r=20via=20PHP=20CLI=20explicite=20dans=20deploy-nightly.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sous le PATH minimal du cron cPanel, le shebang `#!/usr/bin/env php` de composer résolvait vers le PHP CGI (/usr/bin/php) plutôt que le CLI (/usr/local/bin/php) — composer install "réussissait" en apparence mais laissait vendor/ incomplet, cassant cache:clear juste après (6 instances en échec la nuit du 2026-10-02, symfony/monolog-bundle absent du vendor malgré composer.lock à jour). --- bin/deploy-nightly.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/bin/deploy-nightly.sh b/bin/deploy-nightly.sh index ce2b0aa6..5a1a3fbc 100755 --- a/bin/deploy-nightly.sh +++ b/bin/deploy-nightly.sh @@ -28,7 +28,17 @@ REPORT_FILE="${3:?chemin_rapport manquant}" # isolé dans son propre process SSH (vécu 2026-09-27) — la valeur par défaut # est trop juste pour la compilation du container Symfony en prod. PHP_BIN="${DEPLOY_NIGHTLY_PHP_BIN:-/usr/local/bin/php} -d memory_limit=512M" -COMPOSER_BIN="${DEPLOY_NIGHTLY_COMPOSER_BIN:-/usr/local/bin/composer}" +# composer est un script `#!/usr/bin/env php` — sous le PATH minimal du cron, +# `env` résout "php" vers /usr/bin/php (CGI, le premier dans ce PATH), pas +# vers le CLI de $PHP_BIN. Invoquer composer.phar explicitement via $PHP_BIN +# court-circuite ce shebang, plutôt que de compter sur la résolution de env +# (piège distinct de celui déjà documenté plus haut sur composer/php absents +# du PATH — ici ils sont présents, mais le MAUVAIS binaire est résolu). +# Constaté en conditions réelles le 2026-10-02 : composer "réussit" en +# apparence (exit 0) mais vendor/ reste incomplet (symfony/monolog-bundle +# absent malgré composer.lock à jour), cache:clear échoue ensuite avec +# ClassNotFoundError. +COMPOSER_BIN="${DEPLOY_NIGHTLY_PHP_BIN:-/usr/local/bin/php} ${DEPLOY_NIGHTLY_COMPOSER_PHAR:-/usr/local/bin/composer}" cd "$INSTANCE_PATH" || exit 1 mkdir -p var/log