Re: Reference handling change and PHP 4.4.0
| From: | Colin Tucker | Date: | Wed, 14 Sep 2005 02:57:56 +0000 |
| Subject: | Re: Reference handling change and PHP 4.4.0 | ||
| References: | 1 2 3 4 5 6 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-18860@lists.php.net to get a copy of this message | ||
Rasmus Lerdorf wrote:
Once again, it is an E_NOTICE in 4.4. And yes, not displaying it makes it go away. Staying with 4.3 because of this is nuts. If you are seeing this notice under 4.4 that means you are most likely getting random memory corruption under 4.3. Move to 4.4 to fix the memory corruption. Go through the notices and fix as many of them as you can, since it indicates a basic problem in the code you are running. If you are not interested in doing that, just turn them off. It will run without corruption. -RasmusHi again Rasmus, Well, I can tell you that following our unexpected server upgrade yesterday to 4.4.0, things definately DID break within our code, and the display of E_NOTICE errors is disabled on our production server. We quickly rolled back to 4.3, and I have not had a chance to fully investigate what is going on with the code as yet, but it seemed to be stemming from a class of mine that acts like a map. Instead of returning an object associated with a given key, it was returning the *last added* object. I think all objects in the map ended up being the same object, being the last one added - there is definately some reference weirdness going on. I'm as confused as you probably are, and will report back on what is going wrong when I have a chance. But one thing is sure, this code was working absolutely fine until the switch to 4.4.0. Cheers, Colin.