Drush is a command-line shell and scripting interface for Drupal. To use, you must have a shell user enabled and knowledge of the Unix shell.

Installing Drush using Composer

Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.

Follow the instructions at https://github.com/drush-ops/drush:

  1. Log into your server via SSH.
  2. View the creating and editing a file via SSH article for instructions on how to edit your existing .bash_profile. Add the following line if you’re using PHP 5.6. Change the number for a different version.
    export PATH=/usr/local/php56/bin:$PATH
  3. Close the file and return to your shell.
  4. Activate this file by running the following.
    [server]$ . ~/.bash_profile
  5. Create a phprc file. View the Adding a phprc file article for details.
  6. In this phprc file, add the following lines:
    extension = phar.so
    suhosin.executor.include.whitelist = phar
  7. Kill off all running PHP processes.
    [server]$ killall -9 php56.cgi
  8. Navigate to your your user’s directory.
    [server]$ cd ~
  9. Then run the following command:
    [server]$ curl -sS https://getcomposer.org/installer | php
    #!/usr/bin/env php
    All settings correct for using Composer
    Composer successfully installed to: /home/exampleuser/composer.phar
    Use it: php composer.phar

Installing Drush

Once you have installed Composer, run the following commands to install Drush.

  1. Run the following commands in your user’s directory:
    [server]$ composer require drush/drush
    [server]$ drush init

    If you're installing on a Shared server, you may hit your user's memory limits when installing. If so, you need to contact support and ask that your user's memory limits be lifted so you can complete the installation.

    If you get a connection timed out error, you may be affected by this issue. If you have a private server you can use the /etc/gai.conf workaround mentioned there.

  2. Run the following command to confirm drush is functioning:
    [server]$ drush topic

See also

Internal links

External links

Did this article answer your questions?

Article last updated .