Für ein PHP-Script benötigte ich eine "register_tick-function" mit einer declare-Anweisung.
Hier das Original-Beispiel von php.net :
- Code: Select all
<?php
// Funktion, die bei Aufruf die Zeit aufzeichnet
function profile($dump = FALSE)
{
static $profile;
// Rückgabe der gespeicherten Zeit aus profile, danach löschen
if ($dump) {
$temp = $profile;
unset ($profile);
return ($temp);
}
$profile[] = microtime ();
}
// Einen tick handler bestimmen
register_tick_function("profile");
// Funktion vor dem declare-Block initialisieren
profile();
// Ausführen eines Code-Blocks, jede 2te Anweisung löst einen tick aus
declare(ticks=2) {
for ($x = 1; $x < 50; ++$x) {
echo similar_text(md5($x), md5($x*$x)), "<br />;";
}
}
// Ausgabe der gespeicherten Daten aus dem Profiler
print_r(profile (TRUE));
?>
Dieses Script läuft bei mir nicht, da der Apche-Server bei der declare-Anweisung zusammenbricht (Acception Error).
1. Frage
Gibt es unter Windows (NT) eine neuere Version von PHP und/oder Apache, die den Abbruch verhindert oder liegt es irgendwie an dem Script selbst ?
2. Frage
Gibt es ein "work-around" mit der ich ggf. die gleiche Funktionalität erreichen könnte ?
Anmerkung
Mein Problem ist, dass ich innerhalb von Funktionen, die u.a. Daten von über 1.000.000 Sätzen als import in bestehende Datenbanken vornehmen müssen, den Benutzer über den jeweiligen Stand (zwischendurch !)informieren möchte.
Vielen Dank an dieser Stelle ...