Visualizzazione risultati 1 fino 2 di 2
Like Tree1Likes
  • 1 Post By kinmen

Discussione: drupal 9: incompatibilità downgrade da php74 a php73

  1. #1
    kinmen non è connesso Utente giovane
    Data registrazione
    01-07-2012
    Messaggi
    30

    Predefinito drupal 9: incompatibilità downgrade da php74 a php73

    Mi è capitato un serio problema di incompatibilità fra versioni di php aggiornando il sito drupal dalla versione 7 alla 9.1.x

    Credo di aver risolto, perciò condivido, in caso qualcuno avesse la mia stessa idea.
    Prologo:
    • copio il l'intero sito drupal7 ed il suo db in locale (Mysql 8, php7.3)
    • installo la copia in locale, MA con Mysql 10 e php 7.4
    • aggiorno in locale il sito a drupal 9.1.x

    Cancello i moduli non aggiornabili, cambio tema con uno compatibile e lo aggiusto secondo le mie esigenze. Verifico che tutto funzioni. metto il sito in manutenzione, pulisco la cache.
    Su altervista cancello il vecchio sito, carico quello nuovo in formato zip (per qualche motivo, via FTP pare aver saltato qualche file), importo il dump del nuovo db, cancellando contemporaneamente il vecchio.

    Setto Rewrite in .htaccess su "/"
    modifico i 2 file MTimeProtectedFastFileStorage.php e SessionConfiguration.php secondo quanto indicato in altre thread.

    A questo punto col browser vado sull'url del mio sito ed ottengo un bell'errore del tipo: "The website is currently unavailable, try later" o qualcosa del genere, ovvero il famigerato errore 500 di Apache.

    Edito settings.php in sites/default/ aggiungendo la seguente riga per avere i dettagli dell'errore:

    $config['system.logging']['error_level'] = 'verbose';

    Ricarico la HP e visualizzo il terrificante:
    The website encountered an unexpected error. Please try again later.
    TypeError: Argument 2 passed to Symfony\Component\Routing\RouteCollection::add() must be an instance of Symfony\Component\Routing\Route, bool given, called in /membri/kinmen/core/lib/Drupal/Core/Routing/RouteProvider.php on line 380 in Symfony\Component\Routing\RouteCollection->add() (line 74 of vendor/symfony/routing/RouteCollection.php).

    Symfony\Component\Routing\RouteCollection->add('view.frontpage.page_1', ) (Line: 380)
    Drupal\Core\Routing\RouteProvider->getRoutesByPath('/frontpage') (Line: 180)
    Drupal\Core\Routing\RouteProvider->getRouteCollectionForRequest(Object) (Line: 226)
    Drupal\Core\Routing\Router->getInitialRouteCollection(Object) (Line: 110)
    Drupal\Core\Routing\Router->matchRequest(Object) (Line: 92)
    Drupal\Core\Routing\AccessAwareRouter->matchRequest(Object) (Line: 112)
    Symfony\Component\HttpKernel\EventListener\RouterL istener->onKernelRequest(Object, 'kernel.request', Object)
    call_user_func(Array, Object, 'kernel.request', Object) (Line: 142)
    Drupal\Component\EventDispatcher\ContainerAwareEve ntDispatcher->dispatch(Object, 'kernel.request') (Line: 134)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 80)
    Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
    Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 191)
    Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (Line: 128)
    Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (Line: 82)
    Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
    Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 706)
    Drupal\Core\DrupalKernel->handle(Object) (Line: 19)


    Ho seriamente pensato al suicidio... Poi dopo varie ricerche ho scoperto che era dovuto all'incompatibilità di un componente di drupal 9, installando quest'ultimo su php7.4 e poi spostandolo su php7.3 (in realtà ciò si verifica anche in altri casi simili, aggiornamenti). Il problema è in Router.php. Sul sito di drupal hanno forito una patch. Il file intero corretto, che ho sostituito sul mio sito, si trova qui:

    https://git.drupalcode.org/project/d...ing/Router.php

    ATTENZIONE CHE QUANDO AGGIORNATE IL CORE ESSO VIENE SOVRASCRITTO!! FATENE UNA COPIA!

    Ora funziona. Almeno spero. Saluti.
    GraphOGLRisorse likes this.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,132

    Predefinito

    Grazie per aver condiviso la soluzione. Visto che è stata rilasciata da drupal, direi che è risolutiva.

    Ero a conoscenza solamente di un problema in fase di installazione "pulita" di drupal 9, risolvibile come spiegato qui.

    Ciao!

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •