Moin moin, ich habe ein Problem mit der Kundenliste - es werden keine Kunden mehr gefunden. Gar keine... Wenn ich einfach links im Menü auf Kunden klicke, kommt: nichts. Die Suche nach Kundenname, Kundennummer oder Email-Adresse: nichts. Wenn ich in der Bestellungsübersicht auf den Kundennamen klicke, um den Kunden aufzurufen: Der Kunde mit der ID: xxxx existiert nicht. Die Tabelle customers habe ich mit Check Table geprüft - keine Fehler. Die Optimize Funktion habe ich inzwischen über alle Tabellen der Datenbank drüberlaufen lassen - keine Änderung. Und: Ja, es sind natürlich alle Kunden in der Tabelle customers drin... Der Shop läuft auf 4.8.0.3. Die letzte händische Bestellung (da hat es auf jeden Fall noch funktioniert) habe ich am 17.04. angelegt, und zwischenzeitlich wurde nichts verändert. Hat irgendjemand eine Idee, an welcher Stelle ich weitersuchen könnte?! Viele Grüße, Titus
Moin Titus, hast du mal die Logs geprüft? Vielleicht findest du da einen Hinweis auf den Fehler. Gruß Petra
Ein guter Hinweis! In der alten Logansicht bekomme ich beim Aufruf der Kundenliste den nachfolgenden Eintrag. Allerdings werde ich da nicht ganz schlau draus... [2025-04-25 18:09:30 | CRITICAL] Expected code to be non-empty string. context: exception: class: Webmozart\Assert\InvalidArgumentException message: Expected code to be non-empty string. code: 0 file: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/webmozart/assert/src/Assert.php line: 2074 trace: 0: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/webmozart/assert/src/Assert.php:795 │ { │ if ($expect == $value) { ├─ static::reportInvalidArgument(\sprintf( │ $message ?: 'Expected a different value than %s.', │ static::valueToString($expect) 1: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/webmozart/assert/src/Assert.php:68 │ { │ static::string($value, $message); ├─ static::notEq($value, '', $message); │ } │ 2: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Modules/Country/Model/Entities/Zone.php:58 │ ): Zone { │ ├─ Assert::stringNotEmpty($code, 'Expected code to be non-empty string.'); │ Assert::stringNotEmpty($name, 'Expected name to be non-empty string.'); │ 3: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Modules/Country/Services/CountryFactory.php:74 │ ): Zone { │ ├─ return Zone::create($id, $code, $name); │ } │ 4: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Modules/Country/App/Data/CountryMapper.php:89 │ ] = $zone; │ ├─ return $this->createZone($this->createZoneId((int)$id), $code, $name); │ } │ } 5: Gambio\Admin\Modules\Country\App\Data\CountryMapper::mapZone 6: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Modules/Country/App/Data/CountryMapper.php:70 │ private function mapZones(array $zones): Zones │ { ├─ $zones = array_map([$this, 'mapZone'], $zones); │ │ return $this->createZones(...$zones); 7: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Modules/Country/App/Data/CountryMapper.php:57 │ │ $id = $this->createCountryId((int)$id); ├─ $zones = $this->mapZones($data['zones']); │ │ return Country::create($id, $name, $zones, $isoCode2, $isoCode3, $addressFormat, $isActive === 'true'); 8: Gambio\Admin\Modules\Country\App\Data\CountryMapper::mapCountry 9: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Modules/Country/App/Data/CountryMapper.php:34 │ public function mapCountries(array $data): Countries │ { ├─ $countries = array_map([$this, 'mapCountry'], $data); │ │ return $this->createCountries(...$countries); 10: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Modules/Country/App/CountryRepository.php:59 │ public function getActiveCountries(int $languageId): Countries │ { ├─ return $this->mapper->mapCountries($this->reader->getActiveCountries($languageId)); │ } │ 11: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Modules/Country/App/CountryReadService.php:57 │ public function getActiveCountries(int $languageId): Countries │ { ├─ return $this->repository->getActiveCountries($languageId); │ } │ 12: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Modules/Customer/App/Actions/Json/CustomersOverviewAction.php:138 │ 'securityToken' => env('APP_SECURITY_TOKEN'), │ 'configurations' => $mergedConfigs, ├─ 'activeCountries' => $this->countryReadService->getActiveCountries($this->languageId) │ ->toArray(), │ 'adminPermissions' => $this->administratorPermissionRepository->getPermissions($this->userId), 13: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:38 │ } │ ├─ return $callable($request, $response, $routeArguments); │ } │ } 14: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/Routing/Route.php:358 │ │ $response = $this->responseFactory->createResponse(); ├─ return $strategy($callable, $request, $response, $this->arguments); │ } │ } 15: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/MiddlewareDispatcher.php:65 │ public function handle(ServerRequestInterface $request): ResponseInterface │ { ├─ return $this->tip->handle($request); │ } │ 16: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/MiddlewareDispatcher.php:65 │ public function handle(ServerRequestInterface $request): ResponseInterface │ { ├─ return $this->tip->handle($request); │ } │ 17: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/Routing/Route.php:315 │ } │ ├─ return $this->middlewareDispatcher->handle($request); │ } │ 18: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/Routing/RouteRunner.php:68 │ /** @var Route $route */ │ $route = $request->getAttribute(RouteContext::ROUTE); ├─ return $route->run($request); │ } │ } 19: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php:45 │ { │ $request = $this->performRouting($request); ├─ return $handler->handle($request); │ } │ 20: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/MiddlewareDispatcher.php:121 │ public function handle(ServerRequestInterface $request): ResponseInterface │ { ├─ return $this->middleware->process($request, $this->next); │ } │ }; 21: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php:76 │ { │ try { ├─ return $handler->handle($request); │ } catch (Throwable $e) { │ return $this->handleException($request, $e); 22: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/MiddlewareDispatcher.php:121 │ public function handle(ServerRequestInterface $request): ResponseInterface │ { ├─ return $this->middleware->process($request, $this->next); │ } │ }; 23: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Application/Middleware/AuthMiddleware.php:87 │ } │ ├─ return $handler->handle($request); │ } │ 24: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/MiddlewareDispatcher.php:168 │ if ($this->callableResolver instanceof AdvancedCallableResolverInterface) { │ $callable = $this->callableResolver->resolveMiddleware($this->middleware); ├─ return $callable($request, $this->next); │ } │ 25: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Application/Middleware/SecurityHeadersMiddleware.php:54 │ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface │ { ├─ $response = $handler->handle($request); │ $config = 'SEND_X_FRAME_OPTIONS_SAMEORIGIN_HEADER'; │ 26: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/MiddlewareDispatcher.php:168 │ if ($this->callableResolver instanceof AdvancedCallableResolverInterface) { │ $callable = $this->callableResolver->resolveMiddleware($this->middleware); ├─ return $callable($request, $this->next); │ } │ 27: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Application/Middleware/AdminActivityLogMiddleware.php:54 │ } │ ├─ return $handler->handle($request); │ } │ } 28: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/MiddlewareDispatcher.php:168 │ if ($this->callableResolver instanceof AdvancedCallableResolverInterface) { │ $callable = $this->callableResolver->resolveMiddleware($this->middleware); ├─ return $callable($request, $this->next); │ } │ 29: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioAdmin/Application/Middleware/UpdaterRedirectMiddleware.php:81 │ } │ ├─ return $handler->handle($request); │ } │ 30: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/MiddlewareDispatcher.php:168 │ if ($this->callableResolver instanceof AdvancedCallableResolverInterface) { │ $callable = $this->callableResolver->resolveMiddleware($this->middleware); ├─ return $callable($request, $this->next); │ } │ 31: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/MiddlewareDispatcher.php:65 │ public function handle(ServerRequestInterface $request): ResponseInterface │ { ├─ return $this->tip->handle($request); │ } │ 32: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/App.php:199 │ public function handle(ServerRequestInterface $request): ResponseInterface │ { ├─ $response = $this->middlewareDispatcher->handle($request); │ │ /** 33: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/vendor/slim/slim/Slim/App.php:183 │ } │ ├─ $response = $this->handle($request); │ $responseEmitter = new ResponseEmitter(); │ $responseEmitter->emit($response); 34: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioCore/Application/Kernel/HttpKernel.php:67 │ /** @var SlimApp $slim */ │ $slim = $this->application->get(SlimApp::class); ├─ $slim->run(new HttpRequest($slimRequest)); │ } │ } 35: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/GambioCore/Application/Application.php:70 │ $kernel->bootstrap($app, $bootstrapper); │ ├─ $kernel->run(); │ } │ 36: /var/www/vhosts/xxxxxxxx.xx/shop.xxxxxxxx.xx/admin/index.php:28 │ require_once __DIR__ . '/../vendor/autoload.php'; │ ├─ Application::main(new HttpKernel(), new GambioAdminBootstrapper()); extra: request: method: GET uri: /admin/api/customers-overview?per-page=20&page=1&sort=-registrationDate software: Apache address: xxx.xxx.xxx.xxx userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 Edg/135.0.0.0 time: 334 remoteAddress: d086d19eeacde6391a75db407b2793b5 query: per-page: 20 page: 1 sort: -registrationDate session: tpl: Honeygrid language: german languages_id: 2 language_charset: utf-8 language_code: de currency: EUR customers_status: customers_status_id: 0 customers_status_name: Admin customers_status_image: admin_status.gif customers_status_public: 1 customers_status_min_order: 0 customers_status_max_order: 0 customers_status_discount: 0.00 customers_status_ot_discount_flag: 1 customers_status_ot_discount: 0.00 customers_status_graduated_prices: 1 customers_status_show_price: 1 customers_status_show_price_tax: 1 customers_status_add_tax_ot: 0 customers_status_payment_unallowed: customers_status_shipping_unallowed: customers_status_discount_attributes: 0 customers_fsk18_purchasable: 0 customers_fsk18_display: 1 customers_status_write_reviews: 1 customers_status_read_reviews: 1 customer_id: 1
Ich kann den Fehler leider nicht genau interpretieren. Würde vermuten, dass es etwas mit Ländereinstellungen zu tun hat. Wurde in dem Bereich (Länder, Steuerzonen etc.) etwas verändert? Ansonsten vielleicht ein Ticket öffnen.
@mrbluesman hast du zufällig mal ein Bundesland ohne Kürzel angelegt? Wenn ja, ist das der Grund für den Fehler. Du musst beim Anlegen von "Zonen (Bundesländer)" auch entsprechende Kürzel angeben, diese dürfen nicht leer sein. Wenn du das Kürzel nicht kennst, kannst du auch einfach xx eintragen nur damit das Feld ausgefüllt ist. Wenn du ein Ticket erstellst, schauen wir mal rein ob es daran liegt.