Ich arbeite an einem CRON-Job, der ein PHP-Skript aufruft, das eine Menge Datenbankarbeit mit Schleifen erledigt. richtigGeneric "Killed" -Fehler in PHP-Skript
Es wird ausgeführt, wenn ich den Datensatz zu begrenzen, aber wenn ich es gegen den kompletten Datensatz ausführen, mit einer Nachricht die Skriptfehler aus:
Killed
set_time_limit ist (0) und memory_limit ist (- 1)
Hier ist der Codeabschnitt, wo es konsequent stirbt:
echo "I'm in _getMemberDemographicAttrs\n";
if (! empty ($member_id)) {
$query .= ' AND member_id = ' . $member_id;
}
$result = mysql_query ($query, $this->_db);
if ($result) {
while ($rule = mysql_fetch_assoc ($result)) {
$rules [] = $rule;
}
if (! empty ($rules)) {
mysql_free_result ($result);
echo "I'm leaving _getMemberDemographicAttrs\n";
return $rules;
}
}
die Ausgabe sieht wie folgt aus:
Ich habe nie diese generischeFehlermeldung gesehen und ich frage mich, was verursacht, dass es getötet wird?
Danke dafür.Ich habe herausgefunden, dass Linux den Prozess umbringt. Ich habe es gelöst, indem ich das Speicherlimit für PHP im Skript reduziert habe, wodurch PHP seinen Speicher anders verwalten und den Absturz vermeiden konnte. – Fuser97381
Danke. Genau das, was ich brauchte. – marlar
Für mich wurde das Problem durch das Upgrade von PHP 5.6 auf PHP 7 gelöst. Offensichtlich hängt es von vielen Faktoren ab, aber PHP 7 arbeitet effizienter, so dass es sich lohnt, es auszuprobieren. –