php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #47838 For some strict notices __autoload isn't used in the error handler
Submitted: 2009-03-30 12:55 UTC Modified: 2009-08-07 19:53 UTC
From: taco at procurios dot nl Assigned:
Status: Not a bug Package: Scripting Engine problem
PHP Version: 5.*, 6CVS (2009-04-30) OS: Ubuntu
Private report: No CVE-ID: None
 [2009-03-30 12:55 UTC] taco at procurios dot nl
Description:
------------
We dynamicly load a logging class in our error handler function using autoload. For some STRICT notices (Declaration of Baz::bar() should be compatible with that of Foo::bar()) the __autoload() function isn't called to load that logging class.

If you replace the line "require('php_bug1_2.php');" with "mktime();", which also casts an E_STRICT notice, you'll see the expected result instead of the missing Qux class error.

Reproduce code:
---------------
http://thh.takkie.nl/php_bug1.php


Expected result:
----------------
My Error: Declaration of Baz::bar() should be compatible with that of Foo::bar()
Stuff is done

Actual result:
--------------
My Error: Declaration of Baz::bar() should be compatible with that of Foo::bar()

Fatal error: Class 'Qux' not found in /data/www/thh.takkie.nl/public_html/php_bug1_2.php on line 15


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2009-03-30 14:34 UTC] sander dot vink at procurios dot nl
The same error occurs on the latest snapshot of PHP5.3 (Built on: Mar 30, 2009 12:30 UTC):

Actual result:
--------------
My Error: Declaration of Baz::bar() should be compatible with that of Foo::bar()
Fatal error: Class 'Qux' not found in /Users/svink/Desktop/bugtest/php_bug1_2.php on line 15
 [2009-08-07 19:53 UTC] jani@php.net
See bug #42098
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Thu Jul 17 14:04:04 2025 UTC