My word, I didn't remember PHP developers being so rude to people...
The problem is that the php.ini had session.auto_start=1, at least that
would be my guess. I think that bug (and I think it is a bug) has come up
several times before. Even with the auto-start, it shouldn't start until
after it parses the files so it knows what the classes are.
It's not really a crash, in the sense that PHP did not crash (i.e.
segfault) but his script did in fact crash, which is probably why he
labeled it as such.
imajes@php.net wrote:
> ID: 14864> Updated by: imajes> Reported By: jj@thecloud.org> Old Status: Open> Status: Bogus> Old Bug Type: Reproducible crash> Bug Type: Unknown/Other Function> Operating System: Linux Slackware and Cobalt Raq4> PHP Version: 4.1.1> New Comment:> > maybe, but i doubt it.> > Previous Comments:> ------------------------------------------------------------------------> > [2002-01-04 20:46:17] jj@thecloud.org> > Quite strange, I've just copied the php.ini-dist on the php.ini I had> and now it works.> Maybe when installed 4.1.1 I've forgotten to upgrade my php.ini that was> 4.0.6> > Could you imagine what could have been the cause of it ?> > Thanks> J> > > ------------------------------------------------------------------------> > [2002-01-04 20:36:57] imajes@php.net> > firstly, this isn't a reproduceable crash, since the engine didn't> crash.> > Secondly, the code you show here WORKS.> > I suggest you look at your code again, and debug it properly.> > > > ------------------------------------------------------------------------> > [2002-01-04 20:27:57] jj@thecloud.org> > mispelled while restyling the code for you :-)> > <?php> class BinLaden{> var $wow;> function BinLaden($Parola){> $this->wow=$Parola;> }> }> > session_start();> > if(!isset($wa)) {> $wa = new BinLaden("Hello Word");> session_register('wa');> print "New object<br>";> } else {> echo($wa->wow); // THIS LINE WAS MISPELLED> print "Object from session<br>";> }> > ?>> > ------------------------------------------------------------------------> > [2002-01-04 20:24:37] jj@thecloud.org> > FIRST OUTPUT:> New object> REFRESH BROWSER:> Fatal error: The script tried to execute a method or access a property> of an incomplete object. Please ensure that the class definition> binladen of the object you are trying to operate on was loaded _before_> the session was started in test.php on line 16> > Note: The class is defined before the session start!> > <?php> class BinLaden{> var $wow;> function BinLaden($Parola){> $this->wow=$Parola;> }> }> > session_start();> > if(!isset($wa)) {> $wa = new BinLaden("Hello Word");> session_register('wa');> print "New object<br>";> } else {> echo($wa->cazz);> print "Object from session<br>";> }> > ?>> > ------------------------------------------------------------------------> > > > Edit this bug report at http://bugs.php.net/?id=14864&edit=1