I have tried some ways to create an alias for my local Drupal project, I'm referring to :
https://www.drupal.org/node/1401522
https://www.drupal.org/project/drush/issues/831272
https://www.drupal.org/project/drush/issues/786766
I can connect by running this command :
drush --root=C:/wamp64/www/executive-coatings --uri=http://localhost:81/executive-coatings status
Output :
Drupal version : 8.6.13
Site URI : http://localhost:81/executive-coatings
DB driver : mysql
DB hostname : localhost
DB port : 3306
DB username : root
DB name : dev_ecc_new
Database : Connected
Drupal bootstrap : Successful
Default theme : ecc_front
Admin theme : adminimal_theme
PHP binary : C:\wamp64\bin\php\php7.2.10\php.exe
PHP config : C:\wamp64\bin\php\php7.2.10\php.ini
PHP OS : WINNT
Drush script : C:\wamp64\www\executive-coatings\vendor\bin\drush.phar
Drush version : 9.6.2
Drush temp : C:\Users\k\AppData\Local\Temp
Drush configs : C:/Users/k/.drush/drush.yml
C:/wamp64/www/executive-coatings/vendor/drush/drush/drush.yml
Install profile : minimal
Drupal root : C:\wamp64\www\executive-coatings
Site path : sites/default
Files, Public : sites/default/files
Files, Temp : /tmp
But when I try to use a drush alias it doesn't work. Here my alias file :
$aliases['local'] = array(
'uri' => 'localhost:81/executive-coatings',
'root' => 'C:/wamp64/www/executive-coatings',
'path-aliases' => array(
'%dump-dir' => '/tmp',
),
);
Running drush @local status
returns [preflight] The alias @local could not be found.
I think I put my alias file in the wrong directory, can you provide the correct path ?
Basic usage In its most basic form, the Drush site alias feature provides a way for teams to share short names that refer to the live and staging sites (usually remote) for a given Drupal site. Add an alias file called $PROJECT/drush/sites/self. site. yml , where $PROJECT is the project root (location of composer.
A Drush shell alias is a shortcut to any Drush command or any shell command. Drush shell aliases are very similar to git aliases. A shell alias is defined in a Drush configuration file called drushrc.
Alias file location is not your only issue here, because you are running Drush 9.x. Here the major changes between Drush 8.x and Drush 9.x regarding aliases :
Site aliases are no longer PHP files but YAML files. Hopefully Drush 9.x comes with a command to convert your old drush 8 aliases :
drush site:alias-convert
The user alias locations used in Drush 8 (~/.drush/sites
, /etc/drush/sites
) are by default no longer parsed, but you can register any location where alias files may be placed in your ~/.drush/drush.yml
configuration file. Setting the old Drush 8 paths can be done automatically by running :
drush core:init
It writes the following to ~/.drush/drush.yml
:
drush:
paths:
alias-path:
- '${env.home}/.drush/sites'
- /etc/drush/sites
For example in your case, defining a local environment for the website executive-coatings aliased ecc may be done in the file (provided this location is registered as mentioned above) ~/.drush/sites/ecc.site.yml
.
You can also define environment aliases (eg. @dev, @preprod, etc.) for a given website at the following location (under the project root of that website, using self in the file naming) :
<DRUPAL_ROOT>/drush/sites/self.site.yml
Useful links :
- https://github.com/drush-ops/drush/blob/master/examples/example.site.yml
- https://github.com/consolidation/site-alias
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With