Wieviel Speicher für PHP?

schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Wieviel Speicher für PHP?

Beitrag von schmitt197 » Di 18. Jan 2005, 15:20

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.

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 18. Jan 2005, 15:20

versuche es mal mit 32

warum da soviel speicher verwendet wird kann ich dir nicht sagen...

schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 » Di 18. Jan 2005, 15:40

Danke für die schnelle Antwort. Werde es mal probieren und dich auf dem Laufenden halten.

schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 » Di 18. Jan 2005, 16:31

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

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 18. Jan 2005, 17:17

keine Ahnung...lief das schonmal?

Wenn nein: Welche PHP-Version? Welche Serverumgebung?

schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 » Di 18. Jan 2005, 17:34

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

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 18. Jan 2005, 17:35

wieviele Kategorien sind das in etwa?

schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 » Di 18. Jan 2005, 17:38

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.

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 18. Jan 2005, 19:10

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...

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 18. Jan 2005, 19:26

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

Code: Alles auswählen

$poststring = $poststring.",".$tmp_idcat;
schreib mal genau darunter folgendes hin

Code: Alles auswählen

echo $tmp_idcat."<br>";
die ziffer die sich dann dauernd wiederholt ist vermutlich die idcat die den fehlerhaften eintrag hat...
*** make your own tools (wishlist :: thx)

schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 » Di 18. Jan 2005, 20:19

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.

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 18. Jan 2005, 20:30

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

Code: Alles auswählen

echo $tmp_idcat."<br>";
nimmst du raus und stellst folgendes über

Code: Alles auswählen

$poststring = $poststring.",".$tmp_idcat;

Code: Alles auswählen

echo "result-> idcat: ".$idcat." | tmp_idcat: ".$tmp_idcat." poststring: ".$poststring."<br>\n";
vor dem

Code: Alles auswählen

$db->query($sql);
schreibst du einfach noch folgendes hin

Code: Alles auswählen

echo $sql."<br>\n";
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...
*** make your own tools (wishlist :: thx)

schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 » Di 18. Jan 2005, 20:41

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?

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 18. Jan 2005, 20:47

gratuliere das ist die endlosschleife...
muss ich mir morgen mal ansehen was die preid ist
vielleicht kann timo auch noch was dazu sagen...
*** make your own tools (wishlist :: thx)

schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 » Di 18. Jan 2005, 20:49

OK. Danke auf jeden Fall schon mal für die schnelle Hilfe.

Gesperrt