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' => [
'file' => [
'driver' => 'file',
'path' => storage_path('framework/cache'),
+ 'lock_path' => storage_path('framework/cache'),
],
'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' => [
'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',
],
|
*/
- 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_cache'),
+ 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_cache_'),
];