settings.php 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526
  1. <?php
  2. /**
  3. * @file
  4. * Drupal site-specific configuration file.
  5. *
  6. * IMPORTANT NOTE:
  7. * This file may have been set to read-only by the Drupal installation
  8. * program. If you make changes to this file, be sure to protect it again
  9. * after making your modifications. Failure to remove write permissions
  10. * to this file is a security risk.
  11. *
  12. * The configuration file to be loaded is based upon the rules below.
  13. *
  14. * The configuration directory will be discovered by stripping the
  15. * website's hostname from left to right and pathname from right to
  16. * left. The first configuration file found will be used and any
  17. * others will be ignored. If no other configuration file is found
  18. * then the default configuration file at 'sites/default' will be used.
  19. *
  20. * For example, for a fictitious site installed at
  21. * http://www.drupal.org/mysite/test/, the 'settings.php'
  22. * is searched in the following directories:
  23. *
  24. * - sites/www.drupal.org.mysite.test
  25. * - sites/drupal.org.mysite.test
  26. * - sites/org.mysite.test
  27. *
  28. * - sites/www.drupal.org.mysite
  29. * - sites/drupal.org.mysite
  30. * - sites/org.mysite
  31. *
  32. * - sites/www.drupal.org
  33. * - sites/drupal.org
  34. * - sites/org
  35. *
  36. * - sites/default
  37. *
  38. * If you are installing on a non-standard port number, prefix the
  39. * hostname with that number. For example,
  40. * http://www.drupal.org:8080/mysite/test/ could be loaded from
  41. * sites/8080.www.drupal.org.mysite.test/.
  42. */
  43. /**
  44. * Database settings:
  45. *
  46. * The $databases array specifies the database connection or
  47. * connections that Drupal may use. Drupal is able to connect
  48. * to multiple databases, including multiple types of databases,
  49. * during the same request.
  50. *
  51. * Each database connection is specified as an array of settings,
  52. * similar to the following:
  53. * @code
  54. * array(
  55. * 'driver' => 'mysql',
  56. * 'database' => 'databasename',
  57. * 'username' => 'username',
  58. * 'password' => 'password',
  59. * 'host' => 'localhost',
  60. * 'port' => 3306,
  61. * 'prefix' => 'myprefix_',
  62. * 'collation' => 'utf8_general_ci',
  63. * );
  64. * @endcode
  65. *
  66. * The "driver" property indicates what Drupal database driver the
  67. * connection should use. This is usually the same as the name of the
  68. * database type, such as mysql or sqlite, but not always. The other
  69. * properties will vary depending on the driver. For SQLite, you must
  70. * specify a database file name in a directory that is writable by the
  71. * webserver. For most other drivers, you must specify a
  72. * username, password, host, and database name.
  73. *
  74. * Some database engines support transactions. In order to enable
  75. * transaction support for a given database, set the 'transactions' key
  76. * to TRUE. To disable it, set it to FALSE. Note that the default value
  77. * varies by driver. For MySQL, the default is FALSE since MyISAM tables
  78. * do not support transactions.
  79. *
  80. * For each database, you may optionally specify multiple "target" databases.
  81. * A target database allows Drupal to try to send certain queries to a
  82. * different database if it can but fall back to the default connection if not.
  83. * That is useful for master/slave replication, as Drupal may try to connect
  84. * to a slave server when appropriate and if one is not available will simply
  85. * fall back to the single master server.
  86. *
  87. * The general format for the $databases array is as follows:
  88. * @code
  89. * $databases['default']['default'] = $info_array;
  90. * $databases['default']['slave'][] = $info_array;
  91. * $databases['default']['slave'][] = $info_array;
  92. * $databases['extra']['default'] = $info_array;
  93. * @endcode
  94. *
  95. * In the above example, $info_array is an array of settings described above.
  96. * The first line sets a "default" database that has one master database
  97. * (the second level default). The second and third lines create an array
  98. * of potential slave databases. Drupal will select one at random for a given
  99. * request as needed. The fourth line creates a new database with a name of
  100. * "extra".
  101. *
  102. * For a single database configuration, the following is sufficient:
  103. * @code
  104. * $databases['default']['default'] = array(
  105. * 'driver' => 'mysql',
  106. * 'database' => 'databasename',
  107. * 'username' => 'username',
  108. * 'password' => 'password',
  109. * 'host' => 'localhost',
  110. * 'prefix' => 'main_',
  111. * 'collation' => 'utf8_general_ci',
  112. * );
  113. * @endcode
  114. *
  115. * You can optionally set prefixes for some or all database table names
  116. * by using the 'prefix' setting. If a prefix is specified, the table
  117. * name will be prepended with its value. Be sure to use valid database
  118. * characters only, usually alphanumeric and underscore. If no prefixes
  119. * are desired, leave it as an empty string ''.
  120. *
  121. * To have all database names prefixed, set 'prefix' as a string:
  122. * @code
  123. * 'prefix' => 'main_',
  124. * @endcode
  125. * To provide prefixes for specific tables, set 'prefix' as an array.
  126. * The array's keys are the table names and the values are the prefixes.
  127. * The 'default' element is mandatory and holds the prefix for any tables
  128. * not specified elsewhere in the array. Example:
  129. * @code
  130. * 'prefix' => array(
  131. * 'default' => 'main_',
  132. * 'users' => 'shared_',
  133. * 'sessions' => 'shared_',
  134. * 'role' => 'shared_',
  135. * 'authmap' => 'shared_',
  136. * ),
  137. * @endcode
  138. * You can also use a reference to a schema/database as a prefix. This maybe
  139. * useful if your Drupal installation exists in a schema that is not the default
  140. * or you want to access several databases from the same code base at the same
  141. * time.
  142. * Example:
  143. * @code
  144. * 'prefix' => array(
  145. * 'default' => 'main.',
  146. * 'users' => 'shared.',
  147. * 'sessions' => 'shared.',
  148. * 'role' => 'shared.',
  149. * 'authmap' => 'shared.',
  150. * );
  151. * @endcode
  152. * NOTE: MySQL and SQLite's definition of a schema is a database.
  153. *
  154. * Advanced users can add or override initial commands to execute when
  155. * connecting to the database server, as well as PDO connection settings. For
  156. * example, to enable MySQL SELECT queries to exceed the max_join_size system
  157. * variable, and to reduce the database connection timeout to 5 seconds:
  158. *
  159. * @code
  160. * $databases['default']['default'] = array(
  161. * 'init_commands' => array(
  162. * 'big_selects' => 'SET SQL_BIG_SELECTS=1',
  163. * ),
  164. * 'pdo' => array(
  165. * PDO::ATTR_TIMEOUT => 5,
  166. * ),
  167. * );
  168. * @endcode
  169. *
  170. * WARNING: These defaults are designed for database portability. Changing them
  171. * may cause unexpected behavior, including potential data loss.
  172. *
  173. * @see DatabaseConnection_mysql::__construct
  174. * @see DatabaseConnection_pgsql::__construct
  175. * @see DatabaseConnection_sqlite::__construct
  176. *
  177. * Database configuration format:
  178. * @code
  179. * $databases['default']['default'] = array(
  180. * 'driver' => 'mysql',
  181. * 'database' => 'databasename',
  182. * 'username' => 'username',
  183. * 'password' => 'password',
  184. * 'host' => 'localhost',
  185. * 'prefix' => '',
  186. * );
  187. * $databases['default']['default'] = array(
  188. * 'driver' => 'pgsql',
  189. * 'database' => 'databasename',
  190. * 'username' => 'username',
  191. * 'password' => 'password',
  192. * 'host' => 'localhost',
  193. * 'prefix' => '',
  194. * );
  195. * $databases['default']['default'] = array(
  196. * 'driver' => 'sqlite',
  197. * 'database' => '/path/to/databasefilename',
  198. * );
  199. * @endcode
  200. */
  201. $databases = array (
  202. 'default' =>
  203. array (
  204. 'default' =>
  205. array (
  206. 'database' => 'popsu_d7',
  207. 'username' => 'root',
  208. 'password' => 'popsu',
  209. 'host' => 'mysql_d7',
  210. 'port' => '',
  211. 'driver' => 'mysql',
  212. 'prefix' => 'dbprefix_',
  213. ),
  214. ),
  215. );
  216. /**
  217. * Access control for update.php script.
  218. *
  219. * If you are updating your Drupal installation using the update.php script but
  220. * are not logged in using either an account with the "Administer software
  221. * updates" permission or the site maintenance account (the account that was
  222. * created during installation), you will need to modify the access check
  223. * statement below. Change the FALSE to a TRUE to disable the access check.
  224. * After finishing the upgrade, be sure to open this file again and change the
  225. * TRUE back to a FALSE!
  226. */
  227. $update_free_access = FALSE;
  228. /**
  229. * Salt for one-time login links and cancel links, form tokens, etc.
  230. *
  231. * This variable will be set to a random value by the installer. All one-time
  232. * login links will be invalidated if the value is changed. Note that if your
  233. * site is deployed on a cluster of web servers, you must ensure that this
  234. * variable has the same value on each server. If this variable is empty, a hash
  235. * of the serialized database credentials will be used as a fallback salt.
  236. *
  237. * For enhanced security, you may set this variable to a value using the
  238. * contents of a file outside your docroot that is never saved together
  239. * with any backups of your Drupal files and database.
  240. *
  241. * Example:
  242. * $drupal_hash_salt = file_get_contents('/home/example/salt.txt');
  243. *
  244. */
  245. $drupal_hash_salt = '0Zxsn2w4iHq1rq-nN7QvU-qaoGU8MaycbJciaHqLJGk';
  246. /**
  247. * Base URL (optional).
  248. *
  249. * If Drupal is generating incorrect URLs on your site, which could
  250. * be in HTML headers (links to CSS and JS files) or visible links on pages
  251. * (such as in menus), uncomment the Base URL statement below (remove the
  252. * leading hash sign) and fill in the absolute URL to your Drupal installation.
  253. *
  254. * You might also want to force users to use a given domain.
  255. * See the .htaccess file for more information.
  256. *
  257. * Examples:
  258. * $base_url = 'http://www.example.com';
  259. * $base_url = 'http://www.example.com:8888';
  260. * $base_url = 'http://www.example.com/drupal';
  261. * $base_url = 'https://www.example.com:8888/drupal';
  262. *
  263. * It is not allowed to have a trailing slash; Drupal will add it
  264. * for you.
  265. */
  266. # $base_url = 'http://www.example.com'; // NO trailing slash!
  267. /**
  268. * PHP settings:
  269. *
  270. * To see what PHP settings are possible, including whether they can be set at
  271. * runtime (by using ini_set()), read the PHP documentation:
  272. * http://www.php.net/manual/en/ini.list.php
  273. * See drupal_environment_initialize() in includes/bootstrap.inc for required
  274. * runtime settings and the .htaccess file for non-runtime settings. Settings
  275. * defined there should not be duplicated here so as to avoid conflict issues.
  276. */
  277. /**
  278. * Some distributions of Linux (most notably Debian) ship their PHP
  279. * installations with garbage collection (gc) disabled. Since Drupal depends on
  280. * PHP's garbage collection for clearing sessions, ensure that garbage
  281. * collection occurs by using the most common settings.
  282. */
  283. ini_set('session.gc_probability', 1);
  284. ini_set('session.gc_divisor', 100);
  285. /**
  286. * Set session lifetime (in seconds), i.e. the time from the user's last visit
  287. * to the active session may be deleted by the session garbage collector. When
  288. * a session is deleted, authenticated users are logged out, and the contents
  289. * of the user's $_SESSION variable is discarded.
  290. */
  291. ini_set('session.gc_maxlifetime', 200000);
  292. /**
  293. * Set session cookie lifetime (in seconds), i.e. the time from the session is
  294. * created to the cookie expires, i.e. when the browser is expected to discard
  295. * the cookie. The value 0 means "until the browser is closed".
  296. */
  297. ini_set('session.cookie_lifetime', 2000000);
  298. /**
  299. * If you encounter a situation where users post a large amount of text, and
  300. * the result is stripped out upon viewing but can still be edited, Drupal's
  301. * output filter may not have sufficient memory to process it. If you
  302. * experience this issue, you may wish to uncomment the following two lines
  303. * and increase the limits of these variables. For more information, see
  304. * http://php.net/manual/en/pcre.configuration.php.
  305. */
  306. # ini_set('pcre.backtrack_limit', 200000);
  307. # ini_set('pcre.recursion_limit', 200000);
  308. /**
  309. * Drupal automatically generates a unique session cookie name for each site
  310. * based on its full domain name. If you have multiple domains pointing at the
  311. * same Drupal site, you can either redirect them all to a single domain (see
  312. * comment in .htaccess), or uncomment the line below and specify their shared
  313. * base domain. Doing so assures that users remain logged in as they cross
  314. * between your various domains. Make sure to always start the $cookie_domain
  315. * with a leading dot, as per RFC 2109.
  316. */
  317. # $cookie_domain = '.example.com';
  318. /**
  319. * Variable overrides:
  320. *
  321. * To override specific entries in the 'variable' table for this site,
  322. * set them here. You usually don't need to use this feature. This is
  323. * useful in a configuration file for a vhost or directory, rather than
  324. * the default settings.php. Any configuration setting from the 'variable'
  325. * table can be given a new value. Note that any values you provide in
  326. * these variable overrides will not be modifiable from the Drupal
  327. * administration interface.
  328. *
  329. * The following overrides are examples:
  330. * - site_name: Defines the site's name.
  331. * - theme_default: Defines the default theme for this site.
  332. * - anonymous: Defines the human-readable name of anonymous users.
  333. * Remove the leading hash signs to enable.
  334. */
  335. # $conf['site_name'] = 'My Drupal site';
  336. # $conf['theme_default'] = 'garland';
  337. # $conf['anonymous'] = 'Visitor';
  338. /**
  339. * A custom theme can be set for the offline page. This applies when the site
  340. * is explicitly set to maintenance mode through the administration page or when
  341. * the database is inactive due to an error. It can be set through the
  342. * 'maintenance_theme' key. The template file should also be copied into the
  343. * theme. It is located inside 'modules/system/maintenance-page.tpl.php'.
  344. * Note: This setting does not apply to installation and update pages.
  345. */
  346. # $conf['maintenance_theme'] = 'bartik';
  347. /**
  348. * Reverse Proxy Configuration:
  349. *
  350. * Reverse proxy servers are often used to enhance the performance
  351. * of heavily visited sites and may also provide other site caching,
  352. * security, or encryption benefits. In an environment where Drupal
  353. * is behind a reverse proxy, the real IP address of the client should
  354. * be determined such that the correct client IP address is available
  355. * to Drupal's logging, statistics, and access management systems. In
  356. * the most simple scenario, the proxy server will add an
  357. * X-Forwarded-For header to the request that contains the client IP
  358. * address. However, HTTP headers are vulnerable to spoofing, where a
  359. * malicious client could bypass restrictions by setting the
  360. * X-Forwarded-For header directly. Therefore, Drupal's proxy
  361. * configuration requires the IP addresses of all remote proxies to be
  362. * specified in $conf['reverse_proxy_addresses'] to work correctly.
  363. *
  364. * Enable this setting to get Drupal to determine the client IP from
  365. * the X-Forwarded-For header (or $conf['reverse_proxy_header'] if set).
  366. * If you are unsure about this setting, do not have a reverse proxy,
  367. * or Drupal operates in a shared hosting environment, this setting
  368. * should remain commented out.
  369. *
  370. * In order for this setting to be used you must specify every possible
  371. * reverse proxy IP address in $conf['reverse_proxy_addresses'].
  372. * If a complete list of reverse proxies is not available in your
  373. * environment (for example, if you use a CDN) you may set the
  374. * $_SERVER['REMOTE_ADDR'] variable directly in settings.php.
  375. * Be aware, however, that it is likely that this would allow IP
  376. * address spoofing unless more advanced precautions are taken.
  377. */
  378. # $conf['reverse_proxy'] = TRUE;
  379. /**
  380. * Specify every reverse proxy IP address in your environment.
  381. * This setting is required if $conf['reverse_proxy'] is TRUE.
  382. */
  383. # $conf['reverse_proxy_addresses'] = array('a.b.c.d', ...);
  384. /**
  385. * Set this value if your proxy server sends the client IP in a header
  386. * other than X-Forwarded-For.
  387. */
  388. # $conf['reverse_proxy_header'] = 'HTTP_X_CLUSTER_CLIENT_IP';
  389. /**
  390. * Page caching:
  391. *
  392. * By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page
  393. * views. This tells a HTTP proxy that it may return a page from its local
  394. * cache without contacting the web server, if the user sends the same Cookie
  395. * header as the user who originally requested the cached page. Without "Vary:
  396. * Cookie", authenticated users would also be served the anonymous page from
  397. * the cache. If the site has mostly anonymous users except a few known
  398. * editors/administrators, the Vary header can be omitted. This allows for
  399. * better caching in HTTP proxies (including reverse proxies), i.e. even if
  400. * clients send different cookies, they still get content served from the cache.
  401. * However, authenticated users should access the site directly (i.e. not use an
  402. * HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid
  403. * getting cached pages from the proxy.
  404. */
  405. # $conf['omit_vary_cookie'] = TRUE;
  406. /**
  407. * CSS/JS aggregated file gzip compression:
  408. *
  409. * By default, when CSS or JS aggregation and clean URLs are enabled Drupal will
  410. * store a gzip compressed (.gz) copy of the aggregated files. If this file is
  411. * available then rewrite rules in the default .htaccess file will serve these
  412. * files to browsers that accept gzip encoded content. This allows pages to load
  413. * faster for these users and has minimal impact on server load. If you are
  414. * using a webserver other than Apache httpd, or a caching reverse proxy that is
  415. * configured to cache and compress these files itself you may want to uncomment
  416. * one or both of the below lines, which will prevent gzip files being stored.
  417. */
  418. # $conf['css_gzip_compression'] = FALSE;
  419. # $conf['js_gzip_compression'] = FALSE;
  420. /**
  421. * String overrides:
  422. *
  423. * To override specific strings on your site with or without enabling locale
  424. * module, add an entry to this list. This functionality allows you to change
  425. * a small number of your site's default English language interface strings.
  426. *
  427. * Remove the leading hash signs to enable.
  428. */
  429. # $conf['locale_custom_strings_en'][''] = array(
  430. # 'forum' => 'Discussion board',
  431. # '@count min' => '@count minutes',
  432. # );
  433. /**
  434. *
  435. * IP blocking:
  436. *
  437. * To bypass database queries for denied IP addresses, use this setting.
  438. * Drupal queries the {blocked_ips} table by default on every page request
  439. * for both authenticated and anonymous users. This allows the system to
  440. * block IP addresses from within the administrative interface and before any
  441. * modules are loaded. However on high traffic websites you may want to avoid
  442. * this query, allowing you to bypass database access altogether for anonymous
  443. * users under certain caching configurations.
  444. *
  445. * If using this setting, you will need to add back any IP addresses which
  446. * you may have blocked via the administrative interface. Each element of this
  447. * array represents a blocked IP address. Uncommenting the array and leaving it
  448. * empty will have the effect of disabling IP blocking on your site.
  449. *
  450. * Remove the leading hash signs to enable.
  451. */
  452. # $conf['blocked_ips'] = array(
  453. # 'a.b.c.d',
  454. # );
  455. /**
  456. * Fast 404 pages:
  457. *
  458. * Drupal can generate fully themed 404 pages. However, some of these responses
  459. * are for images or other resource files that are not displayed to the user.
  460. * This can waste bandwidth, and also generate server load.
  461. *
  462. * The options below return a simple, fast 404 page for URLs matching a
  463. * specific pattern:
  464. * - 404_fast_paths_exclude: A regular expression to match paths to exclude,
  465. * such as images generated by image styles, or dynamically-resized images.
  466. * If you need to add more paths, you can add '|path' to the expression.
  467. * - 404_fast_paths: A regular expression to match paths that should return a
  468. * simple 404 page, rather than the fully themed 404 page. If you don't have
  469. * any aliases ending in htm or html you can add '|s?html?' to the expression.
  470. * - 404_fast_html: The html to return for simple 404 pages.
  471. *
  472. * Add leading hash signs if you would like to disable this functionality.
  473. */
  474. $conf['404_fast_paths_exclude'] = '/\/(?:styles)\//';
  475. $conf['404_fast_paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i';
  476. $conf['404_fast_html'] = '<html xmlns="http://www.w3.org/1999/xhtml"><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL "@path" was not found on this server.</p></body></html>';
  477. /**
  478. * By default, fast 404s are returned as part of the normal page request
  479. * process, which will properly serve valid pages that happen to match and will
  480. * also log actual 404s to the Drupal log. Alternatively you can choose to
  481. * return a 404 now by uncommenting the following line. This will reduce server
  482. * load, but will cause even valid pages that happen to match the pattern to
  483. * return 404s, rather than the actual page. It will also prevent the Drupal
  484. * system log entry. Ensure you understand the effects of this before enabling.
  485. *
  486. * To enable this functionality, remove the leading hash sign below.
  487. */
  488. # drupal_fast_404();
  489. /**
  490. * Authorized file system operations:
  491. *
  492. * The Update manager module included with Drupal provides a mechanism for
  493. * site administrators to securely install missing updates for the site
  494. * directly through the web user interface by providing either SSH or FTP
  495. * credentials. This allows the site to update the new files as the user who
  496. * owns all the Drupal files, instead of as the user the webserver is running
  497. * as. However, some sites might wish to disable this functionality, and only
  498. * update the code directly via SSH or FTP themselves. This setting completely
  499. * disables all functionality related to these authorized file operations.
  500. *
  501. * Remove the leading hash signs to disable.
  502. */
  503. # $conf['allow_authorize_operations'] = FALSE;