|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #47851 is_callable throws fatal error
Submitted: 2009-03-31 15:36 UTC Modified: 2009-04-02 09:57 UTC
From: Assigned: dmitry
Status: Closed Package: Class/Object related
PHP Version: 5.3CVS-2009-03-31 (CVS) OS: Irrelevant
Private report: No CVE-ID:
 [2009-03-31 15:36 UTC]
Under some circumstances is_callable() throws a fatal error when testing if the PHP4-style constructor of the class (e.g. is_callable(array('test1', 'test1')).

Unfortunately I wasn't able to create a self-contained example, but the issue seems to happen often when using Simpletest Mocks in the OpenX test suite.

It's ok if is_callable returns false if the method cannot be called statically, but definitely a fatal error isn't expected.

Reproduce code:
echo "Test";
is_callable(array('OX_Dal_Maintenance_Statistics', 'OX_Dal_Maintenance_Statistics'));

Expected result:

Actual result:
Fatal error: Non-static method OX_Dal_Maintenance_Statistics::OX_Dal_Maintenance_Statistics() cannot be called statically in ...


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2009-04-02 09:57 UTC]
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
Thank you for the report, and for helping us make PHP better.

PHP Copyright © 2001-2015 The PHP Group
All rights reserved.
Last updated: Wed Nov 25 23:01:33 2015 UTC