PHP Mystery Theatre - HTML Element doesn't display when served with php5, restart server with php4 a
- by togglemedia
Get this...I start the server in php5 and a specific HTML element ('a' element with a background image) is nowhere to be seen, I reboot the server in php4 and the HTML element is displaying properly. I boot back and forth between php5 and php4 with absolute consistent results, not displaying in php5 and displaying in php4.
The thing that blows my mind is that:
the HTML is consistent between boots of php5/4, so both scenarios have the necessary HTML elements
the CSS is consistent between boots of php5/4, so both scenarios have the necessary CSS definitions
there is an identically styled sibling element, with different class name that displays properly
the problem is reproducible between browsers, between platforms. I've tested it on every possible config, Mac/Windows, IE6,7,8, FireFox, Safari etc... When the server is booted in php5 there is one HTML element that just doesn't display/render.
A stab in the dark, I turned on PHP error reporting in php5 (to see if there would be any clues there) and low and behold the HTML element is now rendering in php5. I turn off PHP error reporting, and restart php5 and the HTML element is still rendering in php5, and the problem has been fixed...and I can't get the problem to reproduce.
This is why my curiosity has brought me here. I just spent about four hours scratching my head trying to figure out how this could be. And now, I ask any php web dev gurus out there...what the heck was this all about?