Bug #17734 Updated: CLI and CGI sapi return error code '0' (success) if file couldn't be parsed

From: Date: Thu, 13 Jun 2002 13:30:06 +0000
Subject: Bug #17734 Updated: CLI and CGI sapi return error code '0' (success) if file couldn't be parsed
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-10335@lists.php.net to get a copy of this message
ID: 17734 Updated by: sniper@php.net Reported By: mfischer@php.net Status: Analyzed -Bug Type: *General Issues +Bug Type: Scripting Engine problem Operating System: Any PHP Version: 4.0CVS-2002-06-12 New Comment: So it's another Zend buggie. :) Previous Comments: ------------------------------------------------------------------------ [2002-06-13 05:45:21] edink@php.net The trouble is that zend_execute_scripts() treats exit() as an error condition. So we can either detect parse errors, or have correct exit_code. So zend needs to be fixed either to: 1. set EG(exit_code)=255 on parse and other critical errors or 2. return SUCCESS even after call to exit() ------------------------------------------------------------------------ [2002-06-12 22:09:54] mfischer@php.net $ cat test.php <? happy_parser_error( ?> $ php -v PHP 4.3.0-dev (cli), Copyright (c) 1997-2002 The PHP Group Zend Engine v1.2.1, Copyright (c) 1998-2002 Zend Technologies $ php -f test.php ; echo $? Parse error: parse error, unexpected ';', expecting ')' in test.php on line 3 test.php(3) : Parse error - parse error, unexpected ';', expecting ')' 0 $ php-cgi -v PHP 4.3.0-dev (cgi), Copyright (c) 1997-2002 The PHP Group Zend Engine v1.2.1, Copyright (c) 1998-2002 Zend Technologies $ php-cgi -f test.php ; echo $? <br /> <b>Parse error</b>: parse error, unexpected ';', expecting ')' in <b>/home/mfischer/test.php</b> on line <b>3</b><br /> /home/mfischer/test.php(3) : Parse error - parse error, unexpected ';', expecting ')' 0 The CLI version seems to be right at first: $ php -r 'happy_parser_error(' ; echo $? Command line code(1) : Parse error - parse error, unexpected $, expecting ')' 254 But suffers the limitation that you can't change the exit status: $ php -r 'exit(2);' ; echo $? 255 (This is open in http://bugs.php.net/?id=17733&edit=1 , just mentioning here). Needs to be fixed before 4.3 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=17734&edit=1

« previous php.bugs (#10335) next »