Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:1020 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 56648 invoked from network); 23 Apr 2003 20:53:08 -0000 Received: from unknown (HELO jdi.jdimedia.nl) (212.204.192.51) by pb1.pair.com with SMTP; 23 Apr 2003 20:53:08 -0000 Received: from jdi.jdimedia.nl (jdi.jdimedia.nl [212.204.192.51]) by jdi.jdimedia.nl (8.12.4/8.12.4) with ESMTP id h3NKr3Nw005163; Wed, 23 Apr 2003 22:53:04 +0200 Date: Wed, 23 Apr 2003 22:53:03 +0200 (CEST) X-X-Sender: derick@jdi.jdimedia.nl To: PHP Developers Mailing List cc: engine2@lists.zend.com Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: parse errors no longer visible From: d.rethans@jdimedia.nl (Derick Rethans) Hello, I was trying to make a screenshot of a parse error today, but found out that I was unable to get it shown on the screen. Error reporting was set to 2047 in php.ini, but still nothing to see (only in my apache error log). So I tracked the calls into php_error_cb, and see here the results: (gdb) run -X Starting program: /dat/dev/php/apache_1.3.27/src/httpd -X Program received signal SIGINT, Interrupt. 0x407c15be in __select () at __select:-1 -1 __select: No such file or directory. in __select (gdb) bre php_error_cb Breakpoint 1 at 0x80aefce: file /dat/dev/php/php-5.0.0dev/main/main.c, line 584.(gdb) cont Continuing. Breakpoint 1, php_error_cb (type=4, error_filename=0x841ae84 "/home/httpd/html/test/xdebug_error.php", error_lineno=3, format=0x84d1710 "parse error", args=0xbfffbbe8) at /dat/dev/php/php-5.0.0dev/main/main.c:584 warning: Source file is more recent than executable. 584 buffer_len = vspprintf(&buffer, PG(log_errors_max_len), format, args); (gdb) next 585 if (PG(ignore_repeated_errors)) { (gdb) next 595 display = 1; (gdb) next 597 strlcpy(last_error.buf, buffer, sizeof(last_error.buf)); (gdb) next 598 strlcpy(last_error.filename, error_filename, sizeof(last_error.filename)); (gdb) next 599 last_error.lineno = error_lineno; (gdb) next 602 if (display && (EG(error_reporting) & type || (type & E_CORE)) (gdb) print executor_globals.error_reporting $1 = 0 As you see the error_reporting level is '0' here, and thus nothing is shown. I couldn't find why it is '0' here, but I suspect that the following patch might be the problem: http://news.php.net/article.php?group=php.zend-engine.cvs&article=638 Derick -- ------------------------------------------------------------------------- Derick Rethans http://derickrethans.nl/ JDI Media Solutions http://www.jdimedia.nl/ PHP Magazine - PHP Magazine for Professionals http://php-mag.net/ -------------------------------------------------------------------------