generated from ddev/ddev-addon-template
-
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3 from hussainweb/drupal-settings
Add Drupal configuration settings
- Loading branch information
Showing
5 changed files
with
101 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,3 +15,4 @@ project_files: | |
global_files: | ||
|
||
post_install_actions: | ||
- redis/scripts/setup-drupal-settings.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
<?php | ||
|
||
use Drupal\Core\Installer\InstallerKernel; | ||
|
||
if (!InstallerKernel::installationAttempted() && extension_loaded('redis') && class_exists('Drupal\redis\ClientFactory')) { | ||
// Set Redis as the default backend for any cache bin not otherwise specified. | ||
$settings['cache']['default'] = 'cache.backend.redis'; | ||
$settings['redis.connection']['host'] = 'redis'; | ||
$settings['redis.connection']['port'] = 6379; | ||
|
||
// Apply changes to the container configuration to better leverage Redis. | ||
// This includes using Redis for the lock and flood control systems, as well | ||
// as the cache tag checksum. Alternatively, copy the contents of that file | ||
// to your project-specific services.yml file, modify as appropriate, and | ||
// remove this line. | ||
$settings['container_yamls'][] = 'modules/contrib/redis/example.services.yml'; | ||
|
||
// Allow the services to work before the Redis module itself is enabled. | ||
$settings['container_yamls'][] = 'modules/contrib/redis/redis.services.yml'; | ||
|
||
// Manually add the classloader path, this is required for the container cache bin definition below | ||
// and allows to use it without the redis module being enabled. | ||
$class_loader->addPsr4('Drupal\\redis\\', 'modules/contrib/redis/src'); | ||
|
||
// Use redis for container cache. | ||
// The container cache is used to load the container definition itself, and | ||
// thus any configuration stored in the container itself is not available | ||
// yet. These lines force the container cache to use Redis rather than the | ||
// default SQL cache. | ||
$settings['bootstrap_container_definition'] = [ | ||
'parameters' => [], | ||
'services' => [ | ||
'redis.factory' => [ | ||
'class' => 'Drupal\redis\ClientFactory', | ||
], | ||
'cache.backend.redis' => [ | ||
'class' => 'Drupal\redis\Cache\CacheBackendFactory', | ||
'arguments' => ['@redis.factory', '@cache_tags_provider.container', '@serialization.phpserialize'], | ||
], | ||
'cache.container' => [ | ||
'class' => '\Drupal\redis\Cache\PhpRedis', | ||
'factory' => ['@cache.backend.redis', 'get'], | ||
'arguments' => ['container'], | ||
], | ||
'cache_tags_provider.container' => [ | ||
'class' => 'Drupal\redis\Cache\RedisCacheTagsChecksum', | ||
'arguments' => ['@redis.factory'], | ||
], | ||
'serialization.phpserialize' => [ | ||
'class' => 'Drupal\Component\Serialization\PhpSerialize', | ||
], | ||
], | ||
]; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -e | ||
|
||
if [[ $DDEV_PROJECT_TYPE != drupal* ]] || [[ $DDEV_PROJECT_TYPE =~ ^drupal(6|7)$ ]] ; | ||
then | ||
exit 0 | ||
fi | ||
|
||
cp redis/scripts/settings.ddev.redis.php $DDEV_APPROOT/$DDEV_DOCROOT/sites/default/ | ||
|
||
SETTINGS_FILE_NAME="${DDEV_APPROOT}/${DDEV_DOCROOT}/sites/default/settings.php" | ||
echo "Settings file name: ${SETTINGS_FILE_NAME}" | ||
grep -qF 'settings.ddev.redis.php' $SETTINGS_FILE_NAME || echo " | ||
// Include settings required for Redis cache. | ||
if ((file_exists(__DIR__ . '/settings.ddev.redis.php') && getenv('IS_DDEV_PROJECT') == 'true')) { | ||
include __DIR__ . '/settings.ddev.redis.php'; | ||
}" >> $SETTINGS_FILE_NAME |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters