Laravel 7 Auth 在托管站点上不起作用
Posted
技术标签:
【中文标题】Laravel 7 Auth 在托管站点上不起作用【英文标题】:Laravel 7 Auth not working on hosted site 【发布时间】:2020-12-23 04:54:51 【问题描述】:所以我正在尝试将 Laravel 站点部署到 bluehost,但是在成功登录后应该重定向到“/home”并停止。相反,它会尝试重定向到“/home”,然后重定向到“/login”。使用相同数据库在 localhost 上运行的相同代码可以正常工作。其他数据库操作正常。
基本上默认的身份验证中间件似乎以某种方式损坏。
我使用 laravel 的内置 auth 进行身份验证。 这是现场直播:
登录控制器.php
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class LoginController extends Controller
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
$this->middleware('guest')->except('logout');
web.php
<?php
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Auth;
Route::get('/', 'WelcomeController@index')->name('welcome');
Auth::routes();
// Home
Route::get('/home', 'HomeController@index')->name('home');
//Listings
Route::get('/listings/search', 'ListingController@search')->name('search-listings');
Route::get('/listings/delete/listing', 'ListingController@destroy')->name('listing-delete');
Route::resource('listings', 'ListingController');
Route::group(['prefix' => 'messages'], function ()
Route::get('/', ['as' => 'messages', 'uses' => 'MessageController@index']);
Route::get('create', ['as' => 'messages.create', 'uses' => 'MessageController@create']);
Route::post('/', ['as' => 'messages.store', 'uses' => 'MessageController@store']);
Route::get('id', ['as' => 'messages.show', 'uses' => 'MessageController@show']);
Route::put('/', ['as' => 'messages.update', 'uses' => 'MessageController@update']);
Route::delete('/', ['as' => 'messages.action', 'uses' => 'MessageController@action']);
);
【问题讨论】:
有效。您刚刚在 App\Http\Controllers\LoginController.php 中添加了一些内容。打开该文件并检查你返回什么 null 在现场工作?你能登录吗?我的 LoginController.php 不返回任何空值。任何进一步的解释都会很棒。我真的坚持这一点。 抱歉,我不小心离开了 dd()。再看看我上面描述的行为。谢谢@АлександрИнженер 你能输入你的loginControler
代码吗?和路由代码
已添加。 @KamleshPaul
【参考方案1】:
原来在我的 app/config 中的一个文件中的
几乎把我逼疯了。在本地主机上工作正常,但在服务器上却不行。如果您遇到此问题,请检查您的 .php 文件是否有文件开头的新行。
【讨论】:
【参考方案2】:对我来说,删除 /bootstrap/cache 文件夹中的文件,除了 .gitignore
然后运行命令composer dumpautoload
工作
【讨论】:
以上是关于Laravel 7 Auth 在托管站点上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Auth/Session 在 Sails with Passport 中的一页上不起作用