63 lines
2.5 KiB
Bash
Executable File
63 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
GREEN='\033[0;32m'
|
|
RED='\033[0;31m'
|
|
BLUE='\033[0;34m'
|
|
YELLOW='\033[0;33m'
|
|
CYAN='\033[0;36m'
|
|
NC='\033[0m'
|
|
|
|
print_message() {
|
|
echo -e "${BLUE}=======================================${NC}"
|
|
echo -e "${BLUE} $1${NC}"
|
|
echo -e "${BLUE}=======================================${NC}"
|
|
}
|
|
|
|
PROJECT_DIR="/var/www/html"
|
|
|
|
print_message "Actualización de Dependencias de Composer"
|
|
|
|
[ ! -d "$PROJECT_DIR" ] && { echo -e "${RED}Error: El directorio $PROJECT_DIR no existe.${NC}"; exit 1; }
|
|
|
|
cd "$PROJECT_DIR" || { echo -e "${RED}Error: No se pudo acceder al directorio $PROJECT_DIR${NC}"; exit 1; }
|
|
|
|
[ ! -f composer.json ] && { echo -e "${RED}Error: No se encontró el archivo composer.json en $PROJECT_DIR${NC}"; exit 1; }
|
|
|
|
echo -e "\n${YELLOW}Actualizando dependencias...${NC}"
|
|
COMPOSER_OUTPUT=$(composer install --no-dev --optimize-autoloader 2>&1)
|
|
|
|
if echo "$COMPOSER_OUTPUT" | grep -q "Xdebug: \[Step Debug\] Could not connect to debugging client"; then
|
|
echo -e "\n${CYAN}Nota sobre Xdebug:${NC}"
|
|
echo -e "Se detectó un mensaje de Xdebug intentando conectarse a un cliente de depuración."
|
|
echo -e "Esto es normal si no estás depurando activamente y no afecta la actualización de dependencias."
|
|
echo -e "\nPara desactivar Xdebug temporalmente, puedes usar:"
|
|
echo -e "${YELLOW}php -dxdebug.mode=off /usr/local/bin/composer [comando]${NC}"
|
|
echo -e "\nPara desactivar Xdebug permanentemente:"
|
|
echo -e "1. Localiza tu php.ini (usa 'php --ini' para encontrarlo)"
|
|
echo -e "2. Comenta la línea que carga Xdebug añadiendo un ';' al principio"
|
|
echo -e "3. O cambia 'xdebug.mode' a 'off' en la configuración de Xdebug"
|
|
echo -e "\nPara evitar intentos de conexión automáticos, añade esta línea a tu php.ini:"
|
|
echo -e "${YELLOW}xdebug.start_with_request = trigger${NC}"
|
|
fi
|
|
|
|
echo -e "\n$COMPOSER_OUTPUT"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo -e "\n${GREEN}¡Todas las dependencias han sido actualizadas exitosamente!${NC}"
|
|
else
|
|
echo -e "\n${RED}Error: Hubo un problema al actualizar las dependencias.${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "\n${YELLOW}Verificando actualizaciones disponibles...${NC}"
|
|
OUTDATED=$(composer outdated --direct)
|
|
|
|
if [ -n "$OUTDATED" ]; then
|
|
echo -e "\n${YELLOW}Las siguientes dependencias tienen actualizaciones disponibles:${NC}"
|
|
echo "$OUTDATED"
|
|
echo -e "\n${YELLOW}Considere actualizarlas manualmente con 'composer update <package>'${NC}"
|
|
else
|
|
echo -e "\n${GREEN}Todas las dependencias están actualizadas.${NC}"
|
|
fi
|
|
|
|
print_message "Proceso Completado" |