web-dev-qa-db-fra.com

Utilisez drush pour mettre un site en mode maintenance

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?

10
iainH

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
23
4k4