phpbar.de logo

Mailinglisten-Archive

[php] Seltsamer Scriptabbruch ohne Fehlermeldung

[php] Seltsamer Scriptabbruch ohne Fehlermeldung

Sebastian Mendel lists at sebastianmendel.de
Die Jul 6 09:14:35 CEST 2004


Jan Piotrowski schrieb:

> Hallo,
> 
> ich habe momentan wirklich ein sehr seltsames Problem. Mein Script
> bricht dauernd ohne Fehlermeldung ab, obwohl alle Einstellungen am
> Server eigentlich passen sollten. max_execution_time ist auf einen Tag
> eingestellt, memory_limit auf 500 MB (bei 1,5 GB). Das sollte keine
> Probleme geben eigentlich.
> 
> Damit ihr es versteht hier das Script, die Tabelle "test" hat 1
> Million Einträge:
> 
> <?
> error_reporting(E_ALL);
> ini_set('display_errors', true);
> require("include/database.php");
> 
> $link_ids = array();
> $j = 20;
> 
> $result = mysql_query("SELECT id FROM test") or die(mysql_error());

echo mysql_num_rows( $result );

> 
> echo "<ol style=\"margin-left:100px;\">";
> 
> while($array = mysql_fetch_array($result)) {

ein mysql_fetch_assoc() könnte etwas speicher sparen ...
ein mysql_fecth_row() wohl noch mehr
dann muss man natürlich $array[0] verwenden für die id

> 
>    echo "<li>".$array['id']."<li>";

übrigens muss es heisen:

echo "<li>".$array['id']."</li>";


> 
>    for ($i=0;$i<$j;$i++) {
>       array_push ($link_ids, $array['id']);
>    }
> 
> }
> 
> echo "</ol>";
> ?>
> 
> Es werden also alle IDs ausgelesen, 20 mal in das Array geschrieben

wozu? reicht es nicht erstmal jede ID nur einmal in das Array zu schreiben ?

oder eventuell

$link_ids[$array['id']] = array();

und dann diesem array später 20 Elemente nach bedarf hinzufügen, bzw 
wenn es abgearbeitet wird einfach 20 mal machen was auch immer du machen 
willst?


> und am bei jeder ID die ID ausgegeben damit ich weiss wie weit das
> Script ist. Meist hört das ganze bei ~ 320.000 auf und macht einfach
> nicht weiter.

bei 320.000 ist das HTML-File ja auch schon mal an die 3MB ... 
vielleicht schaffts auch dein Browser nicht?


> Auf dem Server läuft PHP 4.3.1, die Einstellungen sollten wie oben
> beschrieben ausreichend sein. Leider kann ich das Script nicht
> aufteilen etc, sondern muss das wirklich an einem Script durchlaufen
> lassen. Auch auf die Ausgaben im Browser kann ich nicht verzichten.
> 
> Hat irgend jemand eine Idee an was das liegen könnte?

wenn man wüsste was du überhaupt machen willst würde man betimmt einen 
besseren Weg finden ...


-- 
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime        www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive