【问题标题】:Array to string conversion - Project Crash [Laravel]数组到字符串的转换 - 项目崩溃 [Laravel]
【发布时间】:2017-01-01 19:54:20
【问题描述】:

我收到这样的错误:

数组到字符串的转换

内部:

/var/.../vendor/cartalyst/sentry/src/Cartalyst/Sentry/SentryServiceProvider.php

引发错误的代码sn-p:

throw new \InvalidArgumentException("为 Sentry 选择了无效的哈希 [$hasher]。");

我在我的一个控制器中进行日常工作,当我单击刀片内的一个按钮时发生了此错误。

我已将代码注释掉,但错误仍在显示,不仅在这一页上,而且在我项目中的每一页上。我什至无法访问我的 /home/index.php 页面。

我已经完成了

作曲家更新

在我的项目中,但这并没有帮助。什么可以解决问题?

@update

是的,我在创建新主题之前检查了哨兵配置文件。当我将项目的旧版本(不包含我今天所做的最新更改)加载到在 Ubuntu 14.04 上运行的 apache 服务器上时,我遇到了同样的问题。

想法是什么导致了问题?

【问题讨论】:

  • 您可能希望将 laravel.log 文件中的完整堆栈错误添加到您的问题中:)
  • $hasher是一个数组吗?
  • @cmnardi 我猜 $hasher 来自哨兵配置,我根本没有接触过。

标签: php laravel laravel-4


【解决方案1】:

在 Sentry 的配置中,您必须定义一个哈希。 它必须是一个字符串。它可以是“本机”、“bcrypt”、“sha256”或“漩涡”。显然在您的应用程序中,它不是一个字符串,而是一个数组。检查您的配置。它可能在 app/config/packages/cartalyst/sentry/config.php

【讨论】:

  • 这就是我得到的:'hasher' => 'sha256' 我刚刚将我的一个备份加载到 apache 服务器上并且发生了同样的问题...备份不包含最新的更改所以它应该可以正常工作......它一定是其他东西让一切都失败了......对此有什么想法吗?
  • 最简单的方法是使用 XDebug 或 Zend Debugger 并在失败的行中设置断点并检查设置的值。然后沿着回溯路径找出错误值的来源。
  • 非常感谢您的建议。我会尝试这样做,但是当我加载旧版本的项目时会出现同样的问题。你认为它可能是其他原因造成的吗?
  • 我很确定配置坏了。如果您的 IDE 不允许您进行调试,您是否至少有一个可以测试的本地安装?在这种情况下,我会在 throw new \InvalidArgumentException 行之前放置一个 var_dump($hasher)
  • 但是它是如何一次性破坏我的所有备份的呢?他们甚至没有被触及或修改,他们以前工作得很好。我现在开始担心了。 var_dump($hasher) 不想工作。显示相同的错误。
猜你喜欢
  • 2016-07-08
  • 1970-01-01
  • 1970-01-01
  • 2016-09-02
  • 1970-01-01
  • 2017-01-14
  • 2020-09-10
  • 2018-05-10
相关资源
最近更新 更多