#27836 [Opn->Csd]: zend.ze1_compatibility_mode = On gives errors

From: Date: Fri, 02 Apr 2004 21:18:21 +0000
Subject: #27836 [Opn->Csd]: zend.ze1_compatibility_mode = On gives errors
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-57412@lists.php.net to get a copy of this message
ID: 27836 User updated by: Robin at RHarmsen dot nl Reported By: Robin at RHarmsen dot nl -Status: Open +Status: Closed Bug Type: Zend Engine 2 problem Operating System: Windows XP PHP Version: 5.0.0RC1 New Comment: I just downloaded this CVS version: php5-win32-200404011830.zip Built On: Apr 01, 2004 18:30 GMT and it alreadt seems to be fixed :D I gues it was one of these (From the news.txt) - Reimplement zend.ze1_compatibility_mode to have better PHP 4 complicance. (Dmitry, Andi) - Fixed bug #27641 (Object cloning in ze1_compatibility_mode was reimplemented) (Dmitry, Andi) Previous Comments: ------------------------------------------------------------------------ [2004-04-02 08:55:03] Robin at RHarmsen dot nl I made a version withoud a DB... It seems that when I set a property of a class in the constructor it suddenly disappears with this code I get the following error: Fatal error: Call to a member function query() on a non-object in bugcode.php on line 24 <?php class A { var $queryCount; function A() { $this->queryCount = 0; } function query() { $this->queryCount = $this->queryCount + 1; } } class B { var $a; var $pageID; function B(&$a,$pageID = 1) { $this->a =& $a; $this->pageID = $pageID; } function showB() { $result = $this->a->query(); if(is_null($this->a)) echo "a = NULL<br/>"; else echo "a = $this->a;<br/>"; echo "pageID = $this->pageID<br?>"; } } $a = new A(); $b = new B($a); $b->showB(); ?> ------------------------------------------------------------------------ [2004-04-02 08:35:37] derick@php.net Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with <?php and ends with ?>, is max. 10-20 lines long and does not require any external resources such as databases, etc. If possible, make the script source available online and provide an URL to it here. Try avoid embedding huge scripts into the report. ------------------------------------------------------------------------ [2004-04-02 08:06:31] Robin at RHarmsen dot nl Description: ------------ When I turn on zend Engine1 Compatibility mode my code stops working (It worked perfect on PHP4 and PHP5 withoud the compatibility mode) PHP.ini diffreances: zend.ze1_compatibility_mode = On (off when error doesn't occure) allow_call_time_pass_reference = Off error_reporting = E_ALL register_long_arrays = Off register_argc_argv = Off extension=php_mysql.dll configure line (according to phpinfo()) Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--with-gd=shared" I think it is realy strange that an error occures when the mode is activated. though it works on PHP4 and PHP5 withoud the mode activated. It looks like $db in the Menu class is'nt set Reproduce code: --------------- I got the source files located here to reproduce the bug http://www.rharmsen.nl/bugfiles/main.phps http://www.rharmsen.nl/bugfiles/clsDB.phps http://www.rharmsen.nl/bugfiles/clsMenu.phps Expected result: ---------------- I expected that the menu was displayed Actual result: -------------- What I got was: Fatal error: Call to a member function query() on a non-object in clsMenu.php on line 36 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27836&edit=1

« previous php.bugs (#57412) next »