Fehlerbehebung
Fehler „Shop not found at line xxx in file classes/shop/Shop.php“
Shop not found at line xxx in file classes/shop/Shop.php bedeutet, dass PrestaShop keinen gültigen Shop laden konnte. Die Exception allein beweist nicht, dass PS_SHOP_DEFAULT die ursprüngliche Ursache ist.
Im Frontoffice versucht PrestaShop zuerst, den Shop zu ermitteln, der zur angeforderten Domain und zum Pfad gehört. Lässt sich dieser Shop nicht auflösen, nicht laden oder ist er nicht aktiv, versucht es den in PS_SHOP_DEFAULT festgelegten Shop zu öffnen; die Exception erscheint, wenn es auch diesen Fallback nicht laden kann.
// No shop found ... too bad, let's redirect to default shop $default_shop = new Shop((int) Configuration::get('PS_SHOP_DEFAULT')); // Hmm there is something really bad in your Prestashop ! if (!Validate::isLoadedObject($default_shop)) { throw new PrestaShopException('Shop not found'); }
Bewahren Sie die genaue URL und den Stacktrace auf, bevor Sie die Datenbank ändern. Prüfen Sie in einer Multishop-Installation diese Beziehungen mit dem tatsächlichen Tabellenpräfix:
- Prüfen Sie in
PREFIX_shop_urldie Felderdomain,domain_ssl,physical_uri,virtual_uri,mainundactivefür den Host und den Pfad, die fehlschlagen. - Bestätigen Sie in
PREFIX_shop, dass der ermittelte Shop und der Standardshop existieren, aktiv sind und nicht als gelöscht markiert sind. - Listen Sie in
PREFIX_configurationalle ZeilenPS_SHOP_DEFAULTzusammen mitid_shop_groupundid_shopauf. Der wirksame Wert kann vom Gruppen- oder Shop-Kontext abhängen.
Bearbeiten Sie nicht die erste Zeile, die Sie finden, und übernehmen Sie keine Kennung eines anderen Shops, ohne den Kontext zu prüfen. Erstellen Sie vorher ein Backup der Datenbank und testen Sie die Korrektur in einem Klon; eine falsche URL oder ein falscher Standardshop kann alle Anfragen des Frontoffice betreffen.
Können Sie nicht ermitteln, welchen Geltungsbereich Configuration::get() auflöst, wenden Sie sich an den Support und nennen Sie die Domain, den fehlerhaften Pfad, die ungefähre Uhrzeit und den Stacktrace. Senden Sie keine Zugangsdaten im Ticket.
Domain und Pfad prüfen, bevor Sie Daten ändern
Ist der Fehler nach einem Domainwechsel aufgetreten, prüfen Sie zuerst, an welchen Server die Anfrage geht und welches Document Root er verwendet. Eine korrekte Datenbank verhindert den Fehler nicht, wenn Sie eine andere Kopie des Shops mit einem Host aufrufen, der dort nicht registriert ist.
Testen Sie nach der minimalen Korrektur HTTP/HTTPS, die gewählte Variante mit oder ohne www, eine Unterseite und das Backoffice. Prüfen Sie im Multishop-Modus auch die Shops, die sich nicht ändern sollten, und dass der Fallback den Besucher nicht in einen anderen Katalog führt.
Das könnte Ihnen auch helfen
- PrestaShopException: Invalid address diagnostizieren Finden Sie den genauen Verweis, der Invalid address auslöst, und bereinigen Sie nur Warenkörbe ohne...
- PrestaShop, übermäßige Größe der Tabelle layered_filter_block Messen und leeren Sie den Cache der Facettensuche, unterscheiden Sie ihn vom Preisindex und aktualis...
- Zeitzonenfehler von GLPI mit MariaDB oder MySQL Unterscheiden Sie zwischen nicht geladenen Zeitzonendaten und der Berechtigung, die nur GLPI-Version...
- Fehler SQLSTATE 2026 beim Installieren oder Aktualisieren von PrestaShop Diagnostizieren Sie die SSL-Verbindung zu MySQL, die Doctrine daran hindert, die Serverversion abzuf...
Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.