Seite 1 von 4
Wieviel Speicher für PHP?
Verfasst: Di 18. Jan 2005, 15:20
von schmitt197
HI,
ich habe meine anderen Probleme bei der Installation inzwischen fixen können. Allerdings kann ich u.a. immer noch keine Kategorien anlegen. Im Errorlog erscheint jetzt
[18-Jan-2005 14:50:48] PHP Fatal error: Allowed memory size of 8388608 bytes exhausted at (null):0 (tried to allocate 4850 bytes) in /srv/www/*****/html/contenido/includes/functions.str.php on line 240
[18-Jan-2005 15:10:23] PHP Fatal error: Allowed memory size of 16777216 bytes exhausted at (null):0 (tried to allocate 7620 bytes) in /srv/www/****/html/contenido/includes/functions.str.php on line 240
habe den Speicher schon von 8MB auf 16 erhöht, aber COntenido motzt immer noch. Woran kann der Fehler noch liegen? Auf anderen Servern funkttioniert Contenido mit 16MB einwandfrei.
Danke.
Verfasst: Di 18. Jan 2005, 15:20
von timo
versuche es mal mit 32
warum da soviel speicher verwendet wird kann ich dir nicht sagen...
Verfasst: Di 18. Jan 2005, 15:40
von schmitt197
Danke für die schnelle Antwort. Werde es mal probieren und dich auf dem Laufenden halten.
Verfasst: Di 18. Jan 2005, 16:31
von schmitt197
Hallo der Fehler besteht bei 32 MB leider immer noch
[18-Jan-2005 16:15:27] PHP Fatal error: Allowed memory size of 33554432 bytes exhausted at (null):0 (tried to allocate 11364 bytes) in /srv/www/******/html/contenido/includes/functions.str.php on line 240
Woran kann der Fehler denn liegen? Kann doch nicht ständig den Arbeitsspeicher erhöhen
Verfasst: Di 18. Jan 2005, 17:17
von timo
keine Ahnung...lief das schonmal?
Wenn nein: Welche PHP-Version? Welche Serverumgebung?
Verfasst: Di 18. Jan 2005, 17:34
von schmitt197
Ich habe es von nem anderen Server umgezogen. Da lief´s einwandfrei. Auf dem neuen Server haben Sachen wie Kategorien anlegen ne Zeit lang funktioniert, dann auf einmal nimmer.
In der DB habe ich auch schon die Rechte gecheckt und die passen
Umgebung:
PHP Version 4.3.3
phpMyAdmin 2.5.3
MySQL 4.0.15
Apache Web-Server
Fänd´s echt genial, wenn du mir irgendwie weiterhelfen könntest.
Danke
Verfasst: Di 18. Jan 2005, 17:35
von timo
wieviele Kategorien sind das in etwa?
Verfasst: Di 18. Jan 2005, 17:38
von schmitt197
Das war nur der Testmandant. Also nicht soviele. Glaube 3 Hauptkategorien und paar Unterkategorien. Habe allerdings noch nen anderen Mandanten, der 2 Hauptkategorien und ca. 10 Unterkategorien hat. Der funktioniert auch noch und da lange ich auch nicht hin, weil das produktive Daten sind und ich habe Angstm, dass die verloren gehen, wenn ich jetzt was mache.
Verfasst: Di 18. Jan 2005, 19:10
von timo
Hmm, also ich würde sagen, daß da etwas mit deinem PHP nicht in Ordnung ist...denn im Normalfall darf das niemals soviel Speicher mit den wenigen Kategorien brauchen...
Verfasst: Di 18. Jan 2005, 19:26
von emergence
ich würd einfach sagen, da wird ne endlosschleife gebaut...
hängt vermutlich mit einem fehlerhaften db eintrag zusammen...
ich gehe mal davon aus das das ne 4.4.4 version ist
/contenido/includes/functions.str.php on line 240
Code: Alles auswählen
function strOrderedPostTreeList ($idcat, $poststring) {
global $db;
global $client;
global $lang;
global $cfg;
$sql = "SELECT idcat FROM ".$cfg["tab"]["cat"]." WHERE parentid=0 AND preid='$idcat'";
$db->query($sql);
if ( $db->next_record() ) {
$tmp_idcat = $db->f("idcat");
$poststring = $poststring.",".$tmp_idcat;
$poststring = strOrderedPostTreeList($tmp_idcat, $poststring);
}
return $poststring;
}
zeile 240 ist das hier
schreib mal genau darunter folgendes hin
die ziffer die sich dann dauernd wiederholt ist vermutlich die idcat die den fehlerhaften eintrag hat...
Verfasst: Di 18. Jan 2005, 20:19
von schmitt197
Danke.
Stimmt ist v 4.4.4. Habe ich leider vorhin vergessen.
Habe die Änderung in der Datei gemacht und folgendes Ergebnis bekommen:
12
2
0
1
Was mache ich jetzt damit? Die Artikel löschen oder wie?
Im Errorlog steht weiterhin, die gleiche Fehlermeldung. Ist nichts Neues dazu gekommen.
Verfasst: Di 18. Jan 2005, 20:30
von emergence
das sind keine artikel ids
kommen nur diese 4 ziffern oder wiederholt sich das ganze... ?
hmm ich hab zwar keine ahnung was in $poststring drinnen steht...
mach folgendes
nimmst du raus und stellst folgendes über
Code: Alles auswählen
echo "result-> idcat: ".$idcat." | tmp_idcat: ".$tmp_idcat." poststring: ".$poststring."<br>\n";
vor dem
schreibst du einfach noch folgendes hin
dann erhälst du alle querys und alle strings die pro query ausgegeben werden
vielleicht läßt sich dann mehr rauslesen...
sollte unterhalb eines sql statements kein result kommen sollte das query kein ergebniss liefern...
Verfasst: Di 18. Jan 2005, 20:41
von schmitt197
Das Ganze hat sich wiederholt.
HAbe die anderen Änderungen gemacht und jetzt schauts anders aus.
Fängt an mit:
SELECT idcat FROM con_cat WHERE parentid=0 AND preid='1'
result-> idcat: 1 | tmp_idcat: 12 poststring:
SELECT idcat FROM con_cat WHERE parentid=0 AND preid='12'
result-> idcat: 12 | tmp_idcat: 2 poststring: ,12
SELECT idcat FROM con_cat WHERE parentid=0 AND preid='2'
result-> idcat: 2 | tmp_idcat: 0 poststring: ,12,2
SELECT idcat FROM con_cat WHERE parentid=0 AND preid='0'
result-> idcat: 0 | tmp_idcat: 1 poststring: ,12,2,0
SELECT idcat FROM con_cat WHERE parentid=0 AND preid='1'
result-> idcat: 1 | tmp_idcat: 12 poststring: ,12,2,0,1
Die Seite wird dann endlos lang und die Einträge da werden immer um ein SELECT idcat FROM con_cat ergänzt und das poststring: ,12,2,0,1 um eine Ziffer ergänzt. Aber immer nur die 4 Ziffern. Was sagt das jetzt aus?
Verfasst: Di 18. Jan 2005, 20:47
von emergence
gratuliere das ist die endlosschleife...
muss ich mir morgen mal ansehen was die preid ist
vielleicht kann timo auch noch was dazu sagen...
Verfasst: Di 18. Jan 2005, 20:49
von schmitt197
OK. Danke auf jeden Fall schon mal für die schnelle Hilfe.