394 lines
16 KiB
PHP
394 lines
16 KiB
PHP
<?php
|
|
// $Id$
|
|
|
|
/**
|
|
* @file
|
|
* Drupal site-specific configuration file.
|
|
*
|
|
* IMPORTANT NOTE:
|
|
* This file may have been set to read-only by the Drupal installation
|
|
* program. If you make changes to this file, be sure to protect it again
|
|
* after making your modifications. Failure to remove write permissions
|
|
* to this file is a security risk.
|
|
*
|
|
* The configuration file to be loaded is based upon the rules below.
|
|
*
|
|
* The configuration directory will be discovered by stripping the
|
|
* website's hostname from left to right and pathname from right to
|
|
* left. The first configuration file found will be used and any
|
|
* others will be ignored. If no other configuration file is found
|
|
* then the default configuration file at 'sites/default' will be used.
|
|
*
|
|
* For example, for a fictitious site installed at
|
|
* http://www.drupal.org/mysite/test/, the 'settings.php'
|
|
* is searched in the following directories:
|
|
*
|
|
* 1. sites/www.drupal.org.mysite.test
|
|
* 2. sites/drupal.org.mysite.test
|
|
* 3. sites/org.mysite.test
|
|
*
|
|
* 4. sites/www.drupal.org.mysite
|
|
* 5. sites/drupal.org.mysite
|
|
* 6. sites/org.mysite
|
|
*
|
|
* 7. sites/www.drupal.org
|
|
* 8. sites/drupal.org
|
|
* 9. sites/org
|
|
*
|
|
* 10. sites/default
|
|
*
|
|
* If you are installing on a non-standard port number, prefix the
|
|
* hostname with that number. For example,
|
|
* http://www.drupal.org:8080/mysite/test/ could be loaded from
|
|
* sites/8080.www.drupal.org.mysite.test/.
|
|
*/
|
|
|
|
/**
|
|
* Database settings:
|
|
*
|
|
* The $databases array specifies the database connection or
|
|
* connections that Drupal may use. Drupal is able to connect
|
|
* to multiple databases, including multiple types of databases,
|
|
* during the same request.
|
|
*
|
|
* Each database connection is specified as an array of settings,
|
|
* similar to the following:
|
|
*
|
|
* array(
|
|
* 'driver' => 'mysql',
|
|
* 'database' => 'databasename',
|
|
* 'username' => 'username',
|
|
* 'password' => 'password',
|
|
* 'host' => 'localhost',
|
|
* 'port' => 3306,
|
|
* );
|
|
*
|
|
* The "driver" property indicates what Drupal database driver the
|
|
* connection should use. This is usually the same as the name of the
|
|
* database type, such as mysql or sqlite, but not always. The other
|
|
* properties will vary depending on the driver. For SQLite, you must
|
|
* specify a database file name in a directory that is writable by the
|
|
* webserver. For most other drivers, you must specify a
|
|
* username, password, host, and database name.
|
|
*
|
|
* Some database engines support transactions. In order to enable
|
|
* transaction support for a given database, set the 'transactions' key
|
|
* to TRUE. To disable it, set it to FALSE. Note that the default value
|
|
* varies by driver. For MySQL, the default is FALSE since MyISAM tables
|
|
* do not support transactions.
|
|
*
|
|
* For each database, you may optionally specify multiple "target" databases.
|
|
* A target database allows Drupal to try to send certain queries to a
|
|
* different database if it can but fall back to the default connection if not.
|
|
* That is useful for master/slave replication, as Drupal may try to connect
|
|
* to a slave server when appropriate and if one is not available will simply
|
|
* fall back to the single master server.
|
|
*
|
|
* The general format for the $databases array is as follows:
|
|
*
|
|
* $databases['default']['default'] = $info_array;
|
|
* $databases['default']['slave'][] = $info_array;
|
|
* $databases['default']['slave'][] = $info_array;
|
|
* $databases['extra']['default'] = $info_array;
|
|
*
|
|
* In the above example, $info_array is an array of settings described above.
|
|
* The first line sets a "default" database that has one master database
|
|
* (the second level default). The second and third lines create an array
|
|
* of potential slave databases. Drupal will select one at random for a given
|
|
* request as needed. The fourth line creates a new database with a name of
|
|
* "extra".
|
|
*
|
|
* For a single database configuration, the following is sufficient:
|
|
*
|
|
* $databases['default']['default'] = array(
|
|
* 'driver' => 'mysql',
|
|
* 'database' => 'databasename',
|
|
* 'username' => 'username',
|
|
* 'password' => 'password',
|
|
* 'host' => 'localhost',
|
|
* );
|
|
*
|
|
* You can optionally set prefixes for some or all database table names
|
|
* by using the $db_prefix setting. If a prefix is specified, the table
|
|
* name will be prepended with its value. Be sure to use valid database
|
|
* characters only, usually alphanumeric and underscore. If no prefixes
|
|
* are desired, leave it as an empty string ''.
|
|
*
|
|
* To have all database names prefixed, set $db_prefix as a string:
|
|
*
|
|
* $db_prefix = 'main_';
|
|
*
|
|
* To provide prefixes for specific tables, set $db_prefix as an array.
|
|
* The array's keys are the table names and the values are the prefixes.
|
|
* The 'default' element holds the prefix for any tables not specified
|
|
* elsewhere in the array. Example:
|
|
*
|
|
* $db_prefix = array(
|
|
* 'default' => 'main_',
|
|
* 'users' => 'shared_',
|
|
* 'sessions' => 'shared_',
|
|
* 'role' => 'shared_',
|
|
* 'authmap' => 'shared_',
|
|
* );
|
|
*
|
|
* Database configuration format:
|
|
* $databases['default']['default'] = array(
|
|
* 'driver' => 'mysql',
|
|
* 'database' => 'databasename',
|
|
* 'username' => 'username',
|
|
* 'password' => 'password',
|
|
* 'host' => 'localhost',
|
|
* );
|
|
* $databases['default']['default'] = array(
|
|
* 'driver' => 'pgsql',
|
|
* 'database' => 'databasename',
|
|
* 'username' => 'username',
|
|
* 'password' => 'password',
|
|
* 'host' => 'localhost',
|
|
* );
|
|
* $databases['default']['default'] = array(
|
|
* 'driver' => 'sqlite',
|
|
* 'database' => '/path/to/databasefilename',
|
|
* );
|
|
*/
|
|
$databases = array();
|
|
$db_prefix = '';
|
|
|
|
/**
|
|
* Access control for update.php script
|
|
*
|
|
* If you are updating your Drupal installation using the update.php script but
|
|
* are not logged in using either an account with the "Administer software
|
|
* updates" permission or the site maintenance account (the account that was
|
|
* created during installation), you will need to modify the access check
|
|
* statement below. Change the FALSE to a TRUE to disable the access check.
|
|
* After finishing the upgrade, be sure to open this file again and change the
|
|
* TRUE back to a FALSE!
|
|
*/
|
|
$update_free_access = FALSE;
|
|
|
|
/**
|
|
* Salt for one-time login links and cancel links, form tokens, etc.
|
|
*
|
|
* This variable will be set to a random value by the installer. All one-time
|
|
* login links will be invalidated if the value is changed. Note that this
|
|
* variable must have the same value on every web server. If this variable is
|
|
* empty, a hash of the serialized database credentials will be used as a
|
|
* fallback salt.
|
|
*
|
|
* For enhanced security, you may set this variable to a value using the
|
|
* contents of a file outside your docroot that is never saved together
|
|
* with any backups of your Drupal files and database.
|
|
*
|
|
* Example:
|
|
* $drupal_hash_salt = file_get_contents('/home/example/salt.txt');
|
|
*
|
|
*/
|
|
$drupal_hash_salt = '';
|
|
|
|
/**
|
|
* Base URL (optional).
|
|
*
|
|
* If you are experiencing issues with different site domains,
|
|
* uncomment the Base URL statement below (remove the leading hash sign)
|
|
* and fill in the absolute URL to your Drupal installation.
|
|
*
|
|
* You might also want to force users to use a given domain.
|
|
* See the .htaccess file for more information.
|
|
*
|
|
* Examples:
|
|
* $base_url = 'http://www.example.com';
|
|
* $base_url = 'http://www.example.com:8888';
|
|
* $base_url = 'http://www.example.com/drupal';
|
|
* $base_url = 'https://www.example.com:8888/drupal';
|
|
*
|
|
* It is not allowed to have a trailing slash; Drupal will add it
|
|
* for you.
|
|
*/
|
|
# $base_url = 'http://www.example.com'; // NO trailing slash!
|
|
|
|
/**
|
|
* PHP settings:
|
|
*
|
|
* To see what PHP settings are possible, including whether they can be set at
|
|
* runtime (by using ini_set()), read the PHP documentation:
|
|
* http://www.php.net/manual/en/ini.list.php
|
|
* See drupal_initialize_variables() in includes/bootstrap.inc for required
|
|
* runtime settings and the .htaccess file for non-runtime settings. Settings
|
|
* defined there should not be duplicated here so as to avoid conflict issues.
|
|
*/
|
|
|
|
/**
|
|
* Some distributions of Linux (most notably Debian) ship their PHP
|
|
* installations with garbage collection (gc) disabled. Since Drupal depends on
|
|
* PHP's garbage collection for clearing sessions, ensure that garbage
|
|
* collection occurs by using the most common settings.
|
|
*/
|
|
ini_set('session.gc_probability', 1);
|
|
ini_set('session.gc_divisor', 100);
|
|
|
|
/**
|
|
* Set session lifetime (in seconds), i.e. the time from the user's last visit
|
|
* to the active session may be deleted by the session garbage collector. When
|
|
* a session is deleted, authenticated users are logged out, and the contents
|
|
* of the user's $_SESSION variable is discarded.
|
|
*/
|
|
ini_set('session.gc_maxlifetime', 200000);
|
|
|
|
/**
|
|
* Set session cookie lifetime (in seconds), i.e. the time from the session is
|
|
* created to the cookie expires, i.e. when the browser is expected to discard
|
|
* the cookie. The value 0 means "until the browser is closed".
|
|
*/
|
|
ini_set('session.cookie_lifetime', 2000000);
|
|
|
|
/**
|
|
* Drupal automatically generates a unique session cookie name for each site
|
|
* based on on its full domain name. If you have multiple domains pointing at
|
|
* the same Drupal site, you can either redirect them all to a single domain
|
|
* (see comment in .htaccess), or uncomment the line below and specify their
|
|
* shared base domain. Doing so assures that users remain logged in as they
|
|
* cross between your various domains.
|
|
*/
|
|
# $cookie_domain = 'example.com';
|
|
|
|
/**
|
|
* Variable overrides:
|
|
*
|
|
* To override specific entries in the 'variable' table for this site,
|
|
* set them here. You usually don't need to use this feature. This is
|
|
* useful in a configuration file for a vhost or directory, rather than
|
|
* the default settings.php. Any configuration setting from the 'variable'
|
|
* table can be given a new value. Note that any values you provide in
|
|
* these variable overrides will not be modifiable from the Drupal
|
|
* administration interface.
|
|
*
|
|
* The following overrides are examples:
|
|
* - site_name: Defines the site's name.
|
|
* - theme_default: Defines the default theme for this site.
|
|
* - anonymous: Defines the human-readable name of anonymous users.
|
|
* Remove the leading hash signs to enable.
|
|
*/
|
|
# $conf['site_name'] = 'My Drupal site';
|
|
# $conf['theme_default'] = 'garland';
|
|
# $conf['anonymous'] = 'Visitor';
|
|
|
|
/**
|
|
* A custom theme can be set for the offline page. This applies when the site
|
|
* is explicitly set to maintenance mode through the administration page or when
|
|
* the database is inactive due to an error. It can be set through the
|
|
* 'maintenance_theme' key. The template file should also be copied into the
|
|
* theme. It is located inside 'modules/system/maintenance-page.tpl.php'.
|
|
* Note: This setting does not apply to installation and update pages.
|
|
*/
|
|
# $conf['maintenance_theme'] = 'garland';
|
|
|
|
/**
|
|
* Enable this setting to determine the correct IP address of the remote
|
|
* client by examining information stored in the X-Forwarded-For headers.
|
|
* X-Forwarded-For headers are a standard mechanism for identifying client
|
|
* systems connecting through a reverse proxy server, such as Squid or
|
|
* Pound. Reverse proxy servers are often used to enhance the performance
|
|
* of heavily visited sites and may also provide other site caching,
|
|
* security or encryption benefits. If this Drupal installation operates
|
|
* behind a reverse proxy, this setting should be enabled so that correct
|
|
* IP address information is captured in Drupal's session management,
|
|
* logging, statistics and access management systems; if you are unsure
|
|
* about this setting, do not have a reverse proxy, or Drupal operates in
|
|
* a shared hosting environment, this setting should remain commented out.
|
|
*/
|
|
# $conf['reverse_proxy'] = TRUE;
|
|
|
|
/**
|
|
* Set this value if your proxy server sends the client IP in a header other
|
|
* than X-Forwarded-For.
|
|
*
|
|
* The "X-Forwarded-For" header is a comma+space separated list of IP addresses,
|
|
* only the last one (the left-most) will be used.
|
|
*/
|
|
# $conf['reverse_proxy_header'] = 'HTTP_X_CLUSTER_CLIENT_IP';
|
|
|
|
/**
|
|
* reverse_proxy accepts an array of IP addresses.
|
|
*
|
|
* Each element of this array is the IP address of any of your reverse
|
|
* proxies. Filling this array Drupal will trust the information stored
|
|
* in the X-Forwarded-For headers only if Remote IP address is one of
|
|
* these, that is the request reaches the web server from one of your
|
|
* reverse proxies. Otherwise, the client could directly connect to
|
|
* your web server spoofing the X-Forwarded-For headers.
|
|
*/
|
|
# $conf['reverse_proxy_addresses'] = array('a.b.c.d', ...);
|
|
|
|
/**
|
|
* Page caching:
|
|
*
|
|
* By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page
|
|
* views. This tells a HTTP proxy that it may return a page from its local
|
|
* cache without contacting the web server, if the user sends the same Cookie
|
|
* header as the user who originally requested the cached page. Without "Vary:
|
|
* Cookie", authenticated users would also be served the anonymous page from
|
|
* the cache. If the site has mostly anonymous users except a few known
|
|
* editors/administrators, the Vary header can be omitted. This allows for
|
|
* better caching in HTTP proxies (including reverse proxies), i.e. even if
|
|
* clients send different cookies, they still get content served from the cache
|
|
* if aggressive caching is enabled and the minimum cache time is non-zero.
|
|
* However, authenticated users should access the site directly (i.e. not use an
|
|
* HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid
|
|
* getting cached pages from the proxy.
|
|
*/
|
|
# $conf['omit_vary_cookie'] = TRUE;
|
|
|
|
/**
|
|
* String overrides:
|
|
*
|
|
* To override specific strings on your site with or without enabling locale
|
|
* module, add an entry to this list. This functionality allows you to change
|
|
* a small number of your site's default English language interface strings.
|
|
*
|
|
* Remove the leading hash signs to enable.
|
|
*/
|
|
# $conf['locale_custom_strings_en'][''] = array(
|
|
# 'forum' => 'Discussion board',
|
|
# '@count min' => '@count minutes',
|
|
# );
|
|
|
|
/**
|
|
*
|
|
* IP blocking:
|
|
*
|
|
* To bypass database queries for denied IP addresses, use this setting.
|
|
* Drupal queries the {blocked_ips} table by default on every page request
|
|
* for both authenticated and anonymous users. This allows the system to
|
|
* block IP addresses from within the administrative interface and before any
|
|
* modules are loaded. However on high traffic websites you may want to avoid
|
|
* this query, allowing you to bypass database access altogether for anonymous
|
|
* users under certain caching configurations.
|
|
*
|
|
* If using this setting, you will need to add back any IP addresses which
|
|
* you may have blocked via the administrative interface. Each element of this
|
|
* array represents a blocked IP address. Uncommenting the array and leaving it
|
|
* empty will have the effect of disabling IP blocking on your site.
|
|
*
|
|
* Remove the leading hash signs to enable.
|
|
*/
|
|
# $conf['blocked_ips'] = array(
|
|
# 'a.b.c.d',
|
|
# );
|
|
|
|
/**
|
|
* Authorized file system operations:
|
|
*
|
|
* The Update manager module included with Drupal provides a mechanism for
|
|
* site administrators to securely install missing updates for the site
|
|
* directly through the web user interface by providing either SSH or FTP
|
|
* credentials. This allows the site to update the new files as the user who
|
|
* owns all the Drupal files, instead of as the user the webserver is running
|
|
* as. However, some sites might wish to disable this functionality, and only
|
|
* update the code directly via SSH or FTP themselves. This setting completely
|
|
* disables all functionality related to these authorized file operations.
|
|
*
|
|
* Remove the leading hash signs to disable.
|
|
*/
|
|
# $conf['allow_authorize_operations'] = FALSE;
|