[Chameleon-dev] [Bug 1181] New: [Chameleon] PHP 4.4.0 causes reference NOTICES

bugzilla-daemon at bugzilla.maptools.org bugzilla-daemon at bugzilla.maptools.org
Thu Oct 27 10:42:49 EDT 2005


           Summary: [Chameleon] PHP 4.4.0 causes reference NOTICES
           Product: Chameleon
           Version: 2.2
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: critical
          Priority: P2
         Component: Core
        AssignedTo: chameleon-dev at lists.maptools.org
        ReportedBy: jmckenna at dmsolutions.ca

This is a critical bug because on my test platforms (Windows) the usual php.ini
setting 'error_reporting  =  E_ALL & ~E_NOTICE' cannot turn these specific
notices off (Assefa has also duplicated this problem on his machine with PHP
4.4.0).  Plus MS4W will now contain this php version.

Each Chameleon sample template causes these specific type of notices to be
displayed (as i mentioned, even with notices set to off):

Notice: Only variables should be assigned by reference in      
D:\ms4w\apps\chameleon\htdocs\TemplateParser.php on line 254

Notice: Only variables should be assigned by reference in
D:\ms4w\apps\chameleon\htdocs\TemplateParser.php on line 254

Here is the PHP 4.4.0 release notes regarding this change:

This is a maintenance release that addresses a serious memory corruption problem
within PHP concerning references. If references were used in a wrong way, PHP
would often create memory corruptions which would not always surface or be
visible. In other cases it could cause variables and objects to change type or
class unexpectedly. If you encountered strange behavior like this, this release
might fix it. The increased middle digit was required because the fix that
corrected the problem with references changed PHP's internal API, breaking
binary compatibility with the PHP 4.3.* series. This means that all binary
extension modules need to be recompiled in order to work with this release.

As part of the solution for the reference bug, you are very likely to find that
your own or third-party PHP scripts, considered 'clean' code under previous
versions of PHP, will now throw an E_NOTICE when references are incorrectly used
in the script. This is intended to alert developers to minor errors in their
approach, and does not affect the script's performance in any other way. 

Odd how these types of notices cannot be turned off.  Maybe it is only on
specific platforms?  In any case, we'll have to change our Chameleon code that
causes these notices.

GMAP and MapLab do not throw these notices.

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Please do NOT reply to this email, use the link above instead to 
login to bugzilla and submit your comment. Any email reply to this
address will be lost.

More information about the Chameleon-dev mailing list