【发布时间】:2019-07-21 18:34:20
【问题描述】:
我想问一下如何启用完整的错误报告,php.ini中的E_ALL和启动错误对我的情况没有影响。
我的代码:
class A
{
function funcA(arg1=null, arg2=null, arg3=false, arg4=null) {}
}
class B extends A
{
function funcB() {}
}
class C extends B
{
function funcA(arg1=null, arg2=null, arg3=false) {}
}
使用 php 7.0 允许并且可以正常工作,升级到 php 7.2.15 后出现某种 php 崩溃,脚本执行停止,错误日志中没有错误。使用 php 7.2 必须有与父类中相同数量的方法参数,这对我来说不是问题,但问题是我没有任何来自 php 的关于此错误的反馈。 你有什么想法为什么没有错误或异常?我正在使用开发 php.ini 并启用所有错误显示。
【问题讨论】:
-
警告:C::funcA($arg1 = NULL, $arg2 = NULL, $arg3 = false) 的声明应该与 A::funcA($arg1 = NULL, $arg2 = NULL 兼容, $arg3 = false, $arg4 = NULL) 在 (...)/rubbish.php 第 19 行
-
您是否介意向我指出一些 PHP 参考资料,其中说您尝试做的事情在 PHP7.0 中是允许的? I tried with PHP 7.0.1
-
@Dharman 您的测试运行并打印了警告,问题是脚本根本没有运行。
-
真的是所有代码吗? Dharman 的测试用例在 7.0 和 7.2 中运行时出现警告,但不会崩溃。因此问题可能与您应用程序中的其他代码有关。