【问题标题】:Laravel Using array_key_exists() on objects is deprecatedLaravel 不推荐在对象上使用 array_key_exists()
【发布时间】:2021-08-18 04:02:04
【问题描述】:

我在Laravel 8 中创建了项目,默认情况下使用PHP 7.3 创建的项目。在安装并更改为PHP 7.4。它有效。但我有一些错误:

"message": "array_key_exists(): Using array_key_exists() on objects is deprecated. Use isset() or property_exists() instead",
    "exception": "ErrorException",
    "file": "/var/www/api.pboxsystem.pl/vendor/laravel/framework/src/Illuminate/Collections/Arr.php",
    "line": 155,
    "trace": [

在我的代码中,我在isset 方法上更改了每个array_key_exists。但是这些错误来自Laravel 类的内部。我必须再次生成项目并复制所有文件? 有什么办法可以升级Laravel使用PHP 7.4

【问题讨论】:

  • 这似乎更像是一个发布在 Laravel 框架的 GitHub 项目而不是 StackOverflow 上的问题?
  • 在他们的网页上,我可以看到需要 PHP 7.3 分钟,我更改为 PHP 7.4,从现在开始出现该错误,但没有说明如何升级 Laravel 框架
  • laravel.com/docs/8.x/upgrade 但由于它似乎是全新安装,您最好使用 php 7.4 创建一个全新项目
  • 是的,已经可以了,我得把store改成storeAs

标签: php arrays laravel laravel-8


【解决方案1】:

我发现了错误。我有

$path = $file1->store('email_attachments', $filename);

在控制器中,我必须更改为:

$path = $file1->storeAs('email_attachments', $filename);

现在可以了

【讨论】:

    猜你喜欢
    • 2021-05-19
    • 2021-10-21
    • 2014-07-05
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    相关资源
    最近更新 更多