PHP 脚本停止且没有错误消息(哪种错误类型?)
如果我更改实现接口的类的方法的签名,PHP 脚本会停止且没有错误消息,例如:
interface A
{
public function somefunction();
}
class B implements A
{
public function somefunction(XY $xy);
{
...
}
}
这当然是一个错误,但没有显示错误消息。
该错误类型的名称是什么? (我已经搜索了很多,但明显用错了短语) 如何记录或输出此错误?
我正在使用 PHP 5.3.1(带有适用于 Windows 1.7.3 的 XAMPP)
错误显示在 Eclipse 控制台中,但现在我正在使用 XDebug。)
(我之前使用 PHP < 5.3 的 Zend 调试器,这些 提前寻求任何提示!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
放在文件顶部然后尝试,
如果仍然没有输出,请检查您的 error_log。
put at the top of file and then try,
If you still getting no output, please check your error_log.
已解决
@ontrack谢谢,您的提示指引了我正确的方向:
我正在使用自动加载函数来加载所需的类(通过使用 spl_autoload_register())。我的自动加载器的实现限制了所有错误消息...我不知道,这会导致此类“更深层次”的错误不显示。
从我的角度来看,这至少有点愚蠢,但我更高兴的是,我找到了这个问题的原因,并且我学到了一些东西:-)
非常感谢您的所有贡献!再次抱歉,我无法再编辑我最初的问题。
@outis 谢谢,请阅读我的评论
RESOLVED
@ontrack Thanks, your hint directed me to the right direction:
I'm using an autoload function to load required classes (by using spl_autoload_register()). My implemention of my autoloader restrains all error messages... I did not know, that this causes such 'deeper' errors not to show up.
This was at least kind of stupid from my side, but I'm more happy, that I found the reason for this problem and I have learned something :-)
Many thanks to all your contributions! And sorry again, that I cannot edit my initial question anymore.
@outis Thanks, please read my comment
将以下内容放在脚本的顶部:
它应该报告错误。
Put the following at the top of your script:
It should report an error.
您的配置一定有问题。当我在 PHP 5.3.2+XDebug 2.1.0 下尝试示例代码时,PHP 抱怨:
错误类型是 替换 违规,因为
B
在所有情况下都无法替换A
。Something must be up with your configuration. When I try the sample code under PHP 5.3.2+XDebug 2.1.0, PHP complains:
The type of error is a substitution violation, since a
B
can't be substituted for anA
in all situations.