I'm trying to get Drush up and running on my webserver via SSH. I'm new to working with SSH so hopefully someone can help me work this out. When checking Drush's status it mentions that the disable_functions are not empty.

So I copied the webservers php.ini to the .drush file but it still uses the php.ini from the webserver and not from my .drush folder.

I tried finding a solution online but can't get this to work. A couple of thigs I tried are:

  • Using a drush.ini file. If I add this I is found by drush and shown in my drush status. But it doesn't solve the disable_functions problem. It also shows the webserver php.ini file. So it's the php.ini first and then the drush.ini.

  • I added export PHP_INI="/path/to/.drush/php.ini" to my .bashrc file and when I run echo PHP_INI it shows the right path but it doesn't solve my problem. I also did the source ~/.bashrc to reload the .bashrc. But this didn't help.

This is the complete drush status:

The following restricted PHP modes have non-empty values:            [error]
disable_functions. This configuration is incompatible with drush. 
Please check your configuration settings in
/opt/alt/php56/etc/php.ini or in your drush.ini file; see
examples/example.drush.ini for details.
exec() has been disabled for security reasons preflight.inc:380      [warning]
exec() has been disabled for security reasons preflight.inc:425        [warning]
exec() has been disabled for security reasons preflight.inc:380        [warning]
exec() has been disabled for security reasons preflight.inc:380        [warning]
 PHP configuration      :  /opt/alt/php56/etc/php.ini 
 PHP OS                 :  Linux                      
 Drush script           :  /home/bin/drush 
 Drush version          :  8.0.3                      
 Drush temp directory   :  /tmp                       
 Drush configuration    :                             
 Drush alias files      :              

Hopefully someone can help me getting this Drush installation to work. Thanks in advance.


1 Answer 1


Looks like you are using the Drush Phar, which does not support php.ini selection. You must either:

  1. Configure your webserver php-cli php.ini correctly (may not be an option if /opt/alt/php56/etc/php.ini is not writable)

    • or -
  2. Install Drush via Composer per the installation instructions

  • Thanks! I didn't try the Composer option because my host told me it wasn't possible. But your answer made me try it any ways and it worked! Drush runs perfectly without error. I'm only coping with a "Command pm-enable needs a higher bootstrap level to run - you will need to invoke drush from a more functional Drupal environment to run this command." problem. So time to figure this new problem out.
    – Joost
    Mar 3, 2016 at 9:23
  • You just need to be sure that (a) you are correctly identifying your Drupal site to Drush (e.g. via correct 'root' and 'uri' parameters in your site alias), and the user that Drush is running as has permission to access the database credentials specified in your settings.php file. There is quite a bit of discussion on those topics here; you should do fine. Mar 3, 2016 at 17:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.