PHP没有显示有意义的错误.在派生类中具有相同名称但签名不同的函数

我已经在这里阅读了相关话题
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();

最佳答案 我一直在寻找
the PHP changelog并找到了可能相关的东西.

5.4.4发行说明中的​​项目如下:

Fixed bug #61761 (‘Overriding’ a private static method with a different signature causes crash)

这听起来非常像你所看到的,特别是因为你指定你使用的是PHP 5.4.3.

根据我之前的评论,我建议升级到5.4的更新版本(最好是最新版本 – 目前为5.​​4.8).

希望有所帮助.

点赞