drush @mysite cget system.maintenance
montre:
message: '@mysite est actuellement en cours de maintenance. Nous devrions revenir bientôt. Merci pour votre patience.' langcode: en
Drupal 8 utilise des valeurs d'état pour enregistrer l'état transitoire, donc drush @mysite sget system.maintenance_mode
me donne un 1
ou un 0
.
Mais, essayez comme je peux, je ne vois pas comment définir le booléen. J'ai essayé:
$ drush @mysite sset system.maintenance.mode "TRUE" --format=boolean
$ drush @mysite sget system.maintenance_mode
0
$ drush @mysite sset system.maintenance.mode "TRUE" --format=auto
$ drush @mysite sget system.maintenance_mode
0
$ drush @mysite sset system.maintenance.mode true --format=auto
$ drush @mysite sget system.maintenance_mode
0
$ drush @mysite sset system.maintenance.mode true --format=boolean
$ drush @mysite sget system.maintenance_mode
0
Quel est le secret?
system.maintenance_mode
n'est pas un booléen, c'est un entier:
drush ev "var_dump(\Drupal::state()->get('system.maintenance_mode'));"
Résultat:
int(0)
La réponse à la question, comment utiliser drush pour mettre un site en mode maintenance:
drush sset system.maintenance_mode 1