Mailinglisten-Archive |
Hi Ihr, hi Alexander, hi Max,
Alexander Weber schrieb:
> Dann bleibt wohl nichts anderes übrig, als ein bißchen außen herum zu
> bauen, wenn es auch parse errors unterstützen soll. Dazu
> braucht man ein
> Script, daß die Ausgabe des anderen (das es als Parameter erhält) in
> eine Variable speichert und anschließend den String von Hand
> durchsucht.
Jepp, man könnte das evtl.
mit assert() machen.
Hier mal eine einfache Version von Max Idee,
bei einem Fehler müßte halt noch der
passenden Content-Type für PHP rausgeschossen
werden:
8<------ CUT testo.php ------
<?php
error_reporting(E_ALL);
function myhandler($errno, $errstr, $errfile, $errline) {
printf('<a href="/testo.php?file=%s&line=%s&errstr=%s#line%s">%s: %s
in line %s</a><br />',
urlencode($errfile),
urlencode($errline),
urlencode($errstr),
$errno, htmlentities($errstr), $errline, $errline);
flush();
};
set_error_handler('myhandler');
unset($ary[hallo]);
if ( (isset($HTTP_GET_VARS['file'])) && ($file=$HTTP_GET_VARS['file'])
&& (file_exists($file))) {
ob_start();
show_source($file);
$content= ob_get_contents();
ob_end_clean();
$ary=explode('<br />', $content);
$content='';
$counter=0;
foreach($ary as $line) {
$counter++;
$content.=sprintf('%s <a
name="line%s">%s<br />',
((isset($HTTP_GET_VARS['line'])) &&
($HTTP_GET_VARS['line']==$counter)) ? '<br /><br /><font
color="red">ERR: '.$HTTP_GET_VARS['errstr'].'</font><br />' : '',
$counter, $line);
};
echo $content;
};
?>
8<---------------------- CUT HERE ---------
Das sollte natürlich nur in einem Dev-Environment
stattfinden.
Liebe Grüße
Johann
php::bar PHP Wiki - Listenarchive