php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #42455 "Call to undefined method" - but method isn't undefined!
Submitted: 2007-08-28 09:44 UTC Modified: 2007-09-05 01:00 UTC
Votes:27
Avg. Score:4.4 ± 0.9
Reproduced:22 of 23 (95.7%)
Same Version:11 (50.0%)
Same OS:7 (31.8%)
From: klikics at preisroboter dot de Assigned:
Status: No Feedback Package: Class/Object related
PHP Version: 5.2.3 OS: Linux
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: klikics at preisroboter dot de
New email:
PHP Version: OS:

 

 [2007-08-28 09:44 UTC] klikics at preisroboter dot de
Description:
------------
Sometimes PHP throw's the following error:

Fatal error: Call to undefined method suche::get_threader() in /www/class_.php on line 1305

instead of just processing the function $this->get_threader() ...

This comes up only every 10000 requests or something, so I can't reproduce it.

I'm wondering about the "::", because the call in the script is $this->get_threader(). That's why I think it's an internal bug of PHP.
The .php with the class is included via require() to the page where the error appears.

Hope this helps or you can help. Thanks in advance.

Reproduce code:
---------------
// line 1305
$fp = $this->get_threader();

Expected result:
----------------
$fp is a filepointer from fsockopen() .. the script should progress.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-08-28 11:15 UTC] jani@php.net
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php

If you can provide more information, feel free to add it
to this bug and change the status back to "Open".

Thank you for your interest in PHP.



 [2007-08-28 12:24 UTC] klikics at preisroboter dot de
Ok, another try ;-)

I've got a class "search" and another class "cluster_search" (in the same file). In "cluster" there is a method "get_threader()", but not in "search".

In the constructor of "search" is an object $clustersearch created from "cluster_search" and the constructor of "cluster_search" calls the method $this->get_threader() from class "cluster_search".

Sometimes, PHP try's to call search::get_threader() instead of $this->get_threader at this moment ($this is here the class "cluster_search") and throws this error:

Fatal error: Call to undefined method search::get_threader() in /www/class_.php on line 1305

The problem is, that I can't reproduce this error.

I hope it's not to much confusion ... ;)
 [2007-08-28 12:29 UTC] jani@php.net
As long as you can't reproduce it reliably and not able to give us any code to test ourselves this report is kinda useless.

First thing you should try is to remove all 3rd party extensions (f.e. any Zend extensions like optimizers, encoders and caches). Then you install the latest CVS snapshot found here:

http://snaps.php.net/php5.2-latest.tar.gz

And if that doesn't work, you tell us what configure line you used to configure PHP and how we can reprodcue it..
 [2007-08-28 13:04 UTC] klikics at preisroboter dot de
Thanks for your fast answers!

I've disabled Suhosin and eAccelerator already 2 days ago, but it still appears. Sorry, but I can't reproduce it because I only got the error twice and some visitors of our site reported it.

Code example:

search.php
##########

require("class.php");
$search = new search();

// ...



class.php:
##########

class search{ 

   function search() {

        $foo = new cluster_search();
        
         // ...
    }

    // ...
}

class cluster_search {

  function cluster_search() {

     // ...

     $bar = $this->get_threader();  // here appears the error sometimes

  }


  function get_threader() {

      $bla = fsockopen(); // ...
      return $bla;
   }

    // ...
}
 [2007-08-28 13:32 UTC] jani@php.net
That is not the script I'm looking for..
Please read the instructions how to report. Leave this as 'Feedback' until you actually have something useful to give as feedback..
 [2007-09-05 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 [2008-05-23 06:01 UTC] collie8 at bellsouth dot net
every time I send some thing you say it is the wrong email address and I know it is not the wrong email address and I was not born yesterday and I was born 53 year's ago and you better not say the next email I send you better not send it back to me any more because the next time I send one you better send it and If you do not send it the next email address you get will be from my Lawyer and that is a promise and If you do not what that to happen then the next one I do send you just better send it as of right now and that is an order and If you do not send it you can and will be shut down for good by my Lawyer and that is a promise.
 [2011-11-01 19:14 UTC] with at held dot com
Bahaha @ collie8 at bellsouth dot net
http://www.php.net/license/3_01.txt

Have you been an angry threatening moron for all your 53 years? I'd mock you some more but my sides hurt too much from laughing at you.
 [2013-10-14 17:46 UTC] jayesh5101992sapkale at gmail dot com
ok....when i put my data to file using file  function " fprintf "  and close it  current file
Note:: data contain class and methods. 

 and after file closed, call the class method that already in class gives me following error

Fatal error:: Call to undefined method className::methodName ???????????????Any solution
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 12:01:31 2024 UTC