qa-config-example.php 8.81 KB
Newer Older
Scott committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
<?php
/*
	Question2Answer by Gideon Greenspan and contributors
	http://www.question2answer.org/

	File: qa-config-example.php
	Description: After renaming, use this to set up database details and other stuff


	This program is free software; you can redistribute it and/or
	modify it under the terms of the GNU General Public License
	as published by the Free Software Foundation; either version 2
	of the License, or (at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	More about this license: http://www.question2answer.org/license.php
*/

/*
	======================================================================
	  THE 4 DEFINITIONS BELOW ARE REQUIRED AND MUST BE SET BEFORE USING!
	======================================================================

	For QA_MYSQL_HOSTNAME, try '127.0.0.1' or 'localhost' if MySQL is on the same server.

	For persistent connections, set the QA_PERSISTENT_CONN_DB at the bottom of this file; do NOT
	prepend the hostname with 'p:'.
32 33 34

	To use a non-default port, add the following line to the list of defines, with the appropriate port number:
	define('QA_MYSQL_PORT', '3306');
Scott committed
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
*/

	define('QA_MYSQL_HOSTNAME', '127.0.0.1');
	define('QA_MYSQL_USERNAME', 'your-mysql-username');
	define('QA_MYSQL_PASSWORD', 'your-mysql-password');
	define('QA_MYSQL_DATABASE', 'your-mysql-db-name');

/*
	Ultra-concise installation instructions:

	1. Create a MySQL database.
	2. Create a MySQL user with full permissions for that database.
	3. Rename this file to qa-config.php.
	4. Set the above four definitions and save.
	5. Place all the Question2Answer files on your server.
	6. Open the appropriate URL, and follow the instructions.

	More detailed installation instructions here: http://www.question2answer.org/
*/

/*
	======================================================================
	 OPTIONAL CONSTANT DEFINITIONS, INCLUDING SUPPORT FOR SINGLE SIGN-ON
	======================================================================

	QA_MYSQL_TABLE_PREFIX will be added to table names, to allow multiple datasets in a single
	MySQL database, or to include the Question2Answer tables in an existing MySQL database.
*/

	define('QA_MYSQL_TABLE_PREFIX', 'qa_');

/*
	If you wish, you can define QA_MYSQL_USERS_PREFIX separately from QA_MYSQL_TABLE_PREFIX.
	If so, it is used instead of QA_MYSQL_TABLE_PREFIX as the prefix for tables containing
	information about user accounts (not including users' activity and points). This allows
	multiple Q2A sites to have shared logins and users, but separate posts and activity.

	define('QA_MYSQL_USERS_PREFIX', 'qa_users_');
*/

/*
	If you wish, you can define QA_BLOBS_DIRECTORY to store BLOBs (binary large objects) such
	as avatars and uploaded files on disk, rather than in the database. If so this directory
	must be writable by the web server process - on Unix/Linux use chown/chmod as appropriate.
	Note than if multiple Q2A sites are using QA_MYSQL_USERS_PREFIX to share users, they must
	also have the same value for QA_BLOBS_DIRECTORY.

	If there are already some BLOBs stored in the database from previous uploads, click the
	'Move BLOBs to disk' button in the 'Stats' section of the admin panel to move them to disk.

	define('QA_BLOBS_DIRECTORY', '/path/to/writable_blobs_directory/');
*/

88 89 90 91 92 93 94 95 96
/*
	If you wish to use caching, you must define QA_CACHE_DIRECTORY to store the cache files. The
	directory must be writable by the web server. It also must be OUTSIDE the public root. For
	example if your site resides in '/var/www/yoursite/public_html', then the cache directory could
	be '/var/www/yoursite/qa-cache', but it cannot be '/var/www/yoursite/public_html/qa-cache'.

	define('QA_CACHE_DIRECTORY', '/path/to/writable_cache_directory/');
*/

Scott committed
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
/*
	If you wish, you can define QA_COOKIE_DOMAIN so that any cookies created by Q2A are assigned
	to a specific domain name, instead of the full domain name of the request by default. This is
	useful if you're running multiple Q2A sites on subdomains with a shared user base.

	define('QA_COOKIE_DOMAIN', '.example.com'); // be sure to keep the leading period
*/

/*
	If you wish, you can define an array $QA_CONST_PATH_MAP to modify the URLs used in your Q2A site.
	The key of each array element should be the standard part of the path, e.g. 'questions',
	and the value should be the replacement for that standard part, e.g. 'topics'. If you edit this
	file in UTF-8 encoding you can also use non-ASCII characters in these URLs.

	$QA_CONST_PATH_MAP=array(
		'questions' => 'topics',
		'categories' => 'sections',
		'users' => 'contributors',
		'user' => 'contributor',
	);
*/

/*
	Set QA_EXTERNAL_USERS to true to use your user identification code in qa-external/qa-external-users.php
	This allows you to integrate with your existing user database and management system. For more details,
	consult the online documentation on installing Question2Answer with single sign-on.

	The constants QA_EXTERNAL_LANG and QA_EXTERNAL_EMAILER are deprecated from Q2A 1.5 since the same
	effect can now be achieved in plugins by using function overrides.
*/

	define('QA_EXTERNAL_USERS', false);

/*
	Out-of-the-box WordPress 3.x integration - to integrate with your WordPress site and user
	database, define QA_WORDPRESS_INTEGRATE_PATH as the full path to the WordPress directory
	containing wp-load.php. You do not need to set the QA_MYSQL_* constants above since these
	will be taken from WordPress automatically. See online documentation for more details.

	define('QA_WORDPRESS_INTEGRATE_PATH', '/PATH/TO/WORDPRESS');
*/

139 140 141 142 143 144 145 146 147 148 149
/*
	Out-of-the-box Joomla! 3.x integration - to integrate with your Joomla! site, define
	QA_JOOMLA_INTEGRATE_PATH. as the full path to the Joomla! directory. If your Q2A
    site is a subdirectory of your main Joomla site (recommended), you can specify
    dirname(__DIR__) rather than the full path.
	With this set, you do not need to set the QA_MYSQL_* constants above since these
	will be taken from Joomla automatically. See online documentation for more details.

	define('QA_JOOMLA_INTEGRATE_PATH', dirname(__DIR__));
*/

Scott committed
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
/*
	Some settings to help optimize your Question2Answer site's performance.

	If QA_HTML_COMPRESSION is true, HTML web pages will be output using Gzip compression, if
	the user's browser indicates this is supported. This will increase the performance of your
	site, but may make debugging harder if PHP does not complete execution.

	QA_MAX_LIMIT_START is the maximum start parameter that can be requested, for paging through
	long lists of questions, etc... As the start parameter gets higher, queries tend to get
	slower, since MySQL must examine more information. Very high start numbers are usually only
	requested by search engine robots anyway.

	If a word is used QA_IGNORED_WORDS_FREQ times or more in a particular way, it is ignored
	when searching or finding related questions. This saves time by ignoring words which are so
	common that they are probably not worth matching on.

	Set QA_ALLOW_UNINDEXED_QUERIES to true if you don't mind running some database queries which
	are not indexed efficiently. For example, this will enable browsing unanswered questions per
	category. If your database becomes large, these queries could become costly.

170
	Set QA_OPTIMIZE_DISTANT_DB to false if your web server and MySQL are running on the same box.
Scott committed
171 172
	When viewing a page on your site, this will use many simple MySQL queries instead of fewer
	complex ones, which makes sense since there is no latency for localhost access.
173 174 175
	Otherwise, set it to true if your web server and MySQL are far enough apart to create
	significant latency. This will minimize the number of database queries as much as is possible,
	even at the cost of significant additional processing at each end.
Scott committed
176

177
	The option QA_OPTIMIZE_LOCAL_DB is no longer used, since QA_OPTIMIZE_DISTANT_DB covers our uses.
Scott committed
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202

	Set QA_PERSISTENT_CONN_DB to true to use persistent database connections. Requires PHP 5.3.
	Only use this if you are absolutely sure it is a good idea under your setup - generally it is
	not. For more information: http://www.php.net/manual/en/features.persistent-connections.php

	Set QA_DEBUG_PERFORMANCE to true to show detailed performance profiling information at the
	bottom of every Question2Answer page.
*/

	define('QA_HTML_COMPRESSION', true);
	define('QA_MAX_LIMIT_START', 19999);
	define('QA_IGNORED_WORDS_FREQ', 10000);
	define('QA_ALLOW_UNINDEXED_QUERIES', false);
	define('QA_OPTIMIZE_DISTANT_DB', false);
	define('QA_PERSISTENT_CONN_DB', false);
	define('QA_DEBUG_PERFORMANCE', false);

/*
	And lastly... if you want to, you can predefine any constant from qa-db-maxima.php in this
	file to override the default setting. Just make sure you know what you're doing!
*/


/*
	Omit PHP closing tag to help avoid accidental output
Gideon Greenspan committed
203
*/