Re: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2(PHP_5_3) / zend_language_scanner.c zend_language_scanner.l
| From: | Ilia Alshanetsky | Date: | Sun, 19 Apr 2009 18:23:20 +0000 |
| Subject: | Re: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2(PHP_5_3) / zend_language_scanner.c zend_language_scanner.l | ||
| References: | 1 2 3 4 5 6 7 8 9 10 11 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-43738@lists.php.net to get a copy of this message | ||
The behavior in 5.3 is actually more correct then in 5.2. In 5.3 we only skip # on the first line if it is followed by ! indicating its an instruction to execute some binary. In 5.2 on the other hand 1st line starting with # is skipped, which is not entirely correct.
Ilia Alshanetsky
On 19-Apr-09, at 12:54 PM, Hannes Magnusson wrote:
CLI -Hannes On Sun, Apr 19, 2009 at 18:21, Ilia Alshanetsky <ilia@prohost.org> wrote:Are you using CGI or CLI sapi? Ilia Alshanetsky On 19-Apr-09, at 12:16 PM, Hannes Magnusson wrote:I'm pretty sure yes. Try copying the run-tests.php from 5_2 to 5_3 and run the PDO tests with it. Then diff the run-tests to see the workaround in 5.3. -Hannes On Sun, Apr 19, 2009 at 17:57, Ilia Alshanetsky <ilia@prohost.org> wrote:Last I checked it was working properly, are you sure you are using the latest version? I think we even have a test case around this bug. Ilia Alshanetsky On 19-Apr-09, at 7:09 AM, Hannes Magnusson wrote:On Sat, Apr 18, 2009 at 23:48, Nuno Lopes <nlopess@php.net> wrote:Nope. The run-tests.php workaround is still required (manually adding the "# original source file.." comments). -HannesAFAIR, this was already fixed by Ilia some time ago.What is the status on this? Are we hoping run-tests.php is the only script affected, or is someone working on another fix?The original code actually can be found inside php_cli.c and there it only checked the 1st line for '#'. if you create a file such as: #1 #2 <?php $a = array();The issue here is that the old code only looked at the main script, now included files ar affected, too. So either we check in the scanner whether this is the main script or move the check back to the C[GL]I SAPIs.