ID: 10066
User Update by: [EMAIL PROTECTED]
Status: Open
Bug Type: Scripting Engine problem
Description: Paser fails to report missing "}"

Sorry again, I should have mention about error log.
PHP is logging parse error where it should be. It just does not show parse error on 
browser.

Form PHP4.0.4pl1/Apache DSO/RedHat Linux 7.0.1/ja
============================================
[30-Mar-2001 07:02:26] PHP Parse error:  parse error in 
/home/httpd/dev/ygb-web/include/classlib/Form.inc on line 1309
============================================

Previous Comments:
---------------------------------------------------------------------------

[2001-03-29 19:09:55] [EMAIL PROTECTED]
do you get any error messages in apaches error_log
if you turn log_errors on?

by the way: the reason i asked for error_reporting
settings was that a lot of people re-use their
settings from php3 , usually 7 or 15 , and
miss some of the new error classes, esp. zend
parse errors by that



---------------------------------------------------------------------------

[2001-03-29 18:53:57] [EMAIL PROTECTED]
Oops, the latter one is php.ini for Linux/Apache/PHP4.0.4pl1

---------------------------------------------------------------------------

[2001-03-29 18:51:30] [EMAIL PROTECTED]
I should have written this. Sorry.
Error reporting is E_ALL for both W2K and Linux.

(I edited to get rid of comments, I might be messed up a little. If you need whole 
php.ini, please let me know)
=== php.ini (PHP4.0.5RC1 Windows Partial ini) ===
engine          =       On      
short_open_tag  =       Off
asp_tags        =       Off 
precision       =       14
y2k_compliance  =       Off
output_buffering        = Off   
output_handler          =       
zlib.output_compression = Off   
implicit_flush          = Off
allow_call_time_pass_reference  = Off   

error_reporting =       E_ALL   
display_errors  =       On      
display_startup_errors = On
log_errors      =       Off
track_errors    =       On
warn_plus_overloading   =       Off

variables_order         =       "GPCS"  
register_globals        =       Off
register_argc_argv      =       Off
post_max_size           =       8M

magic_quotes_gpc        =       Off
magic_quotes_runtime    =       Off     
magic_quotes_sybase     =       Off
auto_prepend_file       =
auto_append_file        =

default_mimetype = "text/html"
default_charset = "EUC-JP"

=== php.ini (PHP4.0.4pl1 Windows Partial ini) ===
engine            =    On    
short_open_tag    =    Off   
asp_tags          =    Off    
precision         =    14    
y2k_compliance    =    Off   
output_buffering  =    Off   
output_handler    =
implicit_flush    = Off
allow_call_time_pass_reference    = Off

error_reporting   =    E_ALL     
display_errors    =    On        
isplay_startup_errors = Off
log_errors        =    On
error_log         =    /var/log/php/php-error.log
track_errors      =    On
warn_plus_overloading    =    Off

variables_order      =  "EGPCS"
register_globals     =  Off
register_argc_argv   =    Off
post_max_size        =    8M
magic_quotes_gpc     =    Off
magic_quotes_runtime =    Off
magic_quotes_sybase  =    Off
auto_prepend_file    =
auto_append_file     =

default_mimetype = "text/html"
default_charset  = "EUC-JP"



---------------------------------------------------------------------------

[2001-03-29 18:16:05] [EMAIL PROTECTED]
what does your php.ini, especialy error_reporting look like?

---------------------------------------------------------------------------

[2001-03-29 17:43:04] [EMAIL PROTECTED]
PHP fails to report missing "}".

I could not reproduce this problem with simpler script. However, it happens on both 
Linux and W2K on longer script. (I think it may be easily to reproduce this problem if 
you get rid of "}" in 1000-2000 lines script with a lot of class definitions)

PHP4.0.4pl1 - as Apache module under Linux
PHP4.0.4RC1 - as Apache module under W2K

IE just keeps spinning or complains "no server or DNS error".

Problem happens on code like:
============
class foo{
        function bar($str) {
                switch ($str) {
                        case 'a': 
                                if (isset($var)) {
                                        echo 'No } after this line';
                        break;
        }
}
============

This kind of programming error is easy to find with good editor, though. 


---------------------------------------------------------------------------

The remainder of the comments for this report are too long.  To view the rest of the 
comments, please view the bug report online.

Full Bug description available at: http://bugs.php.net/?id=10066


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to