Hallo,
seit zwei tagen hänge ich fest bei einer einfachen Abfrage.
Die Abfrage funktioniert und liefert das gewünschte Ergebnis, aber sobald ich in die URL die ids mit Variablen ersetze, die exakt den gleichen Inhalt haben, dann dauert die Abfrage ewig:
//Diese Abfrage mit ParentID und OptionsID als Variable dauert etwa 5 Minuten
$url = "https://domain.de/public/api/product/".$parentId."/options/".$optionId."";
//Diese Abfrage mit ParentID und OptionsID als Konstante dauert etwa 2 Sekunden $url='https://domain.de/public/api/product/6969ffc3610a45dd9ac3fd6f5408aead/options/869d3df090b14ea6ad59770f8d6460e5';
Hatte sowas schonmal jemand von euch?
Ich weiß nicht mehr was ich noch probieren soll!?
Liebe Grüße
Shopware nutzt
declare(strict_types=1);
Sind $parentId und $optionId vom Typ string?
Hallo!
Danke für deine Rückmeldung!
Ja, ist string, gettype() liefert mir als Rückmeldung zu den beiden Variablen: string
Ich versteh es einfach nicht.
Hallo,
ich konnte das Problem nun lösen. Ich habe die foreach Schleife neu geschrieben, wahrscheinlich war da irgendein Fehler… genau weiß ich es nicht.
Nun ist die Anfrage aber immer noch sehr langsam. Ist die API an sich recht zäh?
Folgendes:
- Ich hole mir über search/produkt und einem Filter auf ein Freitextfeld ein Produkt, klappt super schnell.
Mit der dortigen parentId und den optionsIds der Varianten möchte ich nun noch die Bezeichnung der Varianten auslesen, also ob das Größe M oder S usw. ist…
Durch diesen Abruf dauert die Anfrage dann sehr lange, also genau 16,7 Sekunden:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL =>'https://domäne.de/public/api/product/'.$parentId.'/options/'.$optionId',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
"Accept: application/json",
"Content-Type: application/json",
"Authorization: Bearer $token"
),
));
$response = curl_exec($curl);
Das Ergebnis passt, aber 16 Sekunden sind viel zu lang. Bei SW5 habe ich mir das aus der Datenbank geholt, das ging im Wimpernschlag.
Kann mir jemand einen Tipp geben?
Keiner eine Idee?
Nutzt denn keiner Artikel mit Varianten und ließt diese via API aus?