logo

Extra Block Types (EBT) - Nueva experiencia con Layout Builder❗

Extra Block Types (EBT): tipos de bloques con estilo y personalizables: Presentaciones de diapositivas, Pestañas, Tarjetas, Acordeones y muchos más. Configuraciones integradas para fondo, DOM Box y plugins de JavaScript. Experimenta hoy el futuro de la construcción de diseños.

Módulos de demostración EBT Descargar módulos EBT

❗Extra Paragraph Types (EPT) - Nueva experiencia con Paragraphs

Extra Paragraph Types (EPT): conjunto de módulos basado en párrafos de forma análoga.

Módulos de demostración EPT Descargar módulos EPT

Scroll

Drush muestra el error: Admite bash para soportar 'source' con respaldo en $0 si esto no se ejecuta con bash

04/06/2025, by Ivan

Tengo una gran cantidad de configuraciones y normalmente ejecuto la importación de configuración con php -d memory_limit=-1 (para desactivar el límite de memoria de PHP):

php -d memory_limit=-1 ./vendor/bin/drush config-import -y

Pero esta vez obtuve un error:
 

# Soporta bash para admitir `source` con respaldo en $0 si esto no se ejecuta con bash
# https://stackoverflow.com/a/35006505/6512
selfArg="$BASH_SOURCE"
if [ -z "$selfArg" ]; then
    selfArg="$0"
fi

self=$(realpath $selfArg 2> /dev/null)
if [ -z "$self" ]; then
    self="$selfArg"
fi

dir=$(cd "${self%[/\\]*}" > /dev/null; cd ../drush/drush && pwd)

if [ -d /proc/cygdrive ]; then
    case $(which php) in
        $(readlink -n /proc/cygdrive)/*)
            # Estamos en Cygwin usando php de Windows, así que la ruta debe ser traducida
            dir=$(cygpath -m "$dir");
            ;;
    esac
fi

export COMPOSER_RUNTIME_BIN_DIR="$(cd "${self%[/\\]*}" > /dev/null; pwd)"

# Si bash está incluyendo este archivo, también debemos incluir el destino
bashSource="$BASH_SOURCE"
if [ -n "$bashSource" ]; then
    if [ "$bashSource" != "$0" ]; then
        source "${dir}/drush" "$@"
        return
    fi
fi

"${dir}/drush" "$@"

Puedes evitar este error si pasas memory_limit=-1 como opción de php:

./vendor/bin/drush --php-options='-d memory_limit=-1' config-import -y

¿Por qué php -d memory_limit=-1 vendor/bin/drush … ahora falla?

Al forzar el archivo a través de php, le indicas al intérprete de PHP que analice un script bash:

php -d memory_limit=-1 ./vendor/bin/drush status

PHP, obedientemente, intenta ejecutar la primera línea que no es PHP (# Soporta bash …) e inmediatamente falla, mostrando el código fuente del wrapper en pantalla. Exactamente ese es el resultado que has pegado. Este cambio fue introducido en Drush 13.3 y se discute en el issue upstream “Running drush as php script fails after updating from 13.2.0”