ID:               41696
 Updated by:       [EMAIL PROTECTED]
 Reported By:      irik at future-proof dot net
-Status:           Open
+Status:           Feedback
 Bug Type:         Class/Object related
 Operating System: Linux (Slackware) 2.6.11.10
 PHP Version:      5.2.3
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows (zip):
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip

For Windows (installer):

  http://snaps.php.net/win32/php5.2-win32-installer-latest.msi

Make sure you don't have any extensions which might modify PHPs
behaviour (like Zend Optimizer, Xdebug etc).


Previous Comments:
------------------------------------------------------------------------

[2007-06-26 12:54:53] irik at future-proof dot net

'./configure' '--with-mysql' '--with-jpeg-dir' '--with-gd' '--with-png'
'--enable-ftp' '--with-png-dir' '--with-apxs=/usr/local/apache/bin/apxs'
'--with-zlib-dir' '--with-libxml2' '--with-openssl-dir'
'--with-freetype-dir' '--enable-exif'

Apache/1.3.33 (Unix) PHP/5.2.3 mod_ssl/2.8.23 OpenSSL/0.9.8

I get the same result when run from command line as I do within the web
server.

What else can I do or provide to help recreate this "bug"?  I have
worked around the issue in my code but would still like to do what I can
to get to the bottom of this very unusual behaviour.

------------------------------------------------------------------------

[2007-06-25 18:48:03] [EMAIL PROTECTED]

Cannot reproduce.

------------------------------------------------------------------------

[2007-06-15 06:28:05] irik at future-proof dot net

Description:
------------
on linux (slackware) the __destruct method seems to be called twice,
even before.  On windows32 this behaviour is not seen.  Perhaps I
misunderstand the role of __destruct, but that would not explain why the
behaviour differs between platforms.


Reproduce code:
---------------
$Test = new Test();
echo $Test->strtolower("foo bar") . "<br />";

class Test {

        public function __construct() {
        }

        public function __call($function, $arguments) {
                return call_user_func_array($function, $arguments);
        }

        public function __destruct() {
                echo "here i am<br />";
        }

}

Expected result:
----------------
foo bar
here i am

Actual result:
--------------
here i am
foo bar
here i am


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=41696&edit=1

Reply via email to