Puncte:1

Eroare fatală PHP: ArgumentCountError neprins la rularea Drush

drapel jp

După ce mi-am actualizat site-ul la Drupal 8.9.16 și Drush la 10.5.0, primesc următoarea eroare Eroare fatală PHP: Uncaught ArgumentCountError: Prea puține argumente pentru a funcționa când rulați orice comandă Drush. Acest lucru se întâmplă doar pe site-ul meu de la distanță, nu pe site-ul meu local.

Site-ul încă funcționează ok, așa că am reușit să șterg memoria cache și să actualizez baza de date din backend-ul Drupal. Speram ca acest lucru să rezolve problema, dar nu a făcut-o. Am căutat și o soluție, dar niciunul dintre subiectele găsite nu mi-a oferit soluția potrivită.

Sper că unul dintre voi înțelege mai bine ce înseamnă această eroare și mă poate ajuta să o repar.

Mesajul de eroare complet este:

Eroare fatală PHP: Uncaught ArgumentCountError: Prea puține argumente pentru a funcționa Drush\Application::configureAndRegisterCommands(), 3 transmise în /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php pe linia 113 și exact 4 așteptate în /home/user/domains/domain.com/vendor/drush/drush/src/Application.php:313
Urmărirea stivei:
#0 /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php(113): Drush\Application->configureAndRegisterCommands(Object(Drush\Symfony\DrushArgvInput), Object( Symfony\Component\Console\Output\ConsoleOutput), Array)
#1 /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php(49): Drush\Runtime\Runtime->doRun(Array, Object(Symfony\Component\Console) \Output\ConsoleOutput))
#2 /home/user/domains/domain.com/public_html/vendor/drush/drush/drush.php(72): Drush\Runtime\Runtime->run(Array)
#3 /home/user/domains/domain.com/public_html/vendor/drush/drush/drush(4): require('/home/deb în /home/user/domains/domain.com/vendor/drush/drush /src/Application.php pe linia 313
Eroare fatală: Uncaught ArgumentCountError: Prea puține argumente pentru a funcționa Drush\Application::configureAndRegisterCommands(), 3 transmise în /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php pe linia 113 și exact 4 așteptate în /home/user/domains/domain.com/vendor/drush/drush/src/Application.php:313
Urmărirea stivei:
#0 /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php(113): Drush\Application->configureAndRegisterCommands(Object(Drush\Symfony\DrushArgvInput), Object( Symfony\Component\Console\Output\ConsoleOutput), Array)
#1 /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php(49): Drush\Runtime\Runtime->doRun(Array, Object(Symfony\Component\Console) \Output\ConsoleOutput))
#2 /home/user/domains/domain.com/public_html/vendor/drush/drush/drush.php(72): Drush\Runtime\Runtime->run(Array)
#3 /home/user/domains/domain.com/public_html/vendor/drush/drush/drush(4): require('/home/deb în /home/user/domains/domain.com/vendor/drush/drush /src/Application.php pe linia 313
Puncte:0
drapel nr

Tocmai am avut aceasta problema. În cazul meu, a fost cauzat de duplicat vânzător directoarele după reorganizarea proiectului pentru a urma aspectul recomandat al proiectului.

Am avut un nou ./furnizor/ directorul din rădăcina proiectului, dar mai aveam și cel vechi ./docroot/vendor/ directorul din rădăcina documentului. (Proiectul meu este găzduit pe Acquia; poate fi necesar să verificați un ./web/vendor/ director în schimb.)

Pentru a rezolva această problemă, încercați să ștergeți directorul duplicat din ./docroot/vendor/ (sau ./web/vendor/), comiterea modificărilor în repo-ul tău git și implementarea modificării codului în mediul din amonte.

Asta a făcut-o pentru mine!

Puncte:0
drapel cg

Am avut aceeași problemă înainte și acest m-a ajutat.

Drush 10 a schimbat unele dintre definițiile serviciilor sale și, înainte de actualizarea compozitorului, containerul Drupal DI a fost precacheat. Următorul apel la drush a dus la o eroare de creare a serviciului, deoarece un container din cache avea o definiție de serviciu învechită.

Soluția este să curățați tabelul cache_container (sau un alt loc în care este stocat cache-ul containerului), totuși, așa cum s-a spus, acest lucru aduce un oarecare disconfort, deoarece înainte de a utiliza drush deployed undeva trebuie să aveți grijă să ștergeți acel cache într-un mod automat. Și nu poate fi stricat în sine. Nu poate fi ceva de genul drush sqlq "truncare tabelul cache_container" sau drush sql-connect și interogare SQL.

sper sa lucrez si pentru tine.

Joost avatar
drapel jp
Da am gasit acest thread. Și am trunchiat tabelul folosind phpmyadmin, dar acest lucru nu a rezolvat problema. Sau am inteles gresit ce ar trebui sa fac pentru a rezolva aceasta problema?
Yuseferi avatar
drapel cg
@Joost. ce versiune de drush folosesti? și alergi drush pe calea corectă? `ce `statut de drush` îți revine?
Joost avatar
drapel jp
Bună, rulez Drush 10.5.0 și da, sunt în folderul potrivit când rulez Drush. Starea Drush returnează și eroarea
hotwebmatter avatar
drapel nr
@Joost ai rezolvat problema? Nici ștergerea cache-urilor și trunchierea tabelelor nu a funcționat în cazul meu, dar am împărtășit o altă abordare care a rezolvat problema pentru mine.
Yuseferi avatar
drapel cg
@hotwebmatter de ce să votați în sens invers în timp ce vă ajută câteva dintre ele?
hotwebmatter avatar
drapel nr
Nici nu am idee de ce cineva a votat negativ. Nu am fost eu; de fapt, l-am votat pozitiv!

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.