Puncte:3

Cum pot remedia eroarea „Conexiunea la baza de date specificată nu este definită: implicit”?

drapel cn

Am instalat PHP 7.4.21, apoi Drupal 9.2.1 și Drush 10.5.0 cu Composer.

Rulând Drush fără argumente, primesc lista tuturor comenzilor disponibile.
Alergare drush cr imi da urmatoarea eroare.

Conexiunea la baza de date specificată nu este definită: implicit

drush cr --root=/home/ip/d916/web da aceeasi eroare.

Ieșirea de drush cr -vvv este urmatoarea.

Urmă excepție

la /home/ip/d916/web/core/lib/Drupal/Core/Database/Database.php:371
Drupal\Core\Database\Database::openConnection() la /home/ip/d916/web/core/lib/Drupal/Core/Database/Database.php:169
Drupal\Core\Database\Database::getConnection() la n/a:n/a
call_user_func_array() la /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:258
Drupal\Component\DependencyInjection\Container->createService() la /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:176
Drupal\Component\DependencyInjection\Container->get() la /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:437
Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters() la /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:240
Drupal\Component\DependencyInjection\Container->createService() la /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:176
Drupal\Component\DependencyInjection\Container->get() la /home/ip/d916/web/core/lib/Drupal/Core/Cache/ChainedFastBackendFactory.php:89
Drupal\Core\Cache\ChainedFastBackendFactory->get() la /home/ip/d916/web/core/lib/Drupal/Core/Cache/CacheFactory.php:83
Drupal\Core\Cache\CacheFactory->get() la n/a:n/a
call_user_func_array() la /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:258
Drupal\Component\DependencyInjection\Container->createService() la /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:176
Drupal\Component\DependencyInjection\Container->get() la /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:437 Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters() la /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:240
Drupal\Component\DependencyInjection\Container->createService() la /home/ip/d916/web/core/lib/Drupal/Component/DependencyInjection/Container.php:176
Drupal\Component\DependencyInjection\Container->get() la /home/ip/d916/web/core/lib/Drupal/Core/DrupalKernel.php:586
Drupal\Core\DrupalKernel->preHandle() la /home/ip/d916/web/core/includes/utility.inc:35
drupal_rebuild() la /home/ip/d916/vendor/drush/drush/src/Commands/core/CacheCommands.php:234
Drush\Commands\core\CacheCommands->rebuild() la n/a:n/a
call_user_func_array() la /home/ip/d916/vendor/consolidation/annotated-command/src/CommandProcessor.php:257
Consolidation\AnnotatedCommand\CommandProcessor->runCommandCallback() la /home/ip/d916/vendor/consolidation/annotated-command/src/CommandProcessor.php:212
Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter() la /home/ip/d916/vendor/consolidation/annotated-command/src/CommandProcessor.php:176
Consolidation\AnnotatedCommand\CommandProcessor->process() la /home/ip/d916/vendor/consolidation/annotated-command/src/AnnotatedCommand.php:311
Consolidare\AnnotatedCommand\AnnotatedCommand->execute() la /home/ip/d916/vendor/symfony/console/Command/Command.php:255
Symfony\Component\Console\Command\Command->run() la /home/ip/d916/vendor/symfony/console/Application.php:1027
Symfony\Component\Console\Application->doRunCommand() la /home/ip/d916/vendor/symfony/console/Application.php:273
Symfony\Component\Console\Application->doRun() la /home/ip/d916/vendor/symfony/console/Application.php:149
Symfony\Component\Console\Application->run() la /home/ip/d916/vendor/drush/drush/src/Runtime/Runtime.php:118
Drush\Runtime\Runtime->doRun() la /home/ip/d916/vendor/drush/drush/src/Runtime/Runtime.php:48
Drush\Runtime\Runtime->run() la /home/ip/d916/vendor/drush/drush/drush.php:72
require() la /home/ip/d916/vendor/drush/drush/drush:4

Composer lucrează fără nicio greșeală. Și Drupal funcționează bine. Din păcate, nu pot lucra fără Drush 10.

Cum pot repara Conexiunea la baza de date specificată nu este definită: implicit eroare?

miststudent2011 avatar
drapel fr
Puteți partaja detaliile bazei de date din settings.php. Se pare că nu l-ai configurat corect
hotwebmatter avatar
drapel nr
Vă rugăm să partajați rezultatul `starea drush`.
apaderno avatar
drapel us
Ca notă secundară: comentariile anterioare cer să furnizeze aceste informații în întrebare, nu în răspunsuri. Răspunsurile nu sunt folosite pentru a oferi mai multe informații pentru a răspunde la întrebare. Site-urile Stack Exchange nu sunt forumuri, ci site-uri de întrebări și răspunsuri: un utilizator pune o întrebare la care răspund alți utilizatori.
Puncte:2
drapel nr

Spui că Drupal funcționează bine. Chiar vrei să spui că site-ul tău web Drupal 9.2.1 este complet funcțional fără o conexiune la baza de date? Asta este surprinzător!

Puteți începe prin a vă conecta la acest mediu prin ssh și testarea unei conexiuni la baza de date folosind linia de comandă mysql utilitarul și acreditările de autentificare a bazei de date stocate în dvs setări.php fişier.

Dacă obțineți o conexiune reușită, executați câteva comenzi de diagnosticare, cum ar fi UTILIZAȚI `drupal`; (inlocuind drupal cu numele DB specificat în setările dvs.) și Arata tabele; și SELECTARE COUNT(*) FROM `nod`; (doar fii foarte atent să nu lansezi comenzi care inserează, actualizează sau șterg date!)

Dacă Drupal se poate conecta cu adevărat la baza de date și vă puteți conecta în acest fel din linia de comandă, atunci veți restrânge problema la Drush.

Vă puteți asigura că rulați cu adevărat versiunea locală a proiectului corectă a Drush 10 pe care ați instalat-o cu Composer executând care drush la promptul de comandă pentru a vedea dacă în schimb utilizați un Drush instalat global, poate chiar o versiune diferită.

Dacă acesta este cazul, specificați calea completă către Drush local pentru a vă asigura că executați Drush PHAR corect:

$ cd /home/ip/d916/
$ ./vendor/bin/drush status
$ ./vendor/bin/drush cr

Dacă aceste comenzi funcționează pentru dvs., atunci aveți opțiuni diferite în funcție de găzduirea dvs. The Drush docs sunt excelente și vă vor ajuta să decideți calea corectă de urmat.

apaderno avatar
drapel us
De asemenea, s-ar putea ca Drush să fie executat din directorul greșit și să nu găsească fișierul settings.php sau să găsească un fișier settings.php care nu conține informațiile de conectare la baza de date sau informațiile corecte de conectare la baza de date. Acest lucru ar explica de ce site-ul Drupal funcționează, dar Drush raportează o eroare.
drapel cn
Drush era problema. 10.5.0 descărcat apelat de un alias nu a funcționat pentru mine. După ce am rulat `composer require drush/drush` și `echo export PATH="$HOME/.composer/vendor/bin:$PATH`, am avut versiunea corectă și atât Drush, cât și Drupal funcționează bine.
LeraA avatar
drapel cz
Vreau să adaug experiența mea de astăzi la această întrebare/răspuns. am avut exact aceeași problemă ca cea enumerată în întrebare, deși răspunsul final al operațiunii nu mi-a rezolvat-o. Pașii din acest răspuns votat favorabil au ajutat. Am putut vedea că, indiferent ce am făcut, nu am putut obține o conexiune la DB. Niciunul dintre colegii mei nu a avut eroarea pe care am avut-o. Am ajuns să arunc întregul repo și să-l reinstalez. Același cod, aceiași pași, aceleași fișiere, fără modificări manuale, dar de data aceasta s-a format conexiunea DB. Comenzile Drush au funcționat și site-ul a apărut prima încercare. Dă-ți seama. Sper că asta ajută pe altcineva.
Puncte:1
drapel in

Dacă aveți un fișier suplimentar cu setările locale, de exemplu setări.local.php, verificați dacă este plasat în directorul corect.

În acest caz, trebuie să fie în site-uri/implicit/ director, nu în site-uri/ folderul rădăcină.Cel mai probabil, eroarea este cauzată de un fișier de configurare greșit.

Dacă nu este cazul, sau ai doar unul setări.php, verificați dacă aveți o configurație validă pentru baza de date în $baze de date[][] matrice în el, pentru site-ul „implicit” trebuie să fie numit „$datebase['default']['default']" și trebuie să conțină toate informațiile din baza de date.

Exemplu:

## setări baze de date
$databases['default']['default'] = [
  'database' => 'drupal9',
  'username' => 'drupal9',
  'parolă' => 'drupal9',
  'prefix' => ''',
  'gazdă' => 'bază de date',
  'port' => '3306',
  'namespace' => 'Drupal\Core\Database\Driver\mysql',
  'driver' => 'mysql',
];

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.