<?php
/**
- * Broadcasting configuration options.
+ * 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);
+ }
+}
+
return [
- // Default Broadcaster
- // This option controls the default broadcaster that will be used by the
- // framework when an event needs to be broadcast. This can be set to
- // any of the connections defined in the "connections" array below.
- 'default' => env('BROADCAST_DRIVER', 'pusher'),
-
- // Broadcast Connections
- // Here you may define all of the broadcast connections that will be used
- // to broadcast events to other systems or over websockets. Samples of
- // each available type of connection are provided inside this array.
- 'connections' => [
-
- 'pusher' => [
- 'driver' => 'pusher',
- 'key' => env('PUSHER_APP_KEY'),
- 'secret' => env('PUSHER_APP_SECRET'),
- 'app_id' => env('PUSHER_APP_ID'),
- 'options' => [
- 'cluster' => env('PUSHER_APP_CLUSTER'),
- 'useTLS' => true,
- ],
+ // Default cache store to use
+ // Can be overridden at cache call-time
+ 'default' => env('CACHE_DRIVER', 'file'),
+
+ // Available caches stores
+ 'stores' => [
+
+ 'apc' => [
+ 'driver' => 'apc',
],
- 'redis' => [
- 'driver' => 'redis',
- 'connection' => 'default',
+ 'array' => [
+ 'driver' => 'array',
+ 'serialize' => false,
+ ],
+
+ 'database' => [
+ 'driver' => 'database',
+ 'table' => 'cache',
+ 'connection' => null,
+ 'lock_connection' => null,
],
- 'log' => [
- 'driver' => 'log',
+ 'file' => [
+ 'driver' => 'file',
+ 'path' => storage_path('framework/cache'),
],
- 'null' => [
- 'driver' => 'null',
+ 'memcached' => [
+ 'driver' => 'memcached',
+ 'servers' => env('CACHE_DRIVER') === 'memcached' ? $memcachedServers : [],
+ 'options' => [],
+ ],
+
+ 'redis' => [
+ 'driver' => 'redis',
+ 'connection' => 'default',
+ 'lock_connection' => 'default',
+ ],
+
+ 'octane' => [
+ 'driver' => 'octane',
],
],
+ // Cache key prefix
+ // Used to prevent collisions in shared cache systems.
+ 'prefix' => env('CACHE_PREFIX', 'bookstack_cache'),
+
];