致命错误,因为正在传递Error实例而不是预期的Exception实例

时间:2016-04-01 13:46:04

标签: php apache cakephp xampp cakephp-3.2

我刚安装了xampp和php 7.0.4以及一个新鲜的cakephp 3.2.6。 我做了很多研究,我发现的一切都表明它们是兼容的。

但是,当我使用浏览器打开应用程序时,蛋糕会回复内部错误。

关于做什么的唯一指针是xampp在apache error.log中记录以下内容:

  

PHP致命错误:未捕获TypeError:传递给Cake \ Error \ BaseErrorHandler :: handleException()的参数1必须是Exception的实例,D:\ Xampp \ htdocs \ cakephp \ vendor \ cakephp \ cakephp中给出的Error实例\ SRC \错误\ BaseErrorHandler.php:153
  堆栈跟踪:
  #0 [内部函数]:Cake \ Error \ BaseErrorHandler-> handleException(Object(Error))
  在第153行的D:\ Xampp \ htdocs \ cakephp \ vendor \ cakephp \ cakephp \ src \ Error \ BaseErrorHandler.php中抛出#1 {main}

我尝试了php 5.6,但它仍然显示日志中的错误。

1 个答案:

答案 0 :(得分:1)

如果那是您遇到的错误,那么我怀疑您使用的是CakePHP 3.2.6,因为第153行正处于评论的中间

<强> https://github.com/cakephp/cakephp/blob/3.2.6/src/Error/BaseErrorHandler.php#L153

自CakePHP 3.1.5起处理PHP7错误,因此请检查CakePHP依赖关系,并确保它实际上是最新的。