【问题标题】:Laravel Class Socialite not found未找到 Laravel 类社交名流
【发布时间】:2019-10-30 01:31:06
【问题描述】:

我做了什么:

  • "laravel/socialite": "~2.0" 添加到composer.json
  • 运行composer update
  • 将提供程序'Laravel\Socialite\SocialiteServiceProvider' 添加到app.php
  • 将别名'Socialite' => 'Laravel\Socialite\Facades\Socialite' 添加到app.php

完成所有这些步骤后,我创建了一个新的控制器类,如下所示:

<?php namespace App\Http\Controllers;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class AuthController extends Controller {

    public function login()
    {                  
        return \Socialite::with('facebook')->redirect();
    }

}

但是我还是遇到了这个错误:PHP Fatal error: Class '\Socialite'

编辑
composer dump-autoload 可能已修复错误,但仍无法正常工作。

【问题讨论】:

  • 尝试运行composer dump-autoload
  • @lukasgeiter 没用,但我发现了一些东西。我不小心发布了错误的错误信息。这是正确的:PHP Fatal error: Class 'App\\Http\\Controllers\\Socialite'
  • 你肯定用反斜杠使用它:return \Socialite 而不仅仅是return Socialite
  • @lukasgeiter 我又坏了。我要快速..我现在正在尝试 3 小时:D 与 return \Socialite 我在 apache 日志中不再有错误,但仍然有 Whoops, looks like something went wrong.
  • 然后开启调试或者查看storage/logs中的laravel日志文件

标签: php laravel laravel-5


【解决方案1】:

在你的控制器文件中添加

use Laravel\Socialite\Facades\Socialite;

【讨论】:

  • 遇到同样的问题,这个对我来说非常适合
【解决方案2】:

在控制器中的 use Illuminate\Http\Request; 下方添加 use Socialize;

【讨论】:

    【解决方案3】:

    检查您是否已将别名设置为“社交化”,正如社交名流文档中所说的那样:

    'Socialize' => 'Laravel\Socialite\Facades\Socialite',
    

    我也很困惑

    【讨论】:

      【解决方案4】:

      我有同样的问题。在这种情况下,清除配置缓存对我有帮助:

      php artisan config:clear

      【讨论】:

        【解决方案5】:

        首先在你的 config/app.php 中使用::class,

        'Socialite' => Laravel\Socialite\Facades\Socialite::class,
        

        其次,调用控制器中的类

        use Socialite;
        

        第三,尝试清除配置

        php artisan config:clear
        

        最后检查重定向 URL 是否有效

        http://yoursite.com/your_redirect
        

        【讨论】:

          【解决方案6】:

          如果有人尝试上述解决方案后仍然遇到此问题,请清除缓存。大多数时间类都被缓存,因此发生此错误。

          php artisan config:clear
          

          【讨论】:

            【解决方案7】:

            'Socialite' =&gt; 'Laravel\Socialite\Facades\Socialite' 也是我犯的一个错误。

            必须声明为'Socialite' =&gt; Laravel\Socialite\Facades\Socialite::class

            【讨论】:

              【解决方案8】:

              我遇到了完全相同的问题,经过通常半小时的狂暴之后,我意识到我的注册行末尾有一个尾随空格,即

              'Laravel\Socialite\SocialiteServiceProvider ',

              一旦我有趣地删除了空间,它就起作用了!

              'Laravel\Socialite\SocialiteServiceProvider',

              复制粘贴的麻烦又一次让他们丑陋了!

              【讨论】:

                【解决方案9】:

                在 laravel 6 或更高版本中,尝试运行此命令

                composer require laravel/socialite

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2021-07-28
                  • 1970-01-01
                  • 2018-01-31
                  • 2015-08-20
                  • 2018-01-11
                  • 2021-02-10
                  • 2016-09-11
                  相关资源
                  最近更新 更多