<?php
-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.
+ */
- /*
- |--------------------------------------------------------------------------
- | 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.
- |
- */
+// 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' => env('CACHE_DRIVER', 'file'),
+return [
- /*
- |--------------------------------------------------------------------------
- | 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.
- |
- */
+ // Default cache store to use
+ // Can be overridden at cache call-time
+ 'default' => env('CACHE_DRIVER', 'file'),
+ // Available caches stores
'stores' => [
'apc' => [
'memcached' => [
'driver' => 'memcached',
- 'servers' => [
- [
- 'host' => env('MEMCACHED_HOST', '127.0.0.1'),
- 'port' => env('MEMCACHED_PORT', 11211),
- 'weight' => 100,
- ],
- ],
+ 'servers' => env('CACHE_DRIVER') === 'memcached' ? $memcachedServers : [],
],
'redis' => [
],
- /*
- |--------------------------------------------------------------------------
- | Cache Key Prefix
- |--------------------------------------------------------------------------
- |
- | When utilizing a RAM based store such as APC or Memcached, there might
- | be other applications utilizing the same cache. So, we'll specify a
- | value to get prefixed to all our keys so we can avoid collisions.
- |
- */
-
- 'prefix' => 'laravel',
+ // Cache key prefix
+ // Used to prevent collisions in shared cache systems.
+ 'prefix' => env('CACHE_PREFIX', 'bookstack'),
];