title: Should I enable exec(), use php safe mode or change php.ini?
body: <p>I would like to use drush on my VPS for drupal maintenance tasks. However I've disallowed exec() from php at the suggestion of the self-test results from my installed <a href="http://www.configserver.com/" rel="nofollow">firewall</a>. Drush apparently wants this privilege and I've seen three options to make this work.</p>
  
  <ol>
  <li>enable exec()</li>
  <li>use php safe mode</li>
  <li>change the account's php.ini to "disable_functions = system, exec, shell_exec, passthru"</li>
  </ol>
  
  <p>My account is the only admin on the Linux VPS and I don't plan to change that. I am new to VPS and its security concerns. Please advise on which option provides a more secure approach.</p>
  
  <p>Terminal output:</p>
  
  <pre><code>&gt;exec() has been disabled for security reasons bootstrap.inc:639      [warning]
  The following restricted PHP modes have non-empty values:                [error]
  disable_functions and magic_quotes_gpc. This configuration is
  incompatible with drush.  Please check your configuration settings in
  /usr/local/lib/php.ini or in your drush.ini file; see
  examples/example.drush.ini for details.
  exec() has been disabled for security reasons exec.inc:150             [warning]
  exec() has been disabled for security reasons exec.inc:150             [warning]
  exec() has been disabled for security reasons exec.inc:150             [warning]
  unlink(/home/site1/drush/lib/package.xml): No such file or          [warning]
  directory drush.inc:798
  The drush command 'status' could not be found.  Run `drush               [error]
  cache-clear drush` to clear the commandfile cache if you have
  installed new extensions.
  Drush needs a copy of the PEAR Console_Table library in order to         [error]
  function, and the attempt to download this file automatically failed.
  To continue you will need to download the 1.1.3 package from
  http://pear.php.net/package/Console_Table, extract it into
  /home/site1/drush/lib directory, such that Table.php exists at
  /home/site1/drush/lib/Console_Table-1.1.3/Table.php.
  </code></pre>