I have encountered an issue with Drush, which doesn't show many commands that should be present. When I run a command with the --debug
flag, I see the following error message.
[Symfony\Component\Console\Exception\CommandNotFoundException] Command rq was not found. Drush was unable to query the database. As a result, many commands are unavailable. Re-run your command with
--debug
to see relevant log messages.
When I run drush sql:connect
, it shows all the correct database information for the site.
I tried Drush 9.7.2, as well as Drush 10.2.2. Both versions return the same error, whenever I install Drush locally to the site, or globally.
I am trying the commands on Drupal 8.8.5, which runs on PHP 7.1.33, on macOS 10.14.6.
To add to the above, the site itself works fine. And again, these commands above show all the correct information, so it is clearly SEEING the database. This is a local (development) build, on my local machine, under MAMP 5.7.
Furthermore, when I run drush site install -vvv
, I get the following error.
[preflight] Config paths: /Users/[machine name]/vendor/drush/drush/drush.yml
[preflight] Alias paths:
[preflight] Commandfile search paths: /Users/[machine name]/vendor/drush/drush/src
[debug] Bootstrap further to find site
[debug] Trying to bootstrap as far as we can
[debug] Done with bootstrap max in Application::bootstrapAndFind(): trying to find site again.In Application.php line 230:
[Symfony\Component\Console\Exception\CommandNotFoundException] Command site was not found. Pass --root or a @siteAlias in order to run Drupal-specific commands.
Exception trace:
at /Users/[machine name]/vendor/drush/drush/src/Application.php:230 Drush\Application->bootstrapAndFind() at /Users/[machine name]/vendor/drush/drush/src/Application.php:192
Drush\Application->find() at /Users/[machine name]/vendor/symfony/console/Application.php:235
Symfony\Component\Console\Application->doRun() at /Users/[machine name]/vendor/symfony/console/Application.php:147
Symfony\Component\Console\Application->run() at /Users/[machine name]/vendor/drush/drush/src/Runtime/Runtime.php:118
Drush\Runtime\Runtime->doRun() at /Users/[machine name]/vendor/drush/drush/src/Runtime/Runtime.php:49
Drush\Runtime\Runtime->run() at /Users/[machine name]/vendor/drush/drush/drush.php:72
require() at /Users/[machine name]/vendor/drush/drush/drush:4
It seems to say it can't find the site, which is understandable, as I am running the command to install a site.
Something is clearly wrong. I'm hoping someone can help me sort this out.
The output of drush list
is the following.
Drush Commandline Tool 10.2.2
Run
drush help [command]
to view command-specific help. Rundrush topic
to read even more documentation.Available commands: _global:browse Display a link to a given path or open link in a browser.
drupal:directory Return the filesystem path for moddules/themes and other key folders.
entity:updates Apply pending entity schema updates.
generate Generate boilerplate code for modules/plugins/services etc.
help Display usage details for a command.
list List available commands.
pm:security Check Drupal Composer packages for pending security updates.
runserver Runs PHP's built-in http server for development.
updatedb Apply any database updates required (as with running update.php).
updatedb:status List any pending database updates.
user:login Display a one time login link for user ID 1, or another user.
version Show Drush version.
cache:clear Clear a specific cache, or all Drupal caches.
cache:get Fetch a cached object and display it. > cache:rebuild Rebuild a Drupal 8 site.
cache:set Cache an object expressed in JSON or var_export() format.
cache:tags Invalidate by cache tags.
config:import Import config from a config directory. > config:pull Export and transfer config from one environment to another.
core:edit Edit drushrc, site alias, and Drupal settings.php files.
core:init Enrich the bash startup file with bash aliases and a smart command prompt.
core:rsync Rsync Drupal code or files to/from another server using ssh.
core:status An overview of the environment - Drush and Drupal.
core:topic Read detailed documentation on a given topic.
php:eval Evaluate arbitrary php code after bootstrapping Drupal (if available).
php:script Run php a script after a full Drupal bootstrap.
site:alias Show site alias details, or a list of available site aliases.
site:alias-convert Convert legacy site alias files to the new yml format.
site:install Install Drupal along with modules/themes/configuration/profile.
site:set Set a site alias that will persist for the current session.
site:ssh Connect to a Drupal site's server via SSH, and optionally run a shell command.
sql:cli Open a SQL command-line interface using Drupal's credentials.
sql:connect A string for connecting to the DB.
sql:create Create a database.
sql:drop Drop all tables in a given database.
sql:dump Exports the Drupal DB as SQL using mysqldump or equivalent.
sql:query Execute a query against a database.
sql:sync Copy DB data from a source site to a target site.
There are commands missing from the list. It appears that Drush is not connecting to the database, which is weird, because it clearly sees the database, it's clearly aware of the necessary credentials to make the connection, and Drupal itself is connecting. The commands that show up on the DRUSH LIST seem to work fine, for example drush pm:security
.
[warning] One or more of your dependencies has an outstanding security update.
[notice] Try running: composer require drupal/core drupal/webform --update-with-dependencies [notice] If that fails due to a conflict then you must update one or more root dependencies.
Name Installed Version drupal/core 8.8.4 drupal/webform 5.9.0
I'm confused on what the solution is.
This is the output of drush cr
.
In Connection.php line 416:
SQLSTATE[HY000] [2002] No such file or directory
cache:rebuild [--cache-clear [CACHE-CLEAR]] [--no-cache-clear] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-d|--debug] [-y|--yes] [--no] [--remote-host REMOTE-HOST] [--remote-user REMOTE-USER] [-r|--root ROOT] [-l|--uri URI] [--simulate] [--pipe] [-D|--define DEFINE] [--notify] [--druplicon] [--xh-link XH-LINK] [--] <command>
This is the output of drush cr --debug
.
Using the Drush script found at /Users/brianeller-mini/vendor/drush/drush/drush using proc_open
[preflight] Config paths: /Users/brianeller-mini/vendor/drush/drush/drush.yml
[preflight] Alias paths: /Users/brianeller-mini/Projects/various/docroot/drush/sites,/Users/brianeller-mini/Projects/various/drush/sites
[preflight] Commandfile search paths: /Users/brianeller-mini/vendor/drush/drush/src
[debug] Starting bootstrap to site [debug] Drush bootstrap phase 2 [debug] Try to validate bootstrap phase 2 [debug] Try to validate bootstrap phase 2 [debug] Try to bootstrap at phase 2 [debug] Drush bootstrap phase: bootstrapDrupalRoot() [debug] Change working directory to /Users/brianeller-mini/Projects/various/docroot
[debug] Initialized Drupal 8.8.4 root directory at /Users/brianeller-mini/Projects/various/docroot
[debug] Try to validate bootstrap phase 2
[debug] Try to bootstrap at phase 2
[debug] Drush bootstrap phase: bootstrapDrupalSite()
[debug] Initialized Drupal site default at sites/default
In Connection.php line 416:
[PDOException (2002)]
SQLSTATE[HY000] [2002] No such file or directory
Exception trace:
at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php:416
PDO->__construct() at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php:416
Drupal\Core\Database\Driver\mysql\Connection::open() at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Core/Database/Database.php:371
Drupal\Core\Database\Database::openConnection() at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Core/Database/Database.php:166
Drupal\Core\Database\Database::getConnection() at n/a:n/a call_user_func_array() at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Component/DependencyInjection/PhpArrayContainer.php:79
Drupal\Component\DependencyInjection\PhpArrayContainer->createService() at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Component/DependencyInjection/Container.php:173
Drupal\Component\DependencyInjection\Container->get() at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Component/DependencyInjection/PhpArrayContainer.php:265
Drupal\Component\DependencyInjection\PhpArrayContainer->resolveServicesAndParameters() at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Component/DependencyInjection/PhpArrayContainer.php:62
Drupal\Component\DependencyInjection\PhpArrayContainer->createService() at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Component/DependencyInjection/Container.php:173
Drupal\Component\DependencyInjection\Container->get() at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Core/DrupalKernel.php:544
Drupal\Core\DrupalKernel->getCachedContainerDefinition() at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Core/DrupalKernel.php:896
Drupal\Core\DrupalKernel->initializeContainer() at /Users/brianeller-mini/Projects/various/docroot/core/lib/Drupal/Core/DrupalKernel.php:477
Drupal\Core\DrupalKernel->boot() at /Users/brianeller-mini/Projects/various/docroot/core/includes/utility.inc:38
drupal_rebuild() at /Users/brianeller-mini/vendor/drush/drush/src/Commands/core/CacheCommands.php:221
Drush\Commands\core\CacheCommands->rebuild() at n/a:n/a call_user_func_array() at /Users/brianeller-mini/vendor/consolidation/annotated-command/src/CommandProcessor.php:257
Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback() at /Users/brianeller-mini/vendor/consolidation/annotated-command/src/CommandProcessor.php:212
Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter() at /Users/brianeller-mini/vendor/consolidation/annotated-command/src/CommandProcessor.php:178
Consolidation\AnnotatedCommand\CommandProcessor->process() at /Users/brianeller-mini/vendor/consolidation/annotated-command/src/AnnotatedCommand.php:302
Consolidation\AnnotatedCommand\AnnotatedCommand->execute() at /Users/brianeller-mini/Projects/various/vendor/symfony/console/Command/Command.php:255
Symfony\Component\Console\Command\Command->run() at /Users/brianeller-mini/Projects/various/vendor/symfony/console/Application.php:1000
Symfony\Component\Console\Application->doRunCommand() at /Users/brianeller-mini/Projects/various/vendor/symfony/console/Application.php:255
Symfony\Component\Console\Application->doRun() at /Users/brianeller-mini/Projects/various/vendor/symfony/console/Application.php:148
Symfony\Component\Console\Application->run() at /Users/brianeller-mini/vendor/drush/drush/src/Runtime/Runtime.php:118 Drush\Runtime\Runtime->doRun() at /Users/brianeller-mini/vendor/drush/drush/src/Runtime/Runtime.php:49
Drush\Runtime\Runtime->run() at /Users/brianeller-mini/vendor/drush/drush/drush.php:72
require() at /Users/brianeller-mini/vendor/drush/drush/drush:4
cache:rebuild [--cache-clear [CACHE-CLEAR]] [--no-cache-clear] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-d|--debug] [-y|--yes] [--no] [--remote-host REMOTE-HOST] [--remote-user REMOTE-USER] [-r|--root ROOT] [-l|--uri URI] [--simulate] [--pipe] [-D|--define DEFINE] [--notify] [--druplicon] [--xh-link XH-LINK] [--] <command>
drush cr --debug
the error occurs and when you rundrush cr
it doesn't yeah? How did you install your site? How did you install Drush? Please update your question and help us to reproduce this error. Many thanksdrush sql:connect
anddrush status
returns the correct information, show us the output. (You can mask the password if that is your concern.) And there is no "site" command - it's "site:install" ;-) Just remove that from your post. Anyway, my first guess is that you are missing the needed database modules when running PHP as CLI, not through the webserver. (the output fromdrush status
would have told us something about this.) Doesphp -m
return mysqli and pdo_mysql?