Monday - January 03, 2005
strange PHP errors after upgrading to 4.3.9

When I upgraded to PHP 4.3.9 on this server I would occasionally get an error that didn’t make any sense. The two that I saw were:

Parse error: parse error, unexpected T_VARIABLE in (filename) on line 10
Warning: Unexpected character in input: ‘ (filename) on line 20

The line numbers didn’t have anything that I can see that are wrong with them, and they varied across different files.

Some related links I found during my research:

PHP bug 5448
PHP bug 14141
PHP bug 24864
PHP bug 30241
PHP bugs search
Computing news
Redhat bugzilla
Sitepoint

The problem seems to happen when I’m working on a file and making changes to it, then reload the page in the browser. So far it’s a complete mystery. I restarted the server and wasn’t able to reproduce it right away, but that doesn’t mean it’s resolved.

The server is a dual-CPU machine, and the 4.2.3 changelog says, “Fixed several bugs in the multithreaded version that could cause random parse errors, especially on machines with multiple CPUs.” I wonder if the bugs were reintroduced in later versions.

I got the following error:

Warning: Unexpected character in input: ‘ in (filename) on line 163

On line 163 I had the following:

echo isset( $search_email )

and towards the end of the page I got the following error:

Fatal error: Call to undefined function: sset() in (filename)on line 163

My guess is that the letter i in isset was somehow construed to be invalid when the file was parsed and as a result it tried to find the sset method instead of the isset method. After a reload, everything worked fine so the PHP code is syntactically correct.

I just found a test that seemed to work pretty well. I had a foreach block and when I put an @ symbol in front of the foreach, it threw a parse error at first (which is correct) but when I removed it on versions 4.3.9, 4.3.8 and 4.3.6 it produced one more error, then another reload cleared the error. This behavior no longer occurred when I downgraded to 4.3.4. I would put the @ symbol in and it would give the parse error (a different error too by the way) and then when I removed it from the file and reloaded, it worked fine.







# of readers
- home
meta
comics
news links
other links

about me
blog archives
docs
entertainment
experiences
funny lists
humor
intellectual
interests
mefi
music
opinions
photos
web designs
tools
webmaster help

Sign up
Enter your e-mail address to be notified of new posts



Search blog archives

Calendar
January 2005
S M T W T F S
« Dec   Feb »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  



Random quote
(View all quotes)
"Snowflakes are some of nature's most fragile things but look what happens when they stick together."










Licensed under Creative Commons
(?) Choose theme:  X X X X X X


W3CCSS
Loaded in 0.1562 seconds