Tom: Ladezeit messen / __destruct() ?

Beitrag lesen

Hello,

Damit misst du aber nur das Objekt, nicht das komplette Script.

Die Instanzbildung machst Du ganz am Anfang, Das Zerstören ganz am Ende. Das ist dann zwar keine exacte Script-Lebensdauer, aber kommt der schon ziemlich nahe.

Eine andere Möglichkeit wäre die Benutzung einer Funktion mit einer Static-Variablen in einem Auto-Prepend-File und einem Auto-Append-File.

http://de2.php.net/manual/en/ini.core.php#ini.auto-prepend-file
http://de2.php.net/manual/en/ini.core.php#ini.auto-append-file

Einrichtung:
PHP_INI_PERDIR Entry can be set in php.ini, .htaccess, httpd.conf or .user.ini (since PHP 5.3)
                                             ^^^^^^^^^^

  
#.htaccess  
php_value auto_prepend_file prepend.php  
php_value auto_append_file  append.php  
  

  
  
<?php ### prepend.php utf-8 ### ÄÖÜäöü  
  
function get_optime($mode)  
{  
    static $start;  
    static $fp;	  
  
	if ( $mode === 'start')  
    {  
		$start = microtime(true);  
		$fp = fopen('log.txt', 'ab+');  
        fwrite($fp, "startet at $start" . PHP_EOL);  
    }  
    elseif ($mode === 'stop' && is_resource($fp))  
    {  
        $stop = microtime(true);  
        fwrite ($fp, "stopped at $stop => operation time: " . ($stop - $start) . PHP_EOL);  
        fclose($fp);  ## kann mman sich wahrscheinlich schenken  
    }  
}	  
  
get_optime('start');  
  
?>  
  

Da ist dann die Messung dann wieder ein kleines Bisschen zu lang. Die exakte Scriptlebensdauer zu messen wird man wohl nicht hinbekommen.

  
<?php ### append.php ### utf-8 ÄÖÜäöü  
  
get_optime('stop');  
  
?>  
  

und ein Testsrcipt dazu

  
<?php  ### testscript.php ### utf-8 ### ÄÖÜäöü  
header('Content-Type: text/plain; CharSet=utf-8');  
set_time_limit(0);  
ob_end_clean();  
  
for ($i = 0; $i < 50; $i++)  
{  
	echo date('H:i:s') . " - Hallo\r\n";  
	flush();  
	sleep(1);  
}  
  
?>  
  

Funktioniert aber nur, wenn das Hauptscript nicht mit exit() beendet wird.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
Die ultimative Seite für Selbermacher