Laravel 5 上的 Instagram 集成
Posted
技术标签:
【中文标题】Laravel 5 上的 Instagram 集成【英文标题】:Instagram Integration on Laravel 5 【发布时间】: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 确切版本吗?如果这发生在所有链接或特定链接上? 请检查我下面的答案。 【参考方案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);
//..
【讨论】:
以上是关于Laravel 5 上的 Instagram 集成的主要内容,如果未能解决你的问题,请参考以下文章
FontAwesome 5 的 Instagram SVG 上的渐变