【问题标题】:Laravel 5.4 does not supports PHP version 7.4.5Laravel 5.4 不支持 PHP 7.4.5 版本
【发布时间】:2020-08-30 20:55:58
【问题描述】:

我正在开发基于 laravel 5.4 框架的应用程序。我已经安装了最新版本的 PHP。这是 PHP 版本 7.4.5 其实我想知道 PHP 7.4.5 是否支持 laravel 5.4 应用程序,如果不支持,那为什么?以及如何降级 PHP 版本?

我也在 php 日志文件中收到错误([2020-05-15 12:37:08] local.ERROR:

ErrorException: 试图访问类型为 null 的数组偏移量 C:\xampp\htdocs\carehalo_mini\app\Helpers.php:392)

另外,您可以查看给定屏幕截图中的代码Helpers.php:392 lines

【问题讨论】:

  • 我也尝试过 composer update 命令,但没有任何效果。
  • 在 php 7.4 中尝试访问 null、bool 等作为数组将抛出此通知。所以你的 $admin 可能是空的。 Laravel 5.4 可能不支持 100% php 7.4,但我没有找到关于此的正确信息。
  • 如果您想了解,只需查看文档...laravel.com/docs/5.4/installation#server-requirements。据此,它可以在 PHP 5.6.4 以上的任何版本上运行。
  • 当然,如果错误来自您在应用程序中编写的代码,而不是来自 Laravel 框架本身,那么这是一个不同的独立问题。
  • @katsarov 很好的回答感谢知识渊博的人

标签: php laravel xampp logic


【解决方案1】:

app\Helpers.php 这听起来像是您拥有的应用程序的一部分,与 Laravel 无关。我最好的猜测是 Laravel 在 7.4 上运行不会有任何问题,但同样不适用于应用程序中编写的代码。当然,最好的办法是将你的 Laravel 版本升级到至少 6,无论是否工作。

【讨论】:

  • 感谢您的回复 :) 但实际上我需要遵循老板的指示,所以我无法自行更改任何内容:/
【解决方案2】:

您可以通过将第 392 行更改为:

if(empty($admin) || ($admin->token != Session::get('token'))

【讨论】:

  • 因为,正如错误所述,$admin 的值是null,不清楚这应该如何提供帮助?如果某些内容为空,那么根据定义,您将无法访问其上的任何内容,无论是数组偏移量还是类属性。解决方案是首先找出为什么该对象为空,而显然它不是预期的。
  • 我编辑了我的答案。我的错,我期待 $admin 存在。
  • 哟哟谢谢兄弟的工作:) (y) if($admin->token != ... 这个
  • 好的,也许这会阻止错误,但之后代码会正常运行吗?如果它需要一个令牌值或其他东西,或者 $admin 值在另一个时间可用,它可能会在以后引起另一个问题。如果它不应该为 null,那么解决方案是对其进行调试,以查看为什么它现在显示为 null,而以前从未如此。
  • @ADyson 是的,但我们无法根据几行了解整个逻辑。我们可以解决此解决方案正在解决的直接问题。现在是在 Mujtaba 上纠正它。
猜你喜欢
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-03
  • 2011-08-09
  • 1970-01-01
  • 2017-06-09
  • 2021-01-24
相关资源
最近更新 更多