I several folders containing symlinks to my drupal sites. I'd like to use this folder structure to create an alias so I can run commands on each group of sites.
I'm trying to do what "drush @sites status" will do, but on a smaller subset.
I wrote the following based on the docs
// List the instances from the OU instances folder
$full_path = "/opt/drupal/sites/instances";
if ($handle = opendir("$full_path")) {
while (false !== ($file = readdir($handle))) {
if(is_dir($full_path."/".$file)) {
if ($file != '.' && $file != '..')
$instances[] = $file;
}
}
}
// Turn them into aliases so we just have to type @instance
foreach ($instances as $instance) {
$site_list = [];
// Look at each instance
$site_paths = $full_path . "/" . $instance;
if ($file_handle = opendir("$site_paths")) {
// List out the folders in this instance
while (false !== ($site_folder = readdir($file_handle))) {
if(is_dir($site_paths."/".$site_folder)) {
// If the folder represents a drupal site
if ($site_folder != '.' && $site_folder != '..')
// Add it to this instances list
$site_list[] = '@' . $site_folder;
}
}
}
$aliases[$instance] = array(
'site-list' => $site_list,
);
}
print_r($aliases);
The cheeky print_r on the end shows my array as
[partnership] => Array
(
[site-list] => Array
(
[0] => @www.1.co.uk
[1] => @www.2.org
[2] => @www.3.org.uk
[3] => @www.4.org
[4] => @www.5.eu
[5] => @www.6.net
[6] => @www.7.com
[7] => @www.8-ri-2020.eu
[8] => @www.9.edu
[9] => @www.10.ac.uk
[10] => @www.11.org
[11] => @www.12.ac.uk
[12] => @www.13.co.uk
[13] => @www.14.org.uk
[14] => @www.15.ac.uk
)
)
I've changed the names to protect the innocent, but they are valid aliases.
When I run "drush @partnership status" I get
drush @partnership status
You are about to execute 'status' non-interactively (--yes forced) on all of the following targets:
Continue? (y/n): y
Invalid argument supplied for foreach() backend.inc:661
How do I get drush to actually run through this alias list telling me the status of each site?
@7.14 @7.15 @7.16 @7.19 @7.21 @7.31 @corporate @dev @partnership @www.1.co.uk @www.2.org @www.3.org.uk @www.4.org
etc... More stuff appears than there are characters in the comments.