Puncte:2

„RuntimeException: ați solicitat un parametru inexistent „app.root””

drapel cn

După ce șterg memoria cache, primesc acest mesaj.

Symfony\Component\DependencyInjection\Exception\RuntimeException: Ați solicitat un parametru inexistent „app.root”. în Symfony\Component\DependencyInjection\Compiler\DefinitionErrorExceptionPass->processValue() (linia 37 din /var/www/call/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php). Symfony\Component\DependencyInjection\Compiler\DefinitionErrorExceptionPass->processValue() (linia: 60) Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->processValue() (linia: 30) Symfony\Component\DependencyInjection\Compiler\DefinitionErrorExceptionPass->processValue() (linia: 39) Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->process() (linia: 140) Symfony\Component\DependencyInjection\Compiler\Compiler->compile() (linia: 789) Symfony\Component\DependencyInjection\ContainerBuilder->compile() (linia: 1335) Drupal\Core\DrupalKernel->compileContainer() (linia: 916) Drupal\Core\DrupalKernel->initializeContainer() (linie: 477) Drupal\Core\DrupalKernel->boot() (linia: 707) Drupal\Core\DrupalKernel->handle() (linia: 19)

Ai idee cum să rezolvi această problemă?

drapel cn
A doua linie spune „Ați solicitat un parametru inexistent „app.root”.` Încercați să căutați baza de cod pentru „app.root” și vedeți unde îl solicitați.
Dragan Petrovic FSD avatar
drapel cn
Toate sunt legate de consola Drupal
drapel cn
Ce versiune de consola Drupal? Sunteți sigur că versiunea este compatibilă cu 8.9.20?
Dragan Petrovic FSD avatar
drapel cn
"drupal/console": "^1.9",
leymannx avatar
drapel ne
Eliminați consola Drupal și încercați din nou.
Dragan Petrovic FSD avatar
drapel cn
aceeasi problema, aceeasi eroare
Puncte:3
drapel cn

Această eroare este cauzată de utilizarea codului %app.root% ca parametru în Drupal 8.

De exemplu:

   cache.backend.apcu:
     clasa: Drupal\Core\Cache\ApcuBackendFactory
     argumente: ['%app.root%', '%site.path%', '@cache_tags.invalidator.checksum']

Acesta este codul Drupal 9 care nu funcționează în Drupal 8.

Argumentul serviciului @app.root pe de altă parte, nu cauzează această eroare. Îl găsești în Consola Drupal sau în alt cod Drupal 8. A fost depreciat în Drupal 9, dar încă funcționează până când actualizați Drupal 10. Atunci va fi această eroare Erori „Serviciu inexistent” după ștergerea memoriei cache

Vedeți înregistrarea modificărilor https://www.drupal.org/node/3080612.

Puncte:2
drapel us

The app.root parametrul a fost adăugat în Drupal 9 pentru a înlocui app.root serviciu. Dacă utilizați Drupal 8, această eroare ar putea fi cauzată de:

  • Un modul care spune că este compatibil cu Drupal 8 și Drupal 9, al căror cod accesează app.root parametru container atunci când rulează pe Drupal 8
  • Alt cod care încearcă să acceseze app.root parametru container atunci când rulează pe Drupal 8

Acest lucru se poate întâmpla deoarece:

  • Unul dintre argumentele pentru un serviciu este „%app.root%” (care necesită parametrul container) în loc de „@app.root” (care necesită serviciul care există în Drupal 8.x)
  • Există un cod care folosește $container->getParameter('app.root') în loc de $container->get('app.root')
  • Există un cod care verifică dacă se utilizează app.root parametrul containerului sau app.root serviciu, dar nu reușește să îl folosească pe cel disponibil

Pentru a înțelege ce cod provoacă eroarea, ar trebui să fie suficient să căutați %app.root% sau ->getParameter('app.root'). Căutare de app.root nu este suficient, deoarece ar returna orice linie care folosește corect app.root serviciu.

[Symfony 5] Înlocuiți serviciile de șir app.root și site.path cu parametrii containerului au fost create a fost creat pe 13 august 2019 și marcat ca remediat pe 23 decembrie 2020. (Corectarea a fost efectuată pe Drupal 9.x pe 5 martie 2020.)
Consola Drupal 1.9.4 (lansată pe 11 noiembrie 2019) nu trebuie să conțină cod care accesează app.root parametru container, deoarece nucleul Drupal nici măcar nu avea acel parametru container când a fost lansată Drupal Console 1.9.4.

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.