I'm using drush 7.x-4.5, Drupal 7.28, Apache 2.2.21, PHP 5.3.8. I have a multi-site installation, with a dozen or so sites, such as:
/path/to/drupal/sites/example1.com
/path/to/drupal/sites/example2.com
/path/to/drupal/sites/example3.com
Each of these is a symlink to some other location, which is not entirely uniform, e.g.:
example1.com -> /home/example1/drupal
...but another site might be:
example2.com -> /home/example2/www
If I run drush -r /path/to/drupal site-alias
, I get a correct list of sites:
example1.com
example2.com
example3.com
However, if I then try to do something like drush -r /path/to-drupal @sites status
, I get something unusable:
You are about to execute 'status' on all of the following targets:
#drupal
#www
...
So I can see it's just resolving the symlink and grabbing the last component of the path, then flattening that down to a set of unique last components of paths, which of course does not work at all.
I have tried filling out aliases with /etc/drush/aliases.drushrc.php
, and while the aliases work in the single-site context (e.g. with $aliases['e1'] = array('root' => '/path/to/drupal', uri => 'example1.com')
, the command drush /path/to/drupal@e1 status
). The list that the @sites
comes up with is unaffected.
Have I just set up this multi-site installation in an unusual way? It seems to otherwise be fine.
For what it's worth, I have a parallel Drupal 6 multi-site installation, and it has essentially the same problem.