Wie verhindere ich, dass ein PHP-Skript aufgrund einer langen mysql-Abfrage eine Zeitüberschreitung erfährt?

Ich habe eine Aktualisierungsabfrage, die von einer Cron-Task ausgeführt wird, deren Zeitüberschreitung abläuft. Die Abfrage dauert bei Ausführung in navicat im Durchschnitt fünf Minuten.

Der Code sieht ungefähr so aus. Es ist ganz einfach

// $db is a mysqli link
set_time_limit (0); // should keep the script from timing out
$query = "SLOW QUERY";
$result = $db->query($query);
if (!$result)
    echo "error";

Auch wenn das Skript keine Zeitüberschreitung haben sollte, scheint die Wartezeit für den SQL-Aufruf dennoch einer Zeitüberschreitung zu unterliegen.

Gibt es einen asynchronen Aufruf, der verwendet werden kann? Oder das Timeout einstellen?

Ist das Timeout anders, weil es nicht über Apache, sondern über die Befehlszeile aufgerufen wird?

Vielen Dan

Antworten auf die Frage(10)

Ihre Antwort auf die Frage