#20035 [Opn->Asn]: __LINE__ miscounts with #!/path/php scripts

From: Date: Sun, 27 Oct 2002 19:20:28 +0000
Subject: #20035 [Opn->Asn]: __LINE__ miscounts with #!/path/php scripts
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-23450@lists.php.net to get a copy of this message
ID: 20035 Updated by: iliaa@php.net Reported By: befletch@yahoo.com -Status: Open +Status: Assigned Bug Type: Scripting Engine problem Operating System: OpenBSD 3.1 PHP Version: 4.2.3 -Assigned To: +Assigned To: iliaa Previous Comments: ------------------------------------------------------------------------ [2002-10-23 10:13:15] sander@php.net The shebang line doesn't get stripped off by the kernel, PHP does that. This is a bug. ------------------------------------------------------------------------ [2002-10-23 00:44:20] derick@php.net Your kernel strips the first line, and so PHP sees the last 3 lines. As it doesn't know that the kernel stripped the first shebang line it's obvious that your line 3 reports line 2. Derick ------------------------------------------------------------------------ [2002-10-22 20:25:37] befletch@yahoo.com Excuse me, but I don't understand why this isn't a bug. The only reference to __LINE__ I can find in the documentation is here: http://www.php.net/manual/en/language.constants.php I can find nothing that suggests it is reasonable that __LINE__ counts are off by one when used in #! prefixed command line scripts, (but not in other uses) and I can see no reason why this would be considered reasonable behaviour. Can someone give me at least a 1 sentence explanation instead of just hitting the 'quick-fix' RTFM button? ------------------------------------------------------------------------ [2002-10-22 19:39:04] iliaa@php.net Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php ------------------------------------------------------------------------ [2002-10-22 19:34:54] befletch@yahoo.com The built-in variable __LINE__ undercounts by 1 on command-line scripts that begin with a #!path-to-php line. For example: #!/usr/local/bin/php -q <?php echo "Line 3 reports ".__LINE__."\n"; ?> This script will output: Line 3 reports 2 This issue also applies to (at least) some other 4.1+ releases. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=20035&edit=1

« previous php.bugs (#23450) next »