Closed (fixed)
Project:
Drush
Version:
7.x-5.9
Component:
Miscellaneous
Priority:
Normal
Category:
Support request
Assigned:
Reporter:
Created:
7 Aug 2013 at 04:38 UTC
Updated:
27 Aug 2013 at 22:11 UTC
When installing Drush via PEAR, drush.php is not executable:
/usr/share/php/drush# ls -la drush.php
-rw-r--r-- 1 root root 6175 Aug 7 04:27 drush.php
Since DRUSH_COMMAND (via drush_find_drush()) always returns the path to drush.php, any use of that constant will break.
Comments
Comment #1
moshe weitzman commentedIs is supposed to be? The supported entry point for Drush is the drush bash script
Comment #2
ergonlogicWell, there's this (admittedly old) issue: #586466: Drush.php is no longer directly executable (can interfere with backend invoke). But, that's what I had figured initially, except that DRUSH_COMMAND seems to always be set to drush.php:
Also, Here's how this breaks Aegir: #2050881: drush.php: Permission denied creating crontab. I'm suggesting that our crontab entry call something like: '/usr/bin/env php DRUSH_COMMAND'.
So, here are the options that I see:
Comment #3
moshe weitzman commentedComment #4
greg.1.anderson commentedDrush prepends php before DRUSH_COMMAND wherever it uses it, which currently is only inside the function
drush_build_drush_command(). It seems to me that Aegir should just call this function; don't pass any parameters for a local call, and pass NULL for $drush_path and $php if specifying $os and $remote_command = TRUE, and you'll get back the correct string to use in your exec call.Comment #5
ergonlogicOkay, thanks for clarifying.