drush
drush copied to clipboard
Execute drush with symlinked root results in recursive loop
When executing drush with a symlinked root, results in a recursive loop:
Command to reproduce:
drush @subsite -r /[symlinked_directory]/htdocs status --debug
Output:
Drush Launcher Version: 0.7.2 ROOT: /[symlinked_directory]/htdocs/web/sites/pbleiner DRUSH VERSION: 10 DRUPAL ROOT: /[symlinked_directory]/htdocs/web COMPOSER ROOT: /[symlinked_directory]/htdocs VENDOR ROOT: /[symlinked_directory]/htdocs/vendor [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'. [preflight] Redispatch to site-local Drush: '/[symlinked_directory]/htdocs/vendor/drush/drush/drush'.
I'm a little hesitant to change this - not sure about repercussions. Can you work around the issue by explicitly passing the non-symlinked path as --root?
I'd like to leave it here for folks to use as a patch if they need it.
The plan is to leave this as is in Drush 11 and remove this code path in Drush 12. Drush will no longer function as a global launcher. This should avoid the situation mentioned here,
Unclear if this is still an issue after #5521