Antwort #11 am: 18. September 2013, 15:54:27
Hallo,
der Fehler von Piru tritt auf, wenn der Shop und Datenbank zurückgesetzt wird. Der ist nach einem Seitenreload normalerweise wieder verschwunden und der Shop funktioniert wieder.
Was uns mehr beschäftigt ist das:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 281317113 bytes) in /var/www/clients/client1/web71/web/tags/modified-1.06/inc/xtc_href_link.inc.php on line 62
Aber wie Torsten bereits gesagt hat, sind wir dran den Fehler zu korrigieren.
Gruss Gerhard
Ich konnte diesen Fehler auch schon nachstellen.
Der Übeltäter ist hier die Funtion xtc_not_null.
2 Dinge erzeugen viel Speicher, zum einen die Funktion sizeof und die verschaltete Funktion strlen(trim($value)).
sizeof habe ich durch count() ersetzt und die verschachtelte Funktion getrennt.
Ich habe die Erfahrung gemacht, daß PHP 5.4 solche Verschachtelungen nicht mag und Strict-Meldungen auswürft. Das unterdrücken dieser Meldungen bringt nix, da hier nur die Ausgabe unterdrückt wird, nicht jedoch die Meldung/Erkenntnis selbst. Jede Meldung belegt aber Speicher (auch wenn Sie nicht angezeigt wird) und somit folgt dann irgendwann dieser Fatal Error.
Meine inc/xtc_not_null.inc.php sieht nun wie folgt aus:
<?php/* -----------------------------------------------------------------------------------------
$Id: xtc_not_null.inc.php 899 2005-04-29 02:40:57Z hhgag $
XT-Commerce - community made shopping
http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))
Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(general.php,v 1.225 2003/05/29); www.oscommerce.com
(c) 2003 nextcommerce (xtc_not_null.inc.php,v 1.3 2003/08/13 23:38:05); www.nextcommerce.org
Released under the GNU General Public License
---------------------------------------------------------------------------------------*/ function xtc_not_null
($value) { if (is_array($value)) { //if (sizeof($value) > 0) { if (count($value) > 0) { return true; } else { return false; } } else { $trimValue = trim($value); //if (($value != '') && ($value != 'NULL') && (strlen(trim($value)) > 0)) { if (($value != '') && ($value != 'NULL') && (strlen($trimValue) > 0)) { return true; } else { return false; } } } ?> Bitte testet das bei Euch auch mal, bei mir läufts nun ohne Probleme.