Drush does not run command, but prints the php script

We have a special server that runs php5.x and relies on drush 5.x. PHP 7.0 is installed, but the sites on the server all run PHP5, because PHP7 breaks them.

We have previously had drush 5 on it, but it didn’t work anymore for some reason. So what I did was download drush 5, and and made an alias like so:

alias drush5="/usr/bin/php5 /home/user/drush/drush5/drush"

Running drush5 does result in listing the commands, so I have done something right. But whenever I run drush5 up module_name, instead of actually running the update php script, it prints its code out. Example below.

Instead of returning with an error or actually running the script, it just prints out the code. What do I do in this case? I cannot find anything on this on neither google nor duckduckgo.

server:/var/www/site/webroot# drush5 up module_name # $Id$ # # This script is a simple wrapper that will run Drush with the most appropriate # php executable it can find. # # Solaris users: Add /usr/xpg4/bin to the head of your PATH #  # Get the absolute path of this executable SELF_DIRNAME="`dirname -- "$0"`" SELF_PATH="`cd -P -- "$SELF_DIRNAME" && pwd -P`/`basename -- "$0"`"  # Decide if we are running a Unix shell on Windows if [ `which uname` ]; then   case "`uname -a`" in     CYGWIN*)       CYGWIN=1 ;;     MINGW*)       MINGW=1 ;;   esac fi  # Resolve symlinks - this is the equivalent of "readlink -f", but also works with non-standard OS X readlink. while [ -h "$SELF_PATH" ]; do     # 1) cd to directory of the symlink     # 2) cd to the directory of where the symlink points     # 3) Get the pwd     # 4) Append the basename     DIR="`dirname -- "$SELF_PATH"`"     SYM="`readlink $SELF_PATH`"     SYM_DIRNAME="`dirname -- "$SYM"`"     SELF_PATH="`cd "$DIR" && cd "$SYM_DIRNAME" && pwd`/`basename -- "$SYM"`" done  # Build the path to drush.php. SCRIPT_PATH="`dirname "$SELF_PATH"`/drush.php" if [ -n "$CYGWIN" ] ; then   SCRIPT_PATH="`cygpath -w -a -- "$SCRIPT_PATH"`" fi  # If not exported, try to determine and export the number of columns. # We do not want to run `tput cols` if $TERM is empty or "dumb", because # if we do, tput will output an undesirable error message to stderr.  If # we redirect stderr in any way, e.g. `tput cols 2>/dev/null`, then the # error message is suppressed, but tput cols becomes confused about the # terminal and prints out the default value (80). if [ -z $COLUMNS ] && [ -n "$TERM" ] && [ "$TERM" != dumb ] && [ -n "`which tput`" ] ; then   # Note to cygwin/mingw/msys users: install the ncurses package to get tput command.   # Note to mingw/msys users: there is no precompiled ncurses package.   if COLUMNS="`tput cols`"; then     export COLUMNS   fi fi  if [ -n "$DRUSH_PHP" ] ; then   # Use the DRUSH_PHP environment variable if it is available.   php="$DRUSH_PHP" else   # On MSYSGIT, we need to use "php", not the full path to php   if [ -n "$MINGW" ] ; then     php="php"   else     # Default to using the php that we find on the PATH.     # We check for a command line (cli) version of php, and if found use that.     # Note that we need the full path to php here for Dreamhost, which behaves oddly.  See http://drupal.org/node/662926     php="`which php-cli 2>/dev/null`"      if [ ! -x "$php" ]; then       php="`which php 2>/dev/null`"     fi      if [ ! -x "$php" ]; then       echo "ERROR: can't find php."; exit 1     fi   fi fi  # Check to see if the user has provided a php.ini file or drush.ini file in any conf dir # Last found wins, so search in reverse priority order for conf_dir in "`dirname "$SELF_PATH"`" /etc/drush "$HOME/.drush" ; do   if [ ! -d "$conf_dir" ] ; then     continue   fi   # Handle paths that don't start with a drive letter on MinGW shell. Equivalent to cygpath on Cygwin.   if [ -n "$MINGW" ] ; then     conf_dir=`sh -c "cd "$conf_dir"; pwd -W"`   fi   if [ -f "$conf_dir/php.ini" ] ; then     drush_php_ini="$conf_dir/php.ini"   fi   if [ -f "$conf_dir/drush.ini" ] ; then     drush_php_override="$conf_dir/drush.ini"   fi done # If the PHP_INI environment variable is specified, then tell # php to use the php.ini file that it specifies. if [ -n "$PHP_INI" ] ; then   drush_php_ini="$PHP_INI" fi # If the DRUSH_INI environment variable is specified, then # extract all ini variable assignments from it and convert # them into php '-d' options. These will override similarly-named # options in the php.ini file if [ -n "$DRUSH_INI" ] ; then   drush_php_override="$DRUSH_INI" fi  # Add in the php file location and/or the php override variables as appropriate if [ -n "$drush_php_ini" ] ; then   php_options="--php-ini $drush_php_ini" fi if [ -n "$drush_php_override" ] ; then   php_options=`grep '^[a-z_A-Z0-9.]+ *=' $drush_php_override | sed -e 's|([^ =]*) *= *(.*)|1="2"|' -e 's| ||g' -e 's|^|-d |' | tr 'nr' '  '` fi # If the PHP_OPTIONS environment variable is specified, then # its contents will be passed to php on the command line as # additional options to use. if [ -n "$PHP_OPTIONS" ] ; then   php_options="$php_options $PHP_OPTIONS" fi  # Always disable magic_quotes_gpc and friends php_options="$php_options -d magic_quotes_gpc=Off -d magic_quotes_runtime=Off -d magic_quotes_sybase=Off"  # Pass in the path to php so that drush knows which one to use if it # re-launches itself to run subcommands.  We will also pass in the php options. # Important note: Any options added here must be removed  when Drush processes # a #! (shebang) script.  @see drush_adjust_args_if_shebang_script() exec "$php" $php_options "$SCRIPT_PATH" --php="$php" --php-options="$php_options" "$@"  
This article was republished from its original source.
Call Us: 1(800)730-2416

Pixeldust is a 20-year-old web development agency specializing in Drupal and WordPress and working with clients all over the country. With our best in class capabilities, we work with small businesses and fortune 500 companies alike. Give us a call at 1(800)730-2416 and let’s talk about your project.

FREE Drupal SEO Audit

Test your site below to see which issues need to be fixed. We will fix them and optimize your Drupal site 100% for Google and Bing. (Allow 30-60 seconds to gather data.)

Powered by

Drush does not run command, but prints the php script

On-Site Drupal SEO Master Setup

We make sure your site is 100% optimized (and stays that way) for the best SEO results.

With Pixeldust On-site (or On-page) SEO we make changes to your site’s structure and performance to make it easier for search engines to see and understand your site’s content. Search engines use algorithms to rank sites by degrees of relevance. Our on-site optimization ensures your site is configured to provide information in a way that meets Google and Bing standards for optimal indexing.

This service includes:

  • Pathauto install and configuration for SEO-friendly URLs.
  • Meta Tags install and configuration with dynamic tokens for meta titles and descriptions for all content types.
  • Install and fix all issues on the SEO checklist module.
  • Install and configure XML sitemap module and submit sitemaps.
  • Install and configure Google Analytics Module.
  • Install and configure Yoast.
  • Install and configure the Advanced Aggregation module to improve performance by minifying and merging CSS and JS.
  • Install and configure Schema.org Metatag.
  • Configure robots.txt.
  • Google Search Console setup snd configuration.
  • Find & Fix H1 tags.
  • Find and fix duplicate/missing meta descriptions.
  • Find and fix duplicate title tags.
  • Improve title, meta tags, and site descriptions.
  • Optimize images for better search engine optimization. Automate where possible.
  • Find and fix the missing alt and title tag for all images. Automate where possible.
  • The project takes 1 week to complete.