website encountered an unexpected error
am 02.01.2022 - 19:53 Uhr in
Hallo Forum,
ich habe auf Mamp eine Webseite Drupal9 erstellt. Habe einen snapshot der funktionierenden Seite in Mamp gemacht. Anschliessend update mit composer.
Non erhalte ich folgende Nachricht untenstehende Nachricht. Trotz Aufrufen des snapshot bleibt diese Fehlermeldung bestehen. Was kann ich tun?
The website encountered an unexpected error. Please try again later.
TypeError: Argument 1 passed to Drupal\Core\Extension\ThemeHandler::addTheme() must be an instance of Drupal\Core\Extension\Extension, null given, called in /Applications/MAMP/htdocs/drupal9/core/includes/theme.maintenance.inc on line 93 in Drupal\Core\Extension\ThemeHandler->addTheme() (line 82 of core/lib/Drupal/Core/Extension/ThemeHandler.php).
Drupal\Core\Extension\ThemeHandler->addTheme(NULL) (Line: 93)
_drupal_maintenance_theme() (Line: 464)
drupal_maintenance_theme() (Line: 121)
Drupal\Core\EventSubscriber\MaintenanceModeSubscriber->onKernelRequestMaintenance(Object, 'kernel.request', Object)
call_user_func(Array, Object, 'kernel.request', Object) (Line: 142)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->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)
- Anmelden oder Registrieren um Kommentare zu schreiben
Nach einem Modulupdate sollte
am 02.01.2022 - 20:31 Uhr
Nach einem Modulupdate sollte immer ein Datenbankupdate gemacht werden unter /update.php. Wenn die Seite nicht erreichbar ist, wäre
drush updatedb
eine weitere Möglichkeit.Drush lässt sich falls nicht vorhanden mit
composer require drush/drush
installieren.Caches löschen mit
drush cache:rebuild
kann evtl auch helfen.Möglicherweise ist es ein Bug im Wartungsmodus siehe: https://www.drupal.org/project/drupal/issues/3218085
Ausschalten vom Wartungsmodus über drush:
drush state:set system.maintenance_mode 0 --input-format=integer
Was den Snapshot betrifft, ist der nur von den Daten in /Applications/MAMP/htdocs/drupal9/ oder ist da die Datenbank auch mitgesichert? Die ist auf jeden Fall unbedingt wichtig zu sichern, da sind alle eingegebenen Daten drin und die Einstellungen.
Vielen Dank für Deine
am 02.01.2022 - 22:31 Uhr
Vielen Dank für Deine Infos.
Ich dachte der Snapshot würde bei Mamp auch Datenbank mutsichern, hat er aber anscheinend nicht - hab quatsch gemacht und nicht wie bisher immer gesonderte Backups auch von Datenbank gemacht.
Danke!
Habe nachgelesen, eigentlich
am 02.01.2022 - 23:43 Uhr
Habe nachgelesen, eigentlich müsste Mamp Pro auch database sichern, habe restore des snapshot gemacht, erhalte aber dennoch dieselbe FehlermeldungIch.
Habe dann versucht Deine Angaben zu befolgen, habe aber bisher nie Drush benutzt, erhalte dann aber folgende Angabe: im beigelegten snapshot. Muss ich Drusch irgendwo anders aufrufen? Danke!!!
Ist
am 03.01.2022 - 01:54 Uhr
Ist
/Applications/MAMP/htdocs/drupal9
der richtige Pfad, wo Drupal drin ist? Eigentlich sollte da noch ein Unterordner web drin sein.Also ein übergeordneter Ordner mit composer.json, composer.lock und noch ein paar anderen und auch ein Ordner web, in dem dann die eigentlichen Drupal Dateien und Ordner sind, also core, libraries, modules, profiles, sites und themes.
Du musst dann in dem übergeordneten Ordner sein, also den mit composer.json, composer.lock und web. Wenn das anders aussieht ist es vielleicht nicht von Anfang an mit Composer installiert, das macht dann wahrscheinlich Probleme. Wenn es so ist, gib Bescheid dann schauen wir weiter.
Hallo SZ, ja drupal9 ist
am 03.01.2022 - 20:39 Uhr
Hallo SZ, ja drupal9 ist unter applications/mamp/htdocs/drupal9. Habe ein screenshot beigelegt, der Drup9 zeigt. Danke für deine Hilfe.
Wurde denn alles von Anfang
am 03.01.2022 - 21:11 Uhr
Wurde denn alles von Anfang an mit Composer installiert oder aus einer Datei? Für Drupal 9 ist es Pflicht, alles von Anfang an mit Composer zu installieren. Wenn das nicht gemacht wurde, kann das möglicherweise die Probleme mit Drush verursachen oder auch die ursprünglichen. Kannst du vielleicht parallel eine Composer Installation anlegen, und dann die Daten migrieren?
Du hast Recht, ich hatte die
am 03.01.2022 - 21:43 Uhr
Du hast Recht, ich hatte die Datei mit composer angelegt, aber nun mit restore muss irgendetwas falsch gelaufen sein (ich falsch gemacht haben), habe parallel jetzt eine neue Datei (Ordner) angelegt mit composer und der sieht, wie Du mich darauf hingewiesen hast anders aus.
Danke. Versuche nun weiterzukommen - lass dann wieder von mir hören. Vielen Dank
Hallo, habe eine composer
am 05.01.2022 - 12:53 Uhr
Hallo, habe eine composer Drupal installation angelegt und dann die Dateien emigriert, erhalte nun folgenden error:.
Forbidden
You don't have permission to access / on this server.
muss ich nun etwas in htaccess anpassen?
Danke
PS htaccess ist writable, habe hinzugefügt
Options +SymLinksIfOwnerMatch
Das hört sich nach einem
am 05.01.2022 - 13:06 Uhr
Das hört sich nach einem Berechtigungsproblem bei den Dateien an. Welche Dateien hast du wie genau migriert? Alles in /web sollte www-data gehören, das ist der Benutzer mit dem Apache läuft.
Das sieht für mich danach
am 05.01.2022 - 16:04 Uhr
Das sieht für mich danach aus, als ob das Einstiegsverzeichnis (= DocumentRoot) für den Apache falsch angegeben wurde. Evtl eine Ebene zu hoch? In den Einstellungen der Domain bei Deinem Provider nachsehen. Bei einer Installation mit composer ist das das web-Verzeichnis, indem sich das core-Verzeichnis und die index.php Datei befinden.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Danke für den Rat, habe das
am 09.01.2022 - 17:41 Uhr
Danke für den Rat, habe das angepasst, erhalte nun aber eine weisse Seite, wenn ich die Seite in Mama aufrufe. Habt Ihr noch eine Idee?
Danke.
Was sagt der PHP-Error-log
am 09.01.2022 - 17:55 Uhr
Was sagt der PHP-Error-log denn zu der weißen Seite. Es muß dort eine aussagekräftigere Fehlermeldung geben, denn die weiße Seite kommt von einem PHP-Fehler.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
erhalte folgende
am 09.01.2022 - 18:21 Uhr
erhalte folgende Meldung:
[09-Jan-2022 18:16:29 Europe/Rome] PHP Warning: require(/Applications/MAMP/htdocs/drupal9/web/vendor/autoload.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/drupal9/web/autoload.php on line 16
[09-Jan-2022 18:16:29 Europe/Rome] PHP Fatal error: require(): Failed opening required '/Applications/MAMP/htdocs/drupal9/web/vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.3.7/lib/php') in /Applications/MAMP/htdocs/drupal9/web/autoload.php on line 16
in autoload.php unter Vendor steht:
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitc78d38cbdb3ceb2cd4397eb755ac997a::getLoader();
Danke!
Bei der "normalen"
am 09.01.2022 - 20:55 Uhr
Bei der "normalen" Installation über composer wird die Datei autoload.php im Webverzeichnis angelegt. Die gehört zwingend zur Drupal-Installation. Die fehlt laut Fehlermeldung bei Dir. Ohne läuft Drupal nicht. Die aus dem vendor Verzeichnis ist hier nicht die richtige. Bei mit sieht die so aus:
<?php
/**
* @file
* Includes the autoloader created by Composer.
*
* This file was generated by drupal-scaffold.
*
* @see composer.json
* @see index.php
* @see core/install.php
* @see core/rebuild.php
* @see core/modules/statistics/statistics.php
*/
return require __DIR__ . '/../vendor/autoload.php';
Es muß also bei der Installation etwas falsch gelaufen sein. Hattest Du da Fehlermeldungen?
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Danke für den Ratschlag. in
am 11.01.2022 - 15:42 Uhr
Danke für den Ratschlag. in Web habe ich auch eine autoload.php, mit denselben Angaben wie bei Dir.
Mir war folgendes passiert: hatte in Mama einen Snapshot gemacht, dann ein update. Anschliessend lief die Seite nicht mehr. Hatte dann hier in Community Frage gestellt, das Verzeichnis sah so aus, als ob ohne composer erstellt, habe dann die Dateien rueberkopiert, damit es wie "composer erstellt" erschien, aber dabei muss irgendeine Einstellung falsch sein.
Laut Deines Screenshots von
am 11.01.2022 - 16:48 Uhr
Laut Deines Screenshots von der Struktur fehlt aber genau dieser autoload.php, den das System nicht findet. Hast Du nach dem Update den update.php laufen lassen (entweder mittels drush oder im Browser)? Es war auch schon einmal notwendig, zuerst ein "drush cr" auszuführen vor dem update.php. Ohne den autoload.php auf der Ebene, in der sich der index.php befindet, wird das aber nichts.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Ja, durch das Kopieren sind
am 11.01.2022 - 17:30 Uhr
Ja, durch das Kopieren sind die Beziehungen falsch geworden:
Vendor ist nun bei der composer Installation auf gleicher Höhe wie Web. Bei mir wird autoload.php aber unter
.... require(/Applications/MAMP/htdocs/drupal9/web/vendor/vendor/autoload.php): failed to open stream ....
gesucht.
Das Verzeichnis Web/vendor/. gibt es aber nicht mehr.
Habe nun unter core das Verzeichnis Vendor angelegt mit autoload. web/vendor/autoload.
Dann erhalte ich aber den Fehler:Warning:
require(/Applications/MAMP/htdocs/drupal9/web/vendor/vendor/autoload.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/drupal9/web/vendor/autoload.php on line 16
Unter Zeile 16 steht: return require __DIR__ . '/vendor/autoload.php';
Dann siehst Du hier eine
am 11.01.2022 - 17:49 Uhr
Dann siehst Du hier eine Beispiel-Installation mit Drupal 9:
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Lieber WLA, habe lange
am 27.01.2022 - 17:12 Uhr
Lieber WLA, habe lange herumgesucht und probiert, so ganz ist mir Drupal9 nicht nicht klar. Habe die Seite frisch installiert, nun gleich mit composer. Vielen Dank für Deine/Euere Mühen. Hätte noch eine Bitte: Versuche nun das Theme zu verändern: benutze EduX. Habe versucht ein subtheme zu erstellen, aber irgendwie klappt da immer irgendetwas nicht. Bei Drupal 7 hatte ich es gelernt. Kann mir jemand eingutes Tutorial nennen, das ich nachverfolgen kann?
Vielen Dank!!!