我已在此处阅读了相关主题Function with same name but different signature in derived class。
我认为问题是一样的但在我的情况下它发生在PHP 5.4中(在PHP 5.3中工作正常)。具体配置是wamp 2.2,PHP 5.4.3。 我在日志中看不到任何错误,Chrome浏览器显示以下内容:“错误101(net :: ERR_CONNECTION_RESET):连接已重置。”
如果我在下面的示例中更改了函数“init”的名称,一切正常。所以我知道该怎么做,但我想确保一般来说这是一个不好的做法,原因与相关问题中解释的相同。如果PHP显示错误会有所帮助,我不知道内部会发生什么。
有什么想法?
谢谢
class MyClass1 {
private function init(){
}
}
class MyClass2 extends MyClass1 {
private function init($params) {
}
}
$myinstance = new MyClass2();
答案 0 :(得分:2)
我一直在查找the PHP changelog并找到可能相关的内容。
5.4.4发行说明中的项目内容如下:
修正了错误#61761('覆盖'具有不同签名的私有静态方法导致崩溃)
听起来很像非常非常类似于你所看到的,特别是因为你指定你正在使用PHP 5.4.3。
根据我之前的评论,我建议升级到5.4的更新版本(最好是最新版本 - 目前为5.4.8)。
希望有所帮助。
答案 1 :(得分:0)
根据您在Chrome中遇到的错误,我猜测PHP会崩溃(因此没有任何有意义的错误)。我首先要禁用一些扩展,可能会检查您的事件查看器是否有任何崩溃信息。