A - настройка:
- с нуля установил Laravel 8.36.2 с помощью новых проектов laravel --jet на Mac под управлением OS X 10.15.7
- установленная панель отладки через композитор требует barryvdh/laravel-debugbar --dev
- работает на локальной установке Brew httpd установка Apache/ 2.4.46
- MySQL версии 8.0.23 для osx10.15 на x86_64 (также Homebrew)
- доступ к приложению через designs.test (домен указывающий на 127.0.0.1 в /etc/hosts)
Код: Выделить всё
.envКод: Выделить всё
APP_NAME=Designs
APP_ENV=local
APP_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APP_DEBUG=true
APP_URL=http://www.designs.test
APP_STATIC_URL=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
LOG_CHANNEL=stack
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DB_USERNAME=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DB_PASSWORD=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=database
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
Код: Выделить всё
app/config/app.phpКод: Выделить всё
// Application Name
'name' => env('APP_NAME', 'Designs'),
// Application Environment
'env' => env('APP_ENV', 'development'),
// Application Debug Mode
'debug' => (bool) env('APP_DEBUG', true),
// Application URL
'url' => env('APP_URL', 'http://www.designs.test'),
'asset_url' => env('ASSET_URL', null),
// Application Timezone
'timezone' => 'UTC',
//Application Locale Configuration
'locale' => 'en',
// Application Fallback Locale
'fallback_locale' => 'en',
// Faker Locale
'faker_locale' => 'en_US',
// Encryption Key
'key' => env('APP_KEY'),
'cipher' => 'AES-256-CBC',
// Autoloaded Service Providers
'providers' => [
Illuminate\Auth\AuthServiceProvider::class,
Illuminate\Broadcasting\BroadcastServiceProvider::class,
Illuminate\Bus\BusServiceProvider::class,
Illuminate\Cache\CacheServiceProvider::class,
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
Illuminate\Cookie\CookieServiceProvider::class,
Illuminate\Database\DatabaseServiceProvider::class,
Illuminate\Encryption\EncryptionServiceProvider::class,
Illuminate\Filesystem\FilesystemServiceProvider::class,
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
Illuminate\Hashing\HashServiceProvider::class,
Illuminate\Mail\MailServiceProvider::class,
Illuminate\Notifications\NotificationServiceProvider::class,
Illuminate\Pagination\PaginationServiceProvider::class,
Illuminate\Pipeline\PipelineServiceProvider::class,
Illuminate\Queue\QueueServiceProvider::class,
Illuminate\Redis\RedisServiceProvider::class,
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
Illuminate\Session\SessionServiceProvider::class,
Illuminate\Translation\TranslationServiceProvider::class,
Illuminate\Validation\ValidationServiceProvider::class,
Illuminate\View\ViewServiceProvider::class,
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
// App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
App\Providers\FortifyServiceProvider::class,
App\Providers\JetstreamServiceProvider::class,
],
// Class Aliases
'aliases' => [
'App' => Illuminate\Support\Facades\App::class,
'Arr' => Illuminate\Support\Arr::class,
'Artisan' => Illuminate\Support\Facades\Artisan::class,
'Auth' => Illuminate\Support\Facades\Auth::class,
'Blade' => Illuminate\Support\Facades\Blade::class,
'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
'Bus' => Illuminate\Support\Facades\Bus::class,
'Cache' => Illuminate\Support\Facades\Cache::class,
'Config' => Illuminate\Support\Facades\Config::class,
'Cookie' => Illuminate\Support\Facades\Cookie::class,
'Crypt' => Illuminate\Support\Facades\Crypt::class,
'Date' => Illuminate\Support\Facades\Date::class,
'DB' => Illuminate\Support\Facades\DB::class,
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
'Event' => Illuminate\Support\Facades\Event::class,
'File' => Illuminate\Support\Facades\File::class,
'Gate' => Illuminate\Support\Facades\Gate::class,
'Hash' => Illuminate\Support\Facades\Hash::class,
'Http' => Illuminate\Support\Facades\Http::class,
'Lang' => Illuminate\Support\Facades\Lang::class,
'Log' => Illuminate\Support\Facades\Log::class,
'Mail' => Illuminate\Support\Facades\Mail::class,
'Notification' => Illuminate\Support\Facades\Notification::class,
'Password' => Illuminate\Support\Facades\Password::class,
'Queue' => Illuminate\Support\Facades\Queue::class,
'Redirect' => Illuminate\Support\Facades\Redirect::class,
// 'Redis' => Illuminate\Support\Facades\Redis::class,
'Request' => Illuminate\Support\Facades\Request::class,
'Response' => Illuminate\Support\Facades\Response::class,
'Route' => Illuminate\Support\Facades\Route::class,
'Schema' => Illuminate\Support\Facades\Schema::class,
'Session' => Illuminate\Support\Facades\Session::class,
'Storage' => Illuminate\Support\Facades\Storage::class,
'Str' => Illuminate\Support\Str::class,
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
],
Код: Выделить всё
app/config/session.phpКод: Выделить всё
// Default Session Driver
'driver' => env('SESSION_DRIVER', 'database'),
// Session Lifetime
'lifetime' => env('SESSION_LIFETIME', 120),
'expire_on_close' => false,
// Session Encryption
'encrypt' => false,
//Session File Location
'files' => storage_path('framework/sessions'),
// Session Database Connection
'connection' => env('SESSION_CONNECTION', null),
// Session Database Table
'table' => 'sessions',
// Session Cache Store
'store' => env('SESSION_STORE', null),
// Session Sweeping Lottery
'lottery' => [2, 100],
// Session Cookie Name
'cookie' => env(
'SESSION_COOKIE',
Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
),
// Session Cookie Path
'path' => '/',
// Session Cookie Domain
'domain' => env('SESSION_DOMAIN', 'localhost.com'),
// HTTPS Only Cookies
'secure' => env('SESSION_SECURE_COOKIE'),
// HTTP Access Only
'http_only' => true,
// Same-Site Cookies
'same_site' => 'lax',
Код: Выделить всё
routes/web.phpКод: Выделить всё
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\HomeController;
// Web Routes
Route::get('/', [HomeController::class, 'test']);
Код: Выделить всё
app/Http/Controllers/HomeController.phpКод: Выделить всё
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller {
public function test() {
return view('empty');
}
}
Код: Выделить всё
resources/views/layouts/boilerplate.blade.phpКод: Выделить всё
Document Title
@yield('content')
Код: Выделить всё
resources/views/empty.blade.phpКод: Выделить всё
@extends('layouts.boilerplate')
@section('content')
This is my body content.
@endsection
каждый раз, когда вы получаете доступ к маршруту / (т. е. перезагружаете страницу через секунду или две), Laravel создаст новый сеанс в БД:


Проблема становится очень серьезной, если вы собираетесь запросить некоторые данные через вызов AJAX к тому же API домена и предоставление токена для сравнения его на серверной стороне. Laravel сгенерирует новый сеанс, а также новый токен и вернет несоответствие предоставленного с «X-CSRF-TOKEN»: $(' Meta[name="csrf-token"]').attr('content')
ВОПРОС
ЧЕГО, ЧЕРТ, Я ПРОПАВАЛ?!? Любая помощь будет очень... ОЧЕНЬ оценена, и я более чем готов написать инструкции для всех остальных, кто сталкивается с той же проблемой, а их несколько...
Подробнее здесь: https://stackoverflow.com/questions/674 ... ch-request