2015-07-12 15:01:42 -04:00
|
|
|
<?php
|
|
|
|
|
2021-10-30 16:29:59 -04:00
|
|
|
use Illuminate\Support\Str;
|
2016-03-05 04:47:24 -05:00
|
|
|
|
2021-11-05 12:18:06 -04:00
|
|
|
/**
|
|
|
|
* 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);
|
|
|
|
}
|
|
|
|
}
|
2015-07-12 15:01:42 -04:00
|
|
|
|
2021-11-05 12:18:06 -04:00
|
|
|
return [
|
2021-10-30 16:29:59 -04:00
|
|
|
|
2021-11-05 12:18:06 -04:00
|
|
|
// Default cache store to use
|
|
|
|
// Can be overridden at cache call-time
|
2015-07-12 15:01:42 -04:00
|
|
|
'default' => env('CACHE_DRIVER', 'file'),
|
|
|
|
|
2021-11-05 12:18:06 -04:00
|
|
|
// Available caches stores
|
2015-07-12 15:01:42 -04:00
|
|
|
'stores' => [
|
|
|
|
|
|
|
|
'apc' => [
|
|
|
|
'driver' => 'apc',
|
|
|
|
],
|
|
|
|
|
|
|
|
'array' => [
|
2021-10-30 16:29:59 -04:00
|
|
|
'driver' => 'array',
|
|
|
|
'serialize' => false,
|
2015-07-12 15:01:42 -04:00
|
|
|
],
|
|
|
|
|
|
|
|
'database' => [
|
2021-10-30 16:29:59 -04:00
|
|
|
'driver' => 'database',
|
|
|
|
'table' => 'cache',
|
|
|
|
'connection' => null,
|
|
|
|
'lock_connection' => null,
|
2015-07-12 15:01:42 -04:00
|
|
|
],
|
|
|
|
|
|
|
|
'file' => [
|
|
|
|
'driver' => 'file',
|
|
|
|
'path' => storage_path('framework/cache'),
|
|
|
|
],
|
|
|
|
|
|
|
|
'memcached' => [
|
2021-10-30 16:29:59 -04:00
|
|
|
'driver' => 'memcached',
|
2021-11-05 12:27:59 -04:00
|
|
|
'options' => [
|
2021-10-30 16:29:59 -04:00
|
|
|
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
|
|
|
|
],
|
2021-11-05 12:27:59 -04:00
|
|
|
'servers' => $memcachedServers ?? [],
|
2015-07-12 15:01:42 -04:00
|
|
|
],
|
|
|
|
|
|
|
|
'redis' => [
|
2021-10-30 16:29:59 -04:00
|
|
|
'driver' => 'redis',
|
|
|
|
'connection' => 'default',
|
|
|
|
'lock_connection' => 'default',
|
|
|
|
],
|
|
|
|
|
|
|
|
'octane' => [
|
|
|
|
'driver' => 'octane',
|
2015-07-12 15:01:42 -04:00
|
|
|
],
|
|
|
|
|
|
|
|
],
|
|
|
|
|
2021-10-30 16:29:59 -04:00
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| 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' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_cache'),
|
2015-07-12 15:01:42 -04:00
|
|
|
|
|
|
|
];
|