I have set up drush on a shared hosting server, but one day, it suddenly stopped working. When I type drush, there's no output (just get the command prompt back).
It turns out that the default php version on the hosting server was 5.2, and for whatever reason, it doesn't contain Phar module now (not sure if it did, or something else had changed).
The solution was to specify the php path to point 5.6, which happens to contain Phar module. To do that, set an environment variable DRUSH_PHP.
The shared hosting (Bluehost.com in this case) has multiple versions of php for command line (which is separate from the php used for web), and 5.6 worked fine this time.