Fatal error: Unsupported operand types

Hallo Shopware-Team, erstmal großes Lob für das tolle Shopware-System. Bin sehr begeistert. Vielen Dank für die CE-Version. Nach anfänglichen Installationsproblemen läuft nun Shopware 3.5.0. auch bei mir. :wink: Es gibt jedoch zwei Fehler, die mir spontan auffallen: a) Wenn man oben auf das Warenkorb-Icon klickt, erhält man folgende Fehlermeldung: Fatal error: Unsupported operand types in /var/www/web1/html/shopware/engine/Shopware/Controllers/Frontend/Checkout.php on line 506 b) Klickt man im Header auf “Position anzeigen” erscheint nur das Lade-Symbol. Anbei Link: http://shopware.tempteria.de/ Habt Ihr vielleicht eine Lösung dafür? Vielen Dank im Voraus. Zett.

Hey, kannst du mal kurz in die Datei engine/Shopware/Controllers/Frontend/Checkout.php und dort in zeile 505 folgendes einfügen: Über: $basket['sAmountTax'] = round($basket['AmountNumeric']-$basket['AmountNetNumeric'], 2); print\_r($basket); exit; Bitte dann einmal reloaden und mir die Ausgabe schicken - kann den Fehler hier absolut nicht reproduzieren…

Hi, danke für die schnelle Antwort. Anbei: Array ( [sShippingcostsWithTax] => 0 [sShippingcostsNet] => 0 [sShippingcostsTax] => Array ( [country] => 2 ) [sTaxRates] => Array ( ) [sShippingcosts] => 0 [sAmount] => Array ( [country] => 2 ) )

Welche PHP-Version hast du denn im Einsatz? Kann man sich irgendwo eine php.ini ansehen (Eventuell per PN) Das Problem ist, dass bei dir bei sAmount ein Array ist - das darf / kann aber eigentlich nicht sein, da der Wert direkt in der Zeile darüber auf $basket[„amountNumeric“] gesetzt wird. Diesen Key gibt es bei dir in dem Array aber gar nicht, deshalb müsste das leer sein und kein Array. Das kann eigentlich nur ein PHP-Fehler als solches oder aber eine falsche Einstellung in der Php Konfiguration sein.

[quote=„Stefan Hamann“]Welche PHP-Version hast du denn im Einsatz?[/quote] >>> PHP 5.2.6 [quote=„Stefan Hamann“]Kann man sich irgendwo eine php.ini ansehen (Eventuell per PN)[/quote] >>> Info ist unterwegs.

Hallo Stefan, genau diese Probleme hatte ich ebenfalls gestern. (siehe Thread http://www.shopware-community.de/viewtopic.php?f=15&p=992#p992) Das lässt sich zwar relativ einfach fixen, sollte aber nicht Sinn und Zweck der Sache sein. Ich nutze eine PHP-Version 5.2.6-1+. Grüße Thomas

Hey Thomas, hast du einen Link zu einer php.ini - das sieht sehr nach einem Speicherleck in PHP aus, da er sich an dieser Stelle “einfach” den Inhalt eines anderen Arrays holt. Wahrscheinlich hast du Debian Lenny und deswegen die alte PHP-Version, oder? Eine Lösung wäre, das System mit Hilfe der Pakete von DotDeb auf 5.2.14 zu aktualisieren. http://www.dotdeb.org/ Damit hat sich das Problem mit an Sicherheit grenzender Wahrscheinlichkeit erledigt. Klar könnten wir dafür einen Fix bauen, aber ein Update wäre in jedem Fall besser.

Hallo Stefan, ja richtig, lenny :wink: erst frisch aufgesetzt da vorher noch nen etch vorhanden war :smiley: die DotDeb-Lösung hatte ich auch schon im Sinn, aber noch nicht gemacht. Das würde ich dann gleich einmal ausprobieren und hier berichten. Was sagst denn zu dem MYSQL-Fehler??? Grüße Thomas

Welche Fehlermeldung bekommst du denn?

Bei folgendem SELECT gibt die nette Meldung MySQL Database Error: Mixing of GROUP columns (MIN(),MAX(),COUNT(),…) with no GROUP columns is illegal if there is no GROUP BY clause SELECT SUM(s\_articles\_groups\_value.instock - s\_order\_basket.quantity) AS diffStock, s\_order\_basket.ordernumber FROM s\_articles,s\_articles\_groups\_value,s\_order\_basket WHERE s\_articles.MODE = 0 AND s\_articles.active = 1 AND s\_articles.laststock = 1 AND s\_articles.id = s\_articles\_groups\_value.articleID AND s\_articles\_groups\_value.ordernumber = s\_order\_basket.ordernumber AND s\_order\_basket.modus = 0 AND s\_order\_basket.sessionID = 'xxyyzz' Ich habs erstmal umgangen, in dem ich an das Ende des SELECTS die Klausel GROUP BY s_order_basket.ordernumber gehangen hab.

Und der Fehler kommt, sobald du etwas in den Warenkorb legst? Auf einem anderen Testsystem läuft es mit Mysql 5.0.51a und auf unseren internen Umgebungen mit Mysql 5.1 - welche Version hast du denn im Einsatz?

Hi, also als erstes die Aktualisierung per DotDEB funktioniert schon mal. Dann tritt nicht mehr der Fehler mit dem Array auf :wink: Der MySQL-Fehler kommt beim /Checkout/Confirm. MySQL-Server-Version ist die 5.0.51a-24+lenny4. Die könnt ich natürlich jetzt auch über das DotDEB updaten…

Genau die gleiche Version verwenden wir auch - hmmmmm… Mit MySQL 5.1 wird es sicherlich funktionieren, die Frage ist, warum tritt der Fehler bei dir auf und bei mir nicht…

Das ist ne gute Frage… ich aktualisier mal den 2. Server auf die PHP 5.2.14 und schau mal wies da aussieht…

[quote=“Tempteria”][quote=“Stefan Hamann”]Und der Fehler kommt, sobald du etwas in den Warenkorb legst?[/quote] Bei Klick auf Warenkorb kommt diese Fehlermeldung: Fatal error: Unsupported operand types in /var/www/web1/html/shopware/engine/core/class/sAdmin.php on line 2778 Versuch mal etwas in den Warenkorb zu legen. http://shopware.tempteria.de/testkate/5 … kel?c=2155[/quote] Das Problem kannst du mit einer neueren PHP-Version lösen. Wie Stefan weiter oben geschrieben hat, passiert es bei der Version 5.2.6 irgendwie das ein Speicherleck auftritt. @Stefan, auf dem zweiten Server ist es genauso… :S Viele Grüße Thomas

@Tempteria Es wäre super, wenn du mir die FTP-Zugangsdaten per PN schicken könntest, dann schaue ich mir das Problem direkt bei dir in der Umgebung an. Danach kann ich mit Sicherheit sagen, ob wir dafür einen Patch bringen müssen oder ob es wirklich ein generelles Problem mit PHP 5.2.6 ist - das taucht ja bei dir nun auch an einer anderen Stelle auf, als bei Thomas! Die FTP-Daten behandel ich natürlich vertraulich und die kannst und sollst du anschließend wieder ändern! Wenn das nicht gehen sollte, müsste ich erst selbst ein frisches Lenny aufsetzen, das kann aber ein bisschen dauern.

@Thomas auf dem zweiten Server hast du jetzt auf PHP 5.2.14 aktualisiert, wo durch sich die Probleme mit PHP erledigt haben, oder? MySQL hattest du dort noch nicht aktualisiert? Der SQL-Fehler ist also noch vorhanden? Tritt der wirklich nur bei der zweiten Abfrage auf? Die erste ist ja identisch und hat ebenfalls kein Group By.

Stefan, ich hatte das gepacht bei mir schon, ist eigentlich nur eine Stelle. Andere Fehler habe ich aber nicht weiter festgestellt. Nee der tritt schon bei beiden SQL-Messages auf… Viele Grüße Thomas

1 „Gefällt mir“

Das zu patchen ist ja kein Problem, mich würde nur interessieren warum Auftritt. Naja, ich denke ich werde Morgen mal ein Lenny aufsetzen und dann beide Probleme angehen - einfacher wäre natürlich die Systemvoraussetzungen nach oben zu korrigieren :quite:

1 „Gefällt mir“