|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-09-14 00:20 UTC] fclever at verinform dot com
I get the following error message:
Warning: Problem with method call - please report this bug in line xyz.
This error message comes from /Zend/zend_execute.c, line 1638.
This error occurs in our applications framework with many intermingled classes on both Linux and Windows 2000 Boxes (I have not checked on Solaris yet). I have not been able to produce a simple set of classes producing this error. The basic structure of what our code is doing is:
class CUi {
function httpHeader($p_disableGzHandler = false) {
}
function htmlHead($p_subDirs = false) {
if ( ! isset($this) ) {
// this is the static pseudo initialization
$this->m_subDirs = $p_subDirs;
}
CUi::httpHeader(); // this is the line where the error occurs
}
}
CUi::httpHeader();
If I move the CUi:httpHeader() call done from within htmlHead() above "if (! isset($this) )" the error does not occur.
I am sorry to not be able to provide better information. I would not have reported this bug, but it explicitly asks to report it, so here we go.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 12:00:01 2025 UTC |
I have had a similar situation when assigning to $this: function seek_and_destroy($where_ary) { if (!isset($this)) { $this = new ecdGroupedNews(); // this is the line where the warning is pointing to } ... } this yields: Warning: Problem with method call - please report this bug in /usr/home/anarcat/data/web_pages/www/anarcat.ath.cx/php/ecdGroupedNews.inc.php on line 44 well, it's not *exactly* the same thing, but there is a similarity: both problems occur when referencing $this in shadowy conditions (ie. unset($this)).Also note that morphing the code into: function seek_and_destroy($where_ary) { if (!isset($this)) { $foo = new ecdGroupedNews(); } else { $foo = $this; } supressees the warning, of course, so it is a proper workaround, for me.