Lorama: Script-Abbruch trotz set_time_limit(0)

Beitrag lesen

Hi,

an diese Logs werd ich nicht rankommen.
Einen konkreten Verdacht hab ich dank der memory_get_peak_usage() Ausgabe.
Sobald über 250M überschritten werden, ist es AUS.

Also prüfe ich gleich mal das Script, ob irgendwelche unnötigen Speicherplätze freigeräumt werden könnten. Sieht aber schon so aus, als würde alles ordentlich "bereinigt" werden, oder fällt dir auf Anhieb etwas auf?

Die Stelle, an der es abbricht, habe ich durch eine Vielzahl an echo/flush herausgefunden, siehe Kommentar

  
for($i=0;$i<$n;$i=$i+20)  
{  
 echo("<p>MEM: ".memory_get_peak_usage()."</p>\r\n");flush();  
 $dapiidtabelle=mysql_query("SELECT dapiid FROM bo_places WHERE dcrit<4 LIMIT ".$i.",20");  
 while($row=mysql_fetch_object($dapiidtabelle))  
 {  
	$dapiid=$row->dapiid;  
	$api_request="http://externe-api/".$dapiid;  
	unset($result);  
	for($retry=0;$retry<3;$retry++)  
	{  
		//beim Download von $api_request kommt jeweils eine Datenmenge zwischen 0 und 850KB  
		$result=file_get_contents($api_request);//HIER BRICHT DAS SCRIPT DANN AB  
		if($result)  
			break;  
	}  
	unset($response);  
	$response=json_decode($result);  
	if(!$result OR !$response OR !$response->blocks)  
	{  
		mysql_query("UPDATE bo_places SET dapiid_error=dapiid_error+1 WHERE dapiid=".($row->dapiid));  
	}  
	else  
	{  
		$response = json_decode($result);  
		$blocks=$row->dapiid;  
		mysql_query("UPDATE bo_places SET dapiid_error=0,blocks=".$blocks." WHERE dapiid=".($row->dapiid));  
		echo "<p>$dapiid: $blocks</p>";  
	}  
	flush();  
 echo("<br>\r\n");flush();  
 }  
 echo("<p>MEM: ".memory_get_peak_usage()."</p>\r\n");flush();  
 mysql_free_result($dapiidtabelle);  
}  

Sieht dort jemand eine Speicherleiche?

Thx