logo

Extra Block Types (EBT) - Neue Erfahrung im Layout Builder❗

Extra Block Types (EBT) - gestylte, anpassbare Blocktypen: Diashows, Registerkarten, Karten, Akkordeons und viele andere. Eingebaute Einstellungen für Hintergrund, DOM Box, Javascript Plugins. Erleben Sie die Zukunft der Layouterstellung schon heute.

Demo EBT-Module EBT-Module herunterladen

❗Extra Absatztypen (EPT) - Erfahrung mit neuen Absätzen

Extra Paragraph Types (EPT) - analoger, auf Absätzen basierender Satz von Modulen.

Demo EPT-Module EPT-Module herunterladen

Scroll

Drush zeigt Fehler: Unterstützen Sie bash, um 'source' zu unterstützen, mit Rückgriff auf $0, falls dies nicht mit bash ausgeführt wird.

04/06/2025, by Ivan

Ich habe eine große Anzahl von Konfigurationen und führe normalerweise den Config-Import mit php -d memory_limit=-1 aus (um das PHP-Speicherlimit zu deaktivieren):

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

Aber dieses Mal erhielt ich einen Fehler:
 

# Unterstützt bash, um 'source' zu ermöglichen, mit Rückgriff auf $0, falls dies nicht mit bash ausgeführt wird
# 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)/*)
            # Wir sind in Cygwin und verwenden Windows-PHP, daher muss der Pfad übersetzt werden
            dir=$(cygpath -m "$dir");
            ;;
    esac
fi

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

# Wenn bash diese Datei sourced, müssen wir auch das Ziel sourcen
bashSource="$BASH_SOURCE"
if [ -n "$bashSource" ]; then
    if [ "$bashSource" != "$0" ]; then
        source "${dir}/drush" "$@"
        return
    fi
fi

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

Sie können diesen Fehler vermeiden, wenn Sie memory_limit=-1 als php-options übergeben:

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

Warum php -d memory_limit=-1 vendor/bin/drush … jetzt fehlschlägt

Wenn Sie die Datei direkt durch php ausführen, weisen Sie den PHP-Interpreter an, ein Bash-Skript zu parsen:

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

PHP versucht dann, die erste Nicht-PHP-Zeile (# Unterstützt bash …) auszuführen, und bricht sofort ab, wobei der Quelltext des Wrappers ausgegeben wird. Genau das ist die Ausgabe, die Sie gesehen haben. Die Änderung wurde in Drush 13.3 eingeführt und im Upstream-Issue „Running drush as php script fails after updating from 13.2.0“ diskutiert.