My web host (Bluehost) recently switched shell access from bash to Jailshell. That simple switch has sent Drush on vacation. It has been months and the host has not been able to find a solution (or isn't looking). Below are a couple of error messages returned from drush status. The problem isn't the PHP version. The problem is Jailshell.

Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in /home2/username/.composer/vendor/drush/drush/includes/preflight.inc on line 8 user@domain.com [~/public_html/clientfolder]# drush status

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home2/username/.composer/vendor/composer/autoload_real.php on line 23

Parse error: syntax error, unexpected T_STRING in /home2/username/.composer/vendor/composer/autoload_real.php on line 23

Any assistance would be greatly appreciated. Thank you.

closed as off-topic by kiamlaluno Sep 24 '16 at 12:10

  • This question does not appear to be about Drupal within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • You wrote: "For some reason, Jailshell is forcing Drush to use PHP 5.2." Do you mean to say that only PHP 5.2 is available in Jailshell? If so, you need to use an older Drush that works with PHP 5.2. Please clarify. – hansfn Sep 22 '16 at 12:59
  • I'm voting to close this question as off-topic because it is about server settings that aren't influenced by Drupal, and which can be just changed from the hosting provider. – kiamlaluno Sep 24 '16 at 12:10

There's no assistance available, really, this is out of your hands and can only be fixed by the server admins.

Your three options are:

  1. Convince your hosting provider to upgrade the version of PHP you have available in the shell. If they tell you they don't know how to do that, go to option 3.
  2. Downgrade drush to something that works with old versions of php
  3. Change your hosting provider to one who's got their act together. Your current provider hasn't, clearly.

I am currently experiencing this same problem on some of the accounts on Bluehost that I manage for my clients. Currently, tech support at BH is unable to provide a solution. Clive suggested asking BH to upgrade PHP, but that's not the issue. Until now, you could call any version of PHP you wanted in your bash script. I had mine set up to call PHP 5.4 to run both composer and Drush. That doesn't work now, and BH currently doesn't have a solution.

Clive also suggested downgrading Drush, but that's not a solution either. I've tried that. The problem is that Bluehost replaced their normal shell interface with jailshell, a very restrictive version of shell that won't allow Drush to operate. Period. The only solution I see as being currently viable at the moment is to change hosts. We are exploring that option now.

  • Drop BlueHost, move to Pantheon or someone else ASAP. – Kevin Dec 13 '16 at 20:33

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