Was ist der Befehl, der 'drush variable-set' ersetzt?
14
In Drupal 8 drush variable-setfunktioniert der Drush-Befehl nicht mehr.
Aus der Lektüre ( hier ) geht hervor, dass Drupal 8 ein neues "Konfigurations" -System hat, das die alten (Drupal <= 7) "Variablen" ersetzt. Aber was ist der neue Drush-Befehl, um die gleichen Ziele zu erreichen?
Nach weiteren Recherchen scheint der neue Befehl zu lauten:
drush config-set <config-name> <key>(wo das alte Format war drush variable-set <name> <value>). Alias: cset.
Also habe ich nicht ganz sicher bin , dass ich dieses Recht habe (so Kommentar und / oder eine andere Antwort von jemandem, der groß macht wäre ...), aber es scheint , dass die Config , die E - Mails enthält , ist: contact.form.feedback recipients, update.settings notification.emailsund system.site mail.
Dieses Update ist das Ergebnis einiger guter Diskussionen (siehe unten). Beachten Sie, dass es sich bei einigen Einstellungen um Arrays handelt (und nicht um Zeichenfolgen):
www/drupal8# drush config-get update.settings notification'update.settings:notification':
emails:- admin@example.com
threshold: all
Um dies zu aktualisieren, müssen Sie Folgendes ausführen:
Es gibt auch drush cedit, mit dem Sie die Datei in einem Editor bearbeiten können. Ich vermute, Sie benötigen notification.emails.0 oder so, um es auf eine Liste zu setzen, nicht sicher.
Berdir
Das geänderte Format kann dazu führen, dass Ihre Benachrichtigungen fehlschlagen. Im ursprünglichen Fall emailhandelt es sich um ein Array mit [email protected](dh mehreren E-Mail-Adressen), in Ihrem Ergebnis haben Sie sich jedoch emailin eine Zeichenfolge mit [email protected](dh einer einzelnen E-Mail-Adresse) verwandelt .
Alma
@Alma - Danke für die Köpfe hoch. Wie stelle ich sicher, dass es als Array eingegeben wird?
Jeremy Davis
1
Ja. Berdir's Lösung funktioniert. Also machst du "drush config-set update.settings notification.emails.0 [email protected]". Habe es jetzt selbst getestet.
Alma
1
A drush config-listdruckt alle möglichen Konfigurationskategorien aus, die Sie analysieren können. Für den Fall, dass Sie alle finden müssen.
Eric Steinborn
5
Zusätzliches Follow-up,
So finden Sie die Bezeichner für die abzurufende oder einzustellende Konfiguration:
Sie können die Maschinennamen von Variablen NICHT MEHR erraten, indem Sie die Systemeinstellungsformulare überprüfen. Früher gab es eine 1: 1: 1-Übereinstimmung zwischen dem Formularelement, das auf vielen Konfigurationsbildschirmen angezeigt wurde, und dem Element, in das $config['varname']Sie $settings.phpvset / vget einfügen konnten
Der Konfigurationsmanager in der Benutzeroberfläche (zu finden unter admin/config/development/configuration/single) bietet so etwas wie einen variablen Browser.
Ich wollte mein aktualisieren local.settings.php, um die CSS- und JS-Aggregation beim Downsynchronisieren immer zu deaktivieren.
(Und beachten Sie, dass diese Art der Überschreibung NICHT in Ihrer Admin-Benutzeroberfläche oder in drush config-get... angezeigt wird, obwohl sie wirksam wird.)
email
handelt es sich um ein Array mit[email protected]
(dh mehreren E-Mail-Adressen), in Ihrem Ergebnis haben Sie sich jedochemail
in eine Zeichenfolge mit[email protected]
(dh einer einzelnen E-Mail-Adresse) verwandelt .drush config-list
druckt alle möglichen Konfigurationskategorien aus, die Sie analysieren können. Für den Fall, dass Sie alle finden müssen.Zusätzliches Follow-up,
So finden Sie die Bezeichner für die abzurufende oder einzustellende Konfiguration:
$config['varname']
Sie$settings.php
vset / vget einfügen konntenadmin/config/development/configuration/single
) bietet so etwas wie einen variablen Browser.Ich wollte mein aktualisieren
local.settings.php
, um die CSS- und JS-Aggregation beim Downsynchronisieren immer zu deaktivieren.D7:
D8:
(Und beachten Sie, dass diese Art der Überschreibung NICHT in Ihrer Admin-Benutzeroberfläche oder in
drush config-get
... angezeigt wird, obwohl sie wirksam wird.)quelle
drush -y config-set system.performance css.preprocess 0
&&drush -y config-set system.performance js.preprocess 0
Das hat bei mir funktioniert. Es ist ein Drush PHP EVAL Befehl.
Hier wird der Status von MY_VARIABLE festgelegt
Sie können auch erhalten den Zustand einer Variablen:
quelle