I recently ran into an issue where
drush vset
was not setting a string variable (in this case, a time period that would be used in
strtotime()
) correctly:
# Didn't work:
$ drush vset custom_past_time '-1 day'
Unknown options: --0, --w, --e, --k. See `drush help variable-set` [error]
for available options. To suppress this error, add the option
--strict=0.
Using the
--strict=0
option resulted in the variable being set to a value of
"1"
.
After scratching my head a bit, trying different ways of escaping the string value, using single and double quotes, etc., I finally realized I could just use
variable_set()
with drush's
php-eval
command (shortcut
ev
):
# Success!
$ drush ev "variable_set('custom_past_time', '-1 day');"
$ drush vget custom_past_time
custom_past_time: '-1 day'
This worked perfectly and allowed me to go make sure my time was successfully set to one day in the past.