X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/c9c4dbcb5b30e5e39961ceeb031c18ddfaa165e5..refs/pull/3391/head:/app/Config/cache.php diff --git a/app/Config/cache.php b/app/Config/cache.php index 6fd4807da..86297b236 100644 --- a/app/Config/cache.php +++ b/app/Config/cache.php @@ -2,35 +2,37 @@ use Illuminate\Support\Str; -return [ +/** + * Caching configuration options. + * + * Changes to these config files are not supported by BookStack and may break upon updates. + * Configuration should be altered via the `.env` file or environment variables. + * Do not edit this file unless you're happy to maintain any changes yourself. + */ + +// MEMCACHED - Split out configuration into an array +if (env('CACHE_DRIVER') === 'memcached') { + $memcachedServerKeys = ['host', 'port', 'weight']; + $memcachedServers = explode(',', trim(env('MEMCACHED_SERVERS', '127.0.0.1:11211:100'), ',')); + foreach ($memcachedServers as $index => $memcachedServer) { + $memcachedServerDetails = explode(':', $memcachedServer); + if (count($memcachedServerDetails) < 2) { + $memcachedServerDetails[] = '11211'; + } + if (count($memcachedServerDetails) < 3) { + $memcachedServerDetails[] = '100'; + } + $memcachedServers[$index] = array_combine($memcachedServerKeys, $memcachedServerDetails); + } +} - /* - |-------------------------------------------------------------------------- - | Default Cache Store - |-------------------------------------------------------------------------- - | - | This option controls the default cache connection that gets used while - | using this caching library. This connection is used when another is - | not explicitly specified when executing a given caching function. - | - */ +return [ + // Default cache store to use + // Can be overridden at cache call-time 'default' => env('CACHE_DRIVER', 'file'), - /* - |-------------------------------------------------------------------------- - | 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: "apc", "array", "database", "file", - | "memcached", "redis", "dynamodb", "octane", "null" - | - */ - + // Available caches stores 'stores' => [ 'apc' => [ @@ -56,15 +58,10 @@ return [ 'memcached' => [ 'driver' => 'memcached', - 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), - 'sasl' => [ - env('MEMCACHED_USERNAME'), - env('MEMCACHED_PASSWORD'), - ], - 'options' => [ + 'options' => [ // Memcached::OPT_CONNECT_TIMEOUT => 2000, ], - 'servers' => env('CACHE_DRIVER') === 'memcached' ? $memcachedServers : [], + 'servers' => $memcachedServers ?? [], ], 'redis' => [ @@ -73,15 +70,6 @@ return [ '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', ],