4d38f75826
Триггер фазы 1 запущен 08.05.2026 (вечер): composer create-project laravel/laravel app Стек подтверждён native (без Docker/WSL2/Sail): - PostgreSQL 16.13 (Chocolatey, Windows-сервис, port 5432) - Memurai Developer 4.1.8 (Redis 7-совм., port 6379) — TCP +PONG OK - PHP 8.3.31 + 11/11 Laravel-required ext (pdo_pgsql, mbstring, openssl, tokenizer, xml, ctype, json, bcmath, fileinfo, curl, pgsql) - Composer 2.9.7 Что в коммите (59 файлов, 11059 строк скаффолда Laravel 11 + правки): - composer require predis/predis (v3.4.2) — PHP-only Redis-клиент, т.к. php_redis ext не установлен (см. project_phase1_strategy.md) - app/.env (gitignored) — APP_NAME=Liderra, APP_LOCALE=ru, APP_TIMEZONE=Europe/Moscow, DB_CONNECTION=pgsql → liderra@localhost, REDIS_CLIENT=predis - app/.env.example — те же правки без секретов (для команды) Smoke-test PG ↔ Laravel ↔ pdo_pgsql прошёл: 3/3 default-миграций → 9 таблиц в liderra (cache, cache_locks, failed_jobs, job_batches, jobs, migrations, password_reset_tokens, sessions, users). Артефакт стартера app/database/database.sqlite (0 B) удалён — sqlite не используется. Что НЕ в этом коммите (следующие шаги фазы 1): - Pest 3 swap (CTO-12) — composer remove phpunit + require pest - Laravel Boost MCP + 9 guidelines disable по CLAUDE.md §5/§7 - Pint, Larastan, Roave/SecurityAdvisories, IDE Helper, squawk, pgFormatter (Прил. Н #11–18) - resources/boost/guidelines/vuetify.blade.php Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
131 lines
4.1 KiB
PHP
131 lines
4.1 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Str;
|
|
|
|
return [
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Default Cache Store
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This option controls the default cache store that will be used by the
|
|
| framework. This connection is utilized if another isn't explicitly
|
|
| specified when running a cache operation inside the application.
|
|
|
|
|
*/
|
|
|
|
'default' => env('CACHE_STORE', 'database'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Cache Stores
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here you may define all of the cache "stores" for your application as
|
|
| well as their drivers. You may even define multiple stores for the
|
|
| same cache driver to group types of items stored in your caches.
|
|
|
|
|
| Supported drivers: "array", "database", "file", "memcached",
|
|
| "redis", "dynamodb", "octane",
|
|
| "failover", "null"
|
|
|
|
|
*/
|
|
|
|
'stores' => [
|
|
|
|
'array' => [
|
|
'driver' => 'array',
|
|
'serialize' => false,
|
|
],
|
|
|
|
'database' => [
|
|
'driver' => 'database',
|
|
'connection' => env('DB_CACHE_CONNECTION'),
|
|
'table' => env('DB_CACHE_TABLE', 'cache'),
|
|
'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'),
|
|
'lock_table' => env('DB_CACHE_LOCK_TABLE'),
|
|
],
|
|
|
|
'file' => [
|
|
'driver' => 'file',
|
|
'path' => storage_path('framework/cache/data'),
|
|
'lock_path' => storage_path('framework/cache/data'),
|
|
],
|
|
|
|
'memcached' => [
|
|
'driver' => 'memcached',
|
|
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
|
|
'sasl' => [
|
|
env('MEMCACHED_USERNAME'),
|
|
env('MEMCACHED_PASSWORD'),
|
|
],
|
|
'options' => [
|
|
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
|
|
],
|
|
'servers' => [
|
|
[
|
|
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
|
|
'port' => env('MEMCACHED_PORT', 11211),
|
|
'weight' => 100,
|
|
],
|
|
],
|
|
],
|
|
|
|
'redis' => [
|
|
'driver' => 'redis',
|
|
'connection' => env('REDIS_CACHE_CONNECTION', 'cache'),
|
|
'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'),
|
|
],
|
|
|
|
'dynamodb' => [
|
|
'driver' => 'dynamodb',
|
|
'key' => env('AWS_ACCESS_KEY_ID'),
|
|
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
|
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
|
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
|
|
'endpoint' => env('DYNAMODB_ENDPOINT'),
|
|
],
|
|
|
|
'octane' => [
|
|
'driver' => 'octane',
|
|
],
|
|
|
|
'failover' => [
|
|
'driver' => 'failover',
|
|
'stores' => [
|
|
'database',
|
|
'array',
|
|
],
|
|
],
|
|
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Cache Key Prefix
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| When utilizing the APC, database, memcached, Redis, and DynamoDB cache
|
|
| stores, there might be other applications using the same cache. For
|
|
| that reason, you may prefix every cache key to avoid collisions.
|
|
|
|
|
*/
|
|
|
|
'prefix' => env('CACHE_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-cache-'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Serializable Classes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This value determines the classes that can be unserialized from cache
|
|
| storage. By default, no PHP classes will be unserialized from your
|
|
| cache to prevent gadget chain attacks if your APP_KEY is leaked.
|
|
|
|
|
*/
|
|
|
|
'serializable_classes' => false,
|
|
|
|
];
|