TempteriaTempteria MemberComments: 12 Received thanks: 0 Member since: October 2010 edited October 2010
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. ;)

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.

Comments

  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    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...
  • TempteriaTempteria MemberComments: 12 Received thanks: 0 Member since: October 2010
    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 ) )
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    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.
  • TempteriaTempteria MemberComments: 12 Received thanks: 0 Member since: October 2010
    Welche PHP-Version hast du denn im Einsatz?
    >>> PHP 5.2.6
    Kann man sich irgendwo eine php.ini ansehen (Eventuell per PN)
    >>> Info ist unterwegs.
  • TSchenkTSchenk MemberComments: 335 Received thanks: 36 Member since: June 2010
    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
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    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.
  • TSchenkTSchenk MemberComments: 335 Received thanks: 36 Member since: June 2010
    Hallo Stefan,

    ja richtig, lenny ;) erst frisch aufgesetzt da vorher noch nen etch vorhanden war :D
    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
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    Welche Fehlermeldung bekommst du denn?
  • TSchenkTSchenk MemberComments: 335 Received thanks: 36 Member since: June 2010
    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.
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    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?
  • TSchenkTSchenk MemberComments: 335 Received thanks: 36 Member since: June 2010
    Hi,

    also als erstes die Aktualisierung per DotDEB funktioniert schon mal. Dann tritt nicht mehr der Fehler mit dem Array auf ;)

    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...
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    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...
  • TSchenkTSchenk MemberComments: 335 Received thanks: 36 Member since: June 2010
    Das ist ne gute Frage...

    ich aktualisier mal den 2. Server auf die PHP 5.2.14 und schau mal wies da aussieht....
  • TempteriaTempteria MemberComments: 12 Received thanks: 0 Member since: October 2010
    Und der Fehler kommt, sobald du etwas in den Warenkorb legst?
    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
  • TSchenkTSchenk MemberComments: 335 Received thanks: 36 Member since: June 2010
    Tempteria wrote:
    Und der Fehler kommt, sobald du etwas in den Warenkorb legst?
    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
    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
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    @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.
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    @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.
  • TSchenkTSchenk MemberComments: 335 Received thanks: 36 Member since: June 2010
    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
    Thanked by 1Tempteria
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    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:
    Thanked by 1Tempteria
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    @Tempteria

    Ich habe jetzt mal auf dem Server geschaut, also bei dir ist das total strange.

    Sobald man auf ein assoziatives Array zugreifen möchte, wo ein Key nicht definiert ist - nimmt das scheinbar zufällig irgendeinen Wert an. Das kann man also nicht an einer Stelle fixen, weil es praktisch überall auftritt!

    Die einzige Idee die ich da hätte, wäre die PHP-Option allow_call_time_pass_reference zu deaktivieren, die könnte dafür verantwortlich sein.

    @Tschenk
    War das bei dir denn auch so, dass im Warenkorb der Inhalt der Kassenseite angezeigt wurde und bei Adresse links überall "Array,Array" stand?
  • TSchenkTSchenk MemberComments: 335 Received thanks: 36 Member since: June 2010
    Hey Stefan,

    so genau hab ich mir das im Code nicht weiter angeschaut, aber ich erinner mich, das bei Adresse usw überall Array stand, richtig.

    [EDIT]: ich setzt nachher nochmal ein Lenny in ne VM, geht ja schnell und probier das dann nochmal mit dem Parameter.
    Wenn ich da was weiß, meld ich mich hier :)


    Viele Grüße
    Thomas
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    Besten Dank! Ich bin erstmal raus, muss mal wieder einkaufen ;)
  • TempteriaTempteria MemberComments: 12 Received thanks: 0 Member since: October 2010
    Danke für die klasse Hilfe.

    Werde meinen Hoster kontaktieren.
  • Christian J,Christian J, MemberComments: 35 Received thanks: 0 Member since: October 2010
    Kann dem Update auf 5.2.14 von dotDeb zustimmen, dass dann die Fehlermeldung im Warenkorb anschliessend verschwunden sind.

    Danke für den Tipp...
  • TSchenkTSchenk MemberComments: 335 Received thanks: 36 Member since: June 2010
    Also Falls ihr ein Lenny mit Plesk haben solltet, macht vorsichtig beim Update des MySQL-Servers. Ich hab mir gerade dadurch das ganze System zerschossen... :(

    Naja nun hab ich noch a weng was zu tun, das des bald wieder geht :S

    Viele Grüße
    Thomas
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    Der Fehler betreffend MySQL ist in diesem Update korrigiert, siehe:
    viewtopic.php?f=17&t=209&p=1200#p1200
  • TempteriaTempteria MemberComments: 12 Received thanks: 0 Member since: October 2010
    Morgen,

    bei mir funktioniert es immer noch nicht. Die php.ini, MySQL, etc. alles wurde modifiziert... leider ohne Erfolg.

    Ich lasse mir heute eine spezielle Testumgebung konfigurieren. Dann werde ich Shopware nochmals neu installieren. Bin gespannt ;-)

    Feedback folgt.
  • Stefan HamannStefan Hamann AdministratorsComments: 2473 Received thanks: 443 Member since: June 2010
    Hallo nochmal,

    habe mir gerade selbst ein frisches Debian Lenny aufgesetzt.

    Mit PHP 5.2.6 läuft es definitiv nicht, egal welche Einstellungen man an der php.ini vornimmt. Da tritt irgendwo ein Memoryleak auf, der falsche Daten an die falschen Stellen schreibst ... Ich habe deshalb so eben die Systemvoraussetzungen angepasst. Die neue Mindestanforderung an die PHP-Version ist >= 5.2.12, mit dieser Version funktioniert es definitiv.
Sign In or Register to comment.