【问题标题】:Instagram Integration on Laravel 5Laravel 5 上的 Instagram 集成
【发布时间】:2018-08-07 12:58:06
【问题描述】:

在下面安装此软件包后,我一直遇到此问题

https://github.com/vinkla/instagram

进入我的 Laravel 5.1 项目。

我遵循了说明中的所有内容。

我在 Mac OS X、PHP 7.1、Laravel 5.1 上。

我是不是忘记了什么?

【问题讨论】:

  • 提供的代码没有提供足够的信息来帮助,
  • @Itisallyours :关注该帖子中的所有内容,我不知道还能在这里发布什么。
  • 我安装了一个新的 5.1.46(LTS) 和没有问题的包,你会提供你的 laravel 确切版本吗?如果这发生在所有链接或特定链接上?
  • 请检查我下面的答案。

标签: php laravel laravel-5 instagram


【解决方案1】:

您的 report() 方法正在传递一个 PHP7 Throwable 而不是异常。

Laravel 5.1 直到 5.1.8 才更新为支持 PHP7 Throwables。

考虑到错误以及在 HandleExceptions.php 中指定的行号,您似乎使用的是之前的版本(5.1.0 - 5.1.7)。

您需要将 Laravel 更新到至少 5.1.8 才能修复此错误。 5.1.8 已更新为将 Throwables 转换为 Symfony\Component\Debug\Exception\FatalThrowableError 异常,然后将其传递给 report() 方法。

【讨论】:

    【解决方案2】:

    您可以将app\Exceptions\Handler.php 更改为没有类型声明Exception 并在其中处理一些逻辑以将错误转换为异常。看起来这是 laravel 5.2 https://github.com/laravel/framework/issues/9650

    来自:

    /**
     * Report or log an exception.
     *
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
     *
     * @param  \Exception  $exception
     * @return void
     */
    public function report(Exception $exception)
    {
        parent::report($exception);
    }
    

    到:

    /**
     * Report or log an exception.
     *
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
     *
     * @param  \Exception  $exception
     * @return void
     */
    public function report($exception)
    {
        if ($exception instanceof Exception) {
            parent::report($exception);
        } else {
           // convert to exception and then parent::report.
        }
    
    }
    

    您很可能需要对 Handler render 方法执行相同的操作。

    【讨论】:

    • 好的,我试试看。
    • @ihue 太好了,我很想知道这是否有帮助!
    • 糟糕!我在那个不应该存在的 if 语句中惊呼了! @ihue,我已经编辑了答案以反映代码的外观。
    • 没有! 仍然会返回500 错误。
    • else语句中没有代码吗?您可以尝试将dd($exception); 添加到else 中吗?它也可能与渲染期望异常有关。
    【解决方案3】:

    这似乎是 Laravel 中的一个错误。你有 Laravel 5.1 的最新版本吗?

    为了帮助调试,您可以转到vendor/Illuminate/Foundation/Bootstrap/HandleExceptions@handleException 并添加 dd($e) 在方法的第一行。

    例如:

    public function handleException($e)
    {
        dd($e);
        //..
    }
    

    【讨论】:

      猜你喜欢
      • 2015-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多