Elgg  Version 4.3
settings.example.php File Reference

Go to the source code of this file.


global $CONFIG
if(!isset($CONFIG)) $CONFIG dataroot = "{{dataroot}}"
 The full file path for Elgg data storage. More...
$CONFIG wwwroot = "{{wwwroot}}"
 The installation root URL of the site. More...
$CONFIG dbuser = '{{dbuser}}'
 The database username. More...
$CONFIG dbpass = '{{dbpassword}}'
 The database password. More...
$CONFIG dbname = '{{dbname}}'
 The database name. More...
$CONFIG dbhost = '{{dbhost}}'
 The database host. More...
$CONFIG dbport = '{{dbport}}'
 The database port. More...
$CONFIG dbprefix = '{{dbprefix}}'
 The database prefix. More...
$CONFIG dbencoding = 'utf8mb4'
 The database encoding. More...
$CONFIG db_disable_query_cache = false
 Multiple database connections. More...
$CONFIG auto_disable_plugins = true
 Automatically disable plugins that are unable to boot. More...
$CONFIG exception_include = ''
 Control if Elgg should always validate classes previously stored in the ClassMap. More...
$CONFIG action_time_limit = 120
 To enable profiling, uncomment the following lines, and replace some_secret with a secret key. More...
$CONFIG allow_phpinfo = false
 Allow access to PHPInfo. More...
$CONFIG proxy
 Configure image processor. More...

Variable Documentation

global $CONFIG

Definition at line 15 of file settings.example.php.

$CONFIG action_time_limit = 120

To enable profiling, uncomment the following lines, and replace some_secret with a secret key.

When enabled, profiling data will show in the JS console. Maximum php execution time for actions (in seconds)

This setting can be used to set a custom default php execution time only for all registered Elgg actions. Note that if some actions set their own execution time limit, this setting will no affect those actions.

int $CONFIG->action_time_limit

Definition at line 369 of file settings.example.php.

$CONFIG allow_phpinfo = false

Allow access to PHPInfo.

This setting can be used to allow site administrators access to the PHPInfo page. By default this is not allowed.

bool $CONFIG->allow_phpinfo

Definition at line 379 of file settings.example.php.

$CONFIG auto_disable_plugins = true

Automatically disable plugins that are unable to boot.

Elgg will disable unbootable plugins. If you set this to false plugins will no longer be disabled if they are not bootable. This could cause requests to your site to fail as required views, classes or cached data could be missing.

Setting this to false could be useful during deployment of new code.

bool $CONFIG->auto_disable_plugins

Definition at line 317 of file settings.example.php.

if (!isset($CONFIG)) $CONFIG dataroot = "{{dataroot}}"

The full file path for Elgg data storage.

E.g. "/path/to/elgg-data/"

string $CONFIG->dataroot

Definition at line 35 of file settings.example.php.

$CONFIG db_disable_query_cache = false

Multiple database connections.

Elgg supports master/slave MySQL configurations. The master should be set as the 'write' connection and the slave(s) as the 'read' connection(s).

To use, uncomment the below configuration and update for your site. Memcache setup (optional) This is where you may optionally set up memcache.

Requirements: 1) One or more memcache servers (http://www.danga.com/memcached/) 2) PHP memcache wrapper (http://php.net/manual/en/memcache.setup.php)

You can set a namespace prefix if you run multiple Elgg instances on the same Memcache server.

Note: Multiple server support is only available on server 1.2.1 or higher with PECL library > 2.0.0 Redis setup (optional) This is where you may optionally set up Redis. Better caching performance

Configuring simplecache in the settings.php file improves caching performance. It allows Elgg to skip connecting to the database when serving cached JavaScript and CSS files. If you uncomment and configure these settings, you will not be able to change them from the Elgg advanced settings page. Configure the boot cache TTL

Elgg can store most non-user-specific boot up data in a cache. If you want to configure how long Elgg takes before invalidating this cache, uncomment the next line and set it to a number of seconds. If not set Elgg will default to 3600 seconds. Set cache directory

By default, Elgg uses the data directory to store cache files, but this may be undesirable for sites with the data directory on a distributed file system (e.g. multiple servers with load balancing). You can specify a separate location for the cache files here. Set local cache directory

By default, Elgg uses the cache directory to store cache files, but this may be undesirable for sites with a cache location on a network share used by multiple webservers. You can specify a separate location for the local cache files here. Set views simplecache directory

Elgg uses the asset directory to store cached asset files. By default, assets are stored in the cache root and site owners are advised to symlink project root /cache to asset root. Using this config value, you can change the default behavior Plugins with more than the configured number of plugin settings won't be loaded into bootdata cache. This is done to prevent memory issues.

If set to < 1 all plugins will be loaded into the bootdata cache

Default: 40 Enable SendFile file serving

After enabling X-Sendfile/X-Accel on your server, you can enable its support in Elgg. Set the X-Sendfile-Type value to "X-Sendfile" (Apache) or "X-Accel-Redirect" (Nginx).

string $CONFIG->{'X-Sendfile-Type'} Configure X-Accel on nginx (see SendFile above)

For Nginx, you'll likely also need to set this to a mapping like: "/path/to/dataroot/=/download/".

string $CONFIG->{'X-Accel-Mapping'} Cookie configuration

Elgg uses 2 cookies: a PHP session cookie and an extended login cookie (also called the remember me cookie). See the PHP manual for documentation on each of these parameters. Possible options:

  • Set the session name to share the session across applications.
  • Set the path because Elgg is not installed in the root of the web directory.
  • Set the secure option to true if you only serve the site over HTTPS.
  • Set the expire option on the remember me cookie to change its lifetime

To use, uncomment the appropriate sections below and update for your site.

array $CONFIG->cookies Disable the database query cache

Elgg stores each query and its results in a query cache. On large sites or long-running scripts, this cache can grow to be large. To disable query caching, set this to true.

bool $CONFIG->db_disable_query_cache

Definition at line 304 of file settings.example.php.

$CONFIG dbencoding = 'utf8mb4'

The database encoding.

If installing a fresh instance of Elgg 3.x or later, this MUST be set to "utf8mb4". If you've upgraded an earlier Elgg version, do not set this until you have manually converted your Elgg tables to utf8mb4.

string $CONFIG->dbencoding

Definition at line 105 of file settings.example.php.

$CONFIG dbhost = '{{dbhost}}'

The database host.

For most installations, this is 'localhost'

string $CONFIG->dbhost

Definition at line 74 of file settings.example.php.

$CONFIG dbname = '{{dbname}}'

The database name.

string $CONFIG->dbname

Definition at line 65 of file settings.example.php.

$CONFIG dbpass = '{{dbpassword}}'

The database password.

string $CONFIG->dbpass

Definition at line 58 of file settings.example.php.

$CONFIG dbport = '{{dbport}}'

The database port.

For most installations, this is 3306

string $CONFIG->dbport

Definition at line 83 of file settings.example.php.

$CONFIG dbprefix = '{{dbprefix}}'

The database prefix.

This prefix will be appended to all Elgg tables. If you're sharing a database with other applications, use a database prefix to namespace tables in order to avoid table name collisions.

string $CONFIG->dbprefix

Definition at line 94 of file settings.example.php.

$CONFIG dbuser = '{{dbuser}}'

The database username.

string $CONFIG->dbuser

Definition at line 51 of file settings.example.php.

$CONFIG exception_include = ''

Control if Elgg should always validate classes previously stored in the ClassMap.

You can disable this for performance reasons (less disk checks) but you need to make sure the class map will never get stale data.

bool $CONFIG->class_loader_verify_file_existence This is an optional script used to override Elgg's default handling of uncaught exceptions.

This should be an absolute file path to a php script that will be called any time an uncaught exception is thrown.

The script will have access to the following variables as part of the scope global $CONFIG $exception - the unhandled exception

- the database may not be available

string $CONFIG->exception_include

Definition at line 342 of file settings.example.php.

$CONFIG proxy
Initial value:
= [

Configure image processor.

This setting can be used to select a different image processor. By default the GD library is used. Currently only 'imagick' is supported as a different configuration. For Imagick the 'imagick' extension is required.

string $CONFIG->image_processor Control if webp images are allowed to be served for icons (if supported by server and browser). Default enabled

bool $CONFIG->webp_enabled Email subject length limit

The length limit for email subjects, defaults to 998 as described in http://www.faqs.org/rfcs/rfc2822.html

int $CONFIG->emailer_transport Configure emailer transport

This setting can be used to select a different emailer transport. By default the Laminas Sendmail Transport is used. Currently only 'smtp' and 'sendmail' are supported as a different configuration. For 'smtp', the SMTP server's settings must be set, while 'sendmail' requires no configuration.

string $CONFIG->emailer_transport Configure sendmail related settings Configure emailer SMTP settings

This setting is only necessary if the above emailer transport is set to 'smtp'. Please refer to https://docs.laminas.dev/laminas-mail/transport/smtp-options/#configuration-options and https://docs.laminas.dev/laminas-mail/transport/smtp-authentication/#examples Configure notification queue delay

This setting can be used to delay the processing of queued notifications. This can help when users create content and quickly remove the content. A notification could be send out to subscribers about content which will be removed quickly

The setting needs to be the number of seconds to delay the notification queue processing (eg. 3 minutes => 180 seconds) Default: 0 (no delay) Proxy configuration

These settings can be used whenever there is the need to (optionally) configure a proxy

Definition at line 462 of file settings.example.php.

$CONFIG wwwroot = "{{wwwroot}}"

The installation root URL of the site.

E.g. "https://example.org/elgg/"

If not provided, this is sniffed from the Symfony Request object

string $CONFIG->wwwroot

Definition at line 44 of file settings.example.php.