Seite 1 von 2

Fatal error: Allowed memory size exhausted

Verfasst: Fr 30. Mär 2007, 16:25
von blackelementz
Hallo habe gestern einen Fehler im Backend bekommen.

Ich wollte ein Bild Modul einbauen um Grafiken um Frontend auszutauschen.
Wollte dannn ein Bild einbinden und bekam folgenden Fehler:

Fatal error: Allowed memory size of 83886080 bytes exhausted (tried to allocate 54986760 bytes) in /www/htdocs/w006d751/web/contenido/includes/functions.general.php on line 51

Hab mich natürlich hier umgeschaut und versucht das Problem zu lösen.
Habe bei dem Web Hoster angefragt und das PHP Memory erhöhen lassen auf 80MB aber leider ohne erfolg.

Was läuft da schief?

Danke

Verfasst: Sa 31. Mär 2007, 12:23
von emergence
welche contenido version ?

lt. fehlermeldung hast du 80mb speicher zur verfügung...
benötigt werden würde aber ca um 50 mb mehr...

was steht den in der datei includes/functions.general.php bei zeile 51 (+/- 5 zeilen)

Verfasst: Mo 2. Apr 2007, 09:17
von blackelementz
Hallo,

danke erstmal für die Antwort!

Ja hab extra auf 80MB erweitert kann noch mehr aber ist das denn normal das soviel Speicher benötigt wird?

Das steht in der functions.general.php

Code: Alles auswählen

{
	global $db, $cfg, $a_content, $a_description;

	$sql = "SELECT
	                *
	            FROM
	                ".$cfg["tab"]["content"]." AS a,
	                ".$cfg["tab"]["art_lang"]." AS b,
	                ".$cfg["tab"]["type"]." AS c
	            WHERE
	                a.idtype    = c.idtype AND
	                a.idartlang = b.idartlang AND
	                b.idartlang = '".$idartlang."'";

	$db->query($sql);

	while ($db->next_record())
	{
		$a_content[$db->f("type")][$db->f("typeid")] = urldecode($db->f("value"));
		$a_description[$db->f("type")][$db->f("typeid")] = i18n($db->f("description"));
	}

}

/**
 * Checks if an article is assigned
 * to multiple categories
 *
 * @param Int Article-Id ($idart)
 * @param Int Client-Id
 * @return Bool Article assigned to multiple categories
 * @access Public
 */
function isArtInMultipleUse($idart)
{
Hoffe das hilft.

Ach und Con version ist Release: 4.6.8

Gruß

Verfasst: Mo 2. Apr 2007, 09:35
von Dodger77
In Zeile 51 befindet sich genau:

Code: Alles auswählen

$a_description[$db->f("type")][$db->f("typeid")] = i18n($db->f("description"));
Nur mal so eine Frage: ist evtl. eine der Datenbank-Tabellen (con_content, con_art_lang, con_type) extrem groß?
blackelementz hat geschrieben:Ach und Con version ist Release: 4.6.8
Unabhängig von dem Problem hier wäre ein Update angebracht.

Verfasst: Fr 20. Apr 2007, 11:40
von blackelementz
Hallo,

die Datenbank Tabellen haben folgende Größe:

Speicherplatzverbrauch laut phpMyAdmin
con_content = Insgesamt 125.812 Bytes
con_art_lang = Insgesamt 22.404 Bytes
con_type = Insgesamt 19.040 Bytes

Ist das ungewöhnlich? Ich hab da keine Ahnung von!

Gruß

Code: Alles auswählen

<div style="border: 1px solid #cccccc;" >
<div id="headline"  position:relative;">|| Shop Empfehlungen ||</div>
<table border="0" bordercolor="#000000">
  <tr> 
    <td width="19" bgcolor="#999999"><div align="center">1</div></td>
    <td width="161" align="left" valign="top" bgcolor="#999999"><div align="left"> 
        <?php

if ("CMS_IMG[845]" != "") {

    $img = '<img style="float:left; padding-right:5px" src="CMS_IMG[845]" border="0" width="70">';

    if ("CMS_LINK[845]" != "http://") {
        $img = sprintf('<a href="%s" target="%s">%s</a>',"CMS_LINK[845]", "CMS_LINKTARGET[845]", $img);

    }

    echo $img;

}
echo "CMS_HTML[845]"; 
echo "<br/>";
echo "CMS_IMGDESCR[845]";
echo "<br/>";
echo "CMS_LINKDESCR[845]";

?>
      </div></td>
  </tr>
  <tr> 
    <td bgcolor="#666666"><p align="center">2</p></td>
    <td align="left" valign="top" bgcolor="#666666"><div align="left"> 
        <?php

if ("CMS_IMG[846]" != "") {

    $img = '<img style="float:left; padding-right:5px" src="CMS_IMG[846]" border="0" width="70">';

    if ("CMS_LINK[846]" != "http://") {
        $img = sprintf('<a href="%s" target="%s">%s</a>',"CMS_LINK[846]", "CMS_LINKTARGET[846]", $img);

    }

    echo $img;

}
echo "CMS_HTML[846]"; 
echo "<br/>";
echo "CMS_IMGDESCR[846]";
echo "<br/>";
echo "CMS_LINKDESCR[846]";

?>
      </div></td>
  </tr>
  <tr> 
    <td bgcolor="#999999"><div align="center">3</div></td>
    <td align="left" valign="top" bgcolor="#999999"><div align="left"> 
        <?php

if ("CMS_IMG[847]" != "") {

    $img = '<img style="float:left; padding-right:5px" src="CMS_IMG[847]" border="0" width="70">';

    if ("CMS_LINK[847]" != "http://") {
        $img = sprintf('<a href="%s" target="%s">%s</a>',"CMS_LINK[847]", "CMS_LINKTARGET[847]", $img);

    }

    echo $img;

}
echo "CMS_HTML[847]"; 
echo "<br/>";
echo "CMS_IMGDESCR[847]";
echo "<br/>";
echo "CMS_LINKDESCR[847]";

?>
      </div></td>
  </tr>
  <tr> 
    <td bgcolor="#666666"><div align="center">4</div></td>
    <td align="left" valign="top" bgcolor="#666666"><div align="left"> 
        <?php

if ("CMS_IMG[848]" != "") {

    $img = '<img style="float:left; padding-right:5px" src="CMS_IMG[848]" border="0" width="70">';

    if ("CMS_LINK[848]" != "http://") {
        $img = sprintf('<a href="%s" target="%s">%s</a>',"CMS_LINK[848]", "CMS_LINKTARGET[848]", $img);

    }

    echo $img;

}
echo "CMS_HTML[848]"; 
echo "<br/>";
echo "CMS_IMGDESCR[848]";
echo "<br/>";
echo "CMS_LINKDESCR[848]";

?>
      </div></td>
  </tr>
  <tr> 
    <td bgcolor="#999999"><div align="center">5</div></td>
    <td align="left" valign="top" bgcolor="#999999"><div align="left"> 
        <?php

if ("CMS_IMG[849]" != "") {

    $img = '<img style="float:left; padding-right:5px" src="CMS_IMG[849]" border="0" width="70">';

    if ("CMS_LINK[849]" != "http://") {
        $img = sprintf('<a href="%s" target="%s">%s</a>',"CMS_LINK[849]", "CMS_LINKTARGET[849]", $img);

    }

    echo $img;

}
echo "CMS_HTML[849]"; 
echo "<br/>";
echo "CMS_IMGDESCR[849]";
echo "<br/>";
echo "CMS_LINKDESCR[849]";

?>
</div></td>
</tr>
</table>
</div>

Verfasst: Mo 23. Apr 2007, 10:56
von blackelementz
Keiner einen Rat bzw Tip?

Ist die Tabelle zu groß liegt es daran?

Verfasst: Mo 23. Apr 2007, 11:13
von Dodger77
blackelementz hat geschrieben:Ist die Tabelle zu groß liegt es daran?
Ich glaube nicht. Das Update auf die aktuelle Version hat auch nichts geändert?

Verfasst: Mo 23. Apr 2007, 12:12
von blackelementz
NE hab ich nicht gemacht.

Ganz ehrlich hab ich davor bissel schiss das dann garnichts mehr geht. Mich wundert das alles weil es vorher auch noch ging und nun kann man da keine Bilder mehr austauschen etc.

Hmmm... hatt denn noch niemand diesen Fehler gehabt mit den gleichen Symtomen und hat das gelöst?

Verfasst: Mo 23. Apr 2007, 12:24
von Dodger77
Die Frage nach der Version ist deshalb wichtig, da von der 4.6.8 zur 4.6.15 ca. 80 Bugs behoben worden sind. Und es macht den Supportern nicht viel Spaß, sich mit Problemen auseinanderzusetzen, die evtl. schon längst behoben sind.
Außerdem ist ein Update problemlos durchzuführen, es müssen halt nur Backups (Dateien und Datenbank) angelegt werden, bevor man die neue Version drüber bügelt.

Verfasst: Mo 23. Apr 2007, 12:30
von Dodger77
Ich habe das von dir verwendete Module mal auf meinem Server getestet und wie erwartet keine Schwierigkeiten gehabt. Enthält dein Upload-Ordner evtl. viele oder besonders große Dateien?

Verfasst: Di 24. Apr 2007, 15:23
von blackelementz
Hallo,

hab Contenido jetzt upgegraded. Fehler besteht immernoch.


Was soll ich nun machen?

Aktuelle Version 4.6.15... :roll:

Verfasst: Do 26. Apr 2007, 15:36
von blackelementz
Hallo,

Ich versuche jetzt nochmal alles was wissenswert ist um das Problem eventuell zu lösen zu posten.

Also auf der Seite http://www.distributionz.net sieht man rechts einen Newsletter Kontakt und darunter ist ein Bereich für Shop Empfehlungen und darunter die Top Empfehlungen.

Als ich letztens die Shop empfehlungen gegen einen Banner der dort immer erscheinen soll austauschen wollte und somit ein anderes Modul dafür erstellt habe konnte ich auf einmal keinen Content in dem Modul einfügen. Sei es HTML Text, ein Bild oder einen Link.

Immer erscheint dann im Backend der Fehler

Code: Alles auswählen

Fatal error: Allowed memory size of 83886080 bytes exhausted (tried to allocate 54986760 bytes) in /www/htdocs/w006d751/web/contenido/includes/functions.general.php on line 51
Hmm also ich sollte vielleicht noch erwähnen das das Modul per Include Template (Modol : Artikel einfügen) auf allen Seiten eingebunden wird.

Hmm vielleicht hilft das ja weiter...

Hoffe ich!

Gruß


Edit: Die Shop Empfehlungen hab ich jetzt mal rausgenommen (das Modul)

Verfasst: Do 26. Apr 2007, 15:56
von Dodger77
Da du anscheinend deine priv. Nachrichten nicht nachsiehst, mal kurz hier: dem Zugang, den du mir eingerichtet hast, fehlen Berechtigungen für so ziemlich alles. So kann ich mir auch nichts anschauen.

Verfasst: Do 26. Apr 2007, 17:53
von blackelementz
sorry mein Fehler...

Hast PN ;)

Verfasst: Di 15. Mai 2007, 17:10
von Dodger77
Interessante Sache. :wink:

Ich habe da gerade mal reingeschaut. Das Auftreten ist völlig unabhängig vom Content-Typen. In dem Artikel sind drin:

CMS_HTML, CMS_IMG (und die dazu gehörenden) und CMS_LINK (und die dazu gehörenden). Für den Artikel sind aber noch diverse Einträge von früher in der "con_content" drin.

Die oben genannte Fehlermeldung lässt sich auf die Zeile:

Code: Alles auswählen

$a_description[$db->f("type")][$db->f("typeid")] = i18n($db->f("description"));
in der Datei "functions.general.php" zurückführen. Aber viel weiter komme ich da gerade nicht. Ich habe mal zum Test ein Modul angelegt mit dem Code aus der "include.CMS_IMG.php". Wird dies im gleichen Artikel verwendet, tritt der Fehler nicht auf.