ID:               33857
 Comment by:       phpbugs at majiclab dot com
 Reported By:      sr at brightlight dot ch
 Status:           Feedback
 Bug Type:         Scripting Engine problem
 Operating System: Mac OS X 10.4.1
 PHP Version:      5.0.4
 New Comment:

I ran this modified code with the CVS and it seems to work 
so far.  However, I had problems compiling some required 
modules and I don't have enough time to play with those now, 
so I had to revert back to 5.0.4.  However, since I was 
unable to test it extensively, I am not sure if it truly 
fixed the bug.  It's working on 5.0.4 again now but that's 
because I had to restart  Apache after reverting to the old 
version... :)

So I can't confirm whether it's been fixed yet or not.  I 
might try to test it out on one of my non-dev boxes that are 
just sitting around collecting dust.  But just to confirm, 
the best debugging I was able to extrapolate (without even 
looking at any C code) was this:  It seemed that whatever 
internals/functions were called by token_get_all() would 
have had some kind of boolean to determine whether or not 
the current location of the code is within <?php ?> brackets 
or not.  My best guess is that somehow that variable was 
already set to TRUE even though it hasn't encountered the <?
php yet.  That would seem to be why the <?php was being 
interpreted as a < (less than), a ? (?: operator) and then a 
"string" (php being a function or constant name) and then 
whitespace rather than just the open tag.

Anyway, I'm sorry I can't provide better testing right now, 
but I've got work to do and I can live around this for now.


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

[2005-08-01 21:45:21] phpbugs at majiclab dot com

I am experiencing similar problems on my Mac OSX 10.4.2 system 
(although I don't think it's just Mac related, just a 
coincidence probably).  Anyway, I am downloading the CVS now 
and will try it out in the next couple days.  The problem 
seems to go away for a bit after restarting Apache, and comes 
up randomly, so I might "think" it's gone for a couple days, 
and then it might show up later.  So I'll try it out for a 
couple days and see what happens.

Thanks!

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

[2005-07-26 10:27:24] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip



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

[2005-07-26 00:04:18] sr at brightlight dot ch

Description:
------------
Obviously the same problem as in Bug #33093, which is set to 
bogus (no comment).

When I tokenize the very same code over and over again I 
happen to get different tokens. About 9 times out of 10 I 
get:
Token'<',
Token '?',
Token T_STRING 'php',
Token T_WHITESPACE '\n',

About 1 time out of 10 Times I get
Token T_OPEN_TAG '<?php\n',

So the first case happens far more often.

By saying the same code btw. I mean that I put the 
tokenizing function into a for-loop. So the code doesn't 
even get touched.
PHP 5.0.4 (entropy.ch's binary), Apache 2.0.54, Mac OS X 
10.4.1 PPC.
The tokenized files encoding (I tried UTF-8 no BOM and ISO-
Latin-1) doesn't seem to play a role. Line endings are 
always Unix-style.



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


-- 
Edit this bug report at http://bugs.php.net/?id=33857&edit=1

Reply via email to