|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2008-01-24 11:26 UTC] jochem at iamjochem dot com
[2008-01-29 20:19 UTC] shire@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 09:00:01 2025 UTC |
Description: ------------ APC does not recognise static functions defined in subclasses of abstract classes that originally defines the function as an abstract. I came accross this on a production machine which started acting up... I traced a different problem to likely be related to the version of APC I did have installed (namely 3.0.9) ... I upgraded APC to 3.0.16 and the above fatal error occurred ... I downgraded to APC 3.0.15 and the problem went away. I therefore presume that this bug is a regression between 3.0.15 and 3.0.16. I cannot garantee that the reproduce code actually causes the error as I did not have time to test it (I had to fix the server and get the site back up :-(). my actual code is more complex than this example and the classes are in seperate files. if the reproduce code does not reproduce I will take the time to setup an environment where my original code causes the fatal error and work out a usable test case. please let me know if this is the case. thanks and regards, Reproduce code: --------------- abstract class Foo { abstract static function bar(); } class FooEx extends Foo { static function bar() { echo "hello world"; } } FooEx::bar() Expected result: ---------------- that 'hello world' appears. Actual result: -------------- PHP Fatal error: Cannot call abstract method Foo::bar()