Top  -  Requirements  -  Introduction  -  Installation  -  Configuration
Transformations  -  FAQ  -  Developers  -  Credits  -  Translators

phpMyAdmin 2.7.0-pl2 Documentation


Requirements


Introduction

phpMyAdmin can manage a whole MySQL server (needs a super-user) as well as a single database. To accomplish the latter you'll need a properly set up MySQL user who can read/write only the desired database. It's up to you to look up the appropriate part in the MySQL manual.
Currently phpMyAdmin can:

(*)  phpMyAdmin can compress (Zip, GZip -RFC 1952- or Bzip2 formats) dumps and CSV exports if you use PHP4 >= 4.0.4 with Zlib support (--with-zlib) and/or Bzip2 support (--with-bz2).


Installation

NOTE: phpMyAdmin does not apply any special security methods to the MySQL database server. It is still the system administrator's job to grant permissions on the MySQL databases properly. phpMyAdmin's "Privileges" page can be used for this.

Warning for Mac users:if you are on a MacOS version before OS X, StuffIt unstuffs with Mac formats.
So you'll have to resave as in BBEdit to Unix style ALL phpMyAdmin scripts before uploading them to your server, as PHP seems not to like Mac-style end of lines character ("\r").

Quick Install

  1. Untar or unzip the distribution (be sure to unzip the subdirectories): tar -xzvf phpMyAdmin_x.x.x.tar.gz in your webserver's document root. If you don't have direct access to your document root, put the files in a directory on your local machine, and, after step 3, transfer the directory on your web server using, for example, ftp.
  2. Ensure that all the scripts have the appropriate owner (if PHP is running in safe mode, having some scripts with an owner different from the owner of other scripts will be a problem). See FAQ 4.2 for suggestions.
  3. Create the file config.inc.php in your favorite editor and fill in there values for host, user, password and authentication mode to fit your environment. Look at config.default.php how these fields should be defined. Here, "host" means the MySQL server. Have a look at Configuration section for an explanation of all values. Please also read the remaining of this Installation section for information about authentication modes and the linked-tables infrastructure.
  4. If you are using the config auth_type, it is suggested that you protect the phpMyAdmin installation directory, for example with HTTP–AUTH in a .htaccess file. See the multi–user sub–section of this FAQ for additional information, especially FAQ 4.4.
  5. Open the file <www.your-host.com>/<your-install-dir>/index.php in your browser. phpMyAdmin should now display a welcome screen and your databases, or a login dialog if using HTTP or cookie authentication mode.

Linked-tables infrastructure

For a whole set of new features (bookmarks, comments, SQL-history, PDF-generation, field contents transformation, etc.) you need to create a set of special tables. Those tables can be located in your own database, or in a central database for a multi-user installation (this database would then be accessed by the controluser, so no other user should have rights to it).

Please look at your scripts/ directory, where you should find a file called create_tables.sql. (If you are using a Windows server, pay special attention to FAQ 1.23).

If your MySQL server's version is 4.1.2 or later, please use create_tables_mysql_4_1_2+.sql instead, for a new installation.

If you already had this infrastructure and upgraded to MySQL 4.1.2 or later, please use upgrade_tables_mysql_4_1_2+.sql.

You can use your phpMyAdmin to create the tables for you. Please be aware that you may need special (administrator) privileges to create the database and tables, and that the script may need some tuning, depending on the database name.

After having imported the create_tables.sql file, you should specify the table names in your config.inc.php file. The directives used for that can be found in the Configuration section. You will also need to have a controluser with the proper rights to those tables (see section Using authentication modes below).

Upgrading from an older version

Just copy config.inc.php from previous installation into a newly unpacked one. If your previous phpMyAdmin version was 2.3.0 or older, some tweaking may be required because, as of 2.7.0, using those old config files is no longer supported.

Using authentication modes

'http' authentication mode

'cookie' authentication mode

'config' authentication mode


Configuration

Warning for Mac users: PHP does not seem to like Mac end of lines character ("\r"). So ensure you choose the option that allows to use the *nix end of line character ("\n") in your text editor before saving a script you have modified.

Configuration note: Almost all configurable data is placed in config.inc.php. If this file does not exist, please refer to the Quick install section to create one. This file only needs to contain the parameters you want to change from their corresponding default value in config.default.php.

The parameters which relate to design (like colors) are placed in themes/themename/layout.inc.php. You might also want to modify config.footer.inc.php and config.header.inc.php files to add your site specific code to be included on start and end of each page.

$cfg['PmaAbsoluteUri'] string
Sets here the complete URL (with full path) to your phpMyAdmin installation's directory. E.g. http://www.your_web.net/path_to_your_phpMyAdmin_directory/. Note also that the URL on some web servers are case–sensitive. Don’t forget the trailing slash at the end.

Starting with version 2.3.0, it is advisable to try leaving this blank. In most cases phpMyAdmin automatically detects the proper setting. Users of port forwarding will need to set PmaAbsoluteUri (more info). A good test is to browse a table, edit a row and save it. There should be an error message if phpMyAdmin is having trouble auto–detecting the correct value. If you get an error that this must be set or if the autodetect code fails to detect your path, please post a bug report on our bug tracker so we can improve the code.
$cfg['PmaNoRelation_DisableWarning'] boolean
Starting with version 2.3.0 phpMyAdmin offers a lot of features to work with master / foreign - tables (see $cfg['Servers'][$i]['pmadb']).
If you tried to set this up and it does not work for you, have a look on the "Structure" page of one database where you would like to use it. You will find a link that will analyze why those features have been disabled.
If you do not want to use those features set this variable to TRUE to stop this message from appearing.
$cfg['blowfish_secret'] string
Starting with version 2.5.2, the 'cookie' auth_type uses blowfish algorithm to encrypt the password.
If you are using the 'cookie' auth_type, enter here a random passphrase of your choice. It will be used internally by the blowfish algorithm: you won't be prompted for this passphrase. The maximum number of characters for this parameter seems to be 46.
$cfg['Servers'] array
Since version 1.4.2, phpMyAdmin supports the administration of multiple MySQL servers. Therefore, a $cfg['Servers']-array has been added which contains the login information for the different servers. The first $cfg['Servers'][$i]['host'] contains the hostname of the first server, the second $cfg['Servers'][$i]['host'] the hostname of the second server, etc. In config.default.php, there is only one section for server definition, however you can put as many as you need in config.inc.php, copy that block or needed parts (you don't have to define all settings, just those you need to change).
$cfg['Servers'][$i]['host'] string
The hostname or IP address of your $i-th MySQL-server. E.g. localhost.
$cfg['Servers'][$i]['port'] string
The port-number of your $i-th MySQL-server. Default is 3306 (leave blank). If you use "localhost" as the hostname, MySQL ignores this port number and connects with the socket, so if you want to connect to a port different from the default port, use "127.0.0.1" or the real hostname in $cfg['Servers'][$i]['host'].
$cfg['Servers'][$i]['socket'] string
The path to the socket to use. Leave blank for default.
$cfg['Servers'][$i]['connect_type'] string
What type connection to use with the MySQL server. Your options are 'socket' & 'tcp'. It defaults to 'tcp' as that is nearly guaranteed to be available on all MySQL servers, while sockets are not supported on some platforms.

To use the socket mode, your MySQL server must be on the same machine as the Web server.
$cfg['Servers'][$i]['extension'] string
What php MySQL extension to use for the connection. Valid options are:

mysql :  The classic MySQL extension. This is the recommended and default method at this time.

mysqli :  The improved MySQL extension. This extension became available with php 5.0.0 and is the recommended way to connect to a server running MySQL 4.1.x.
Note: phpMyAdmin's MySQL 4.1 support is experimental!
$cfg['Servers'][$i]['compress'] boolean
Whether to use a compressed protocol for the MySQL server connection or not (experimental).
This feature requires PHP >= 4.3.0.

$cfg['Servers'][$i]['controluser'] string
$cfg['Servers'][$i]['controlpass'] string
Note: starting with phpMyAdmin 2.6.1, configuring the controluser to enable HTTP and cookie authentication applies only to MySQL servers older than 4.1.2.

This special account is used for 2 distinct purposes: to make possible all relational features (see $cfg['Servers'][$i]['pmadb']) and, for a MySQL server older than 4.1.2, to enable a multi-user installation (http or cookie authentication mode).

When using HTTP or cookie authentication modes (or 'config' authentication mode since phpMyAdmin 2.2.1), you need to supply the details of a MySQL account that has SELECT privilege on the mysql.user (all columns except "Password"), mysql.db (all columns) & mysql.tables_priv (all columns except "Grantor" & "Timestamp") tables. This account is used to check what databases the user will see at login.
Please see the install section on "Using authentication modes" for more information.

Note that if you try login to phpMyAdmin with this "controluser", you could get some errors, depending the exact privileges you gave to the "controluser". phpMyAdmin does not support a direct login with the "controluser".

In phpMyAdmin versions before 2.2.5, those were called "stduser/stdpass".
$cfg['Servers'][$i]['auth_type'] string ['http'|'cookie'|'config']
Whether config or cookie or http authentication should be used for this server.
Please see the install section on "Using authentication modes" for more information.

$cfg['Servers'][$i]['user'] string
$cfg['Servers'][$i]['password'] string
When using auth_type = 'config', this is the user/password-pair which phpMyAdmin will use to connect to the MySQL server. This user/password pair is not needed when HTTP or cookie authentication is used and should be empty.

$cfg['Servers'][$i]['only_db'] string or array
If set to a (an array of) database name(s), only this (these) database(s) will be shown to the user. Since phpMyAdmin 2.2.1, this/these database(s) name(s) may contain MySQL wildcards characters ("_" and "%"): if you want to use literal instances of these characters, escape them (I.E. use 'my\_db' and not 'my_db').
This setting is an efficient way to lower the server load since the latter does not need to send MySQL requests to build the available database list. But it does not replace the privileges rules of the MySQL database server. If set, it just means only these databases will be displayed but not that all other databases can't be used.

An example of using more that one database: $cfg['Servers'][$i]['only_db'] = array('db1', 'db2');

As of phpMyAdmin 2.5.5 the order inside the array is used for sorting the databases in the left frame, so that you can individually arrange your databases.
If you want to have certain databases at the top, but don't care about the others, you do not need to specify all other databases. Use: $cfg['Servers'][$i]['only_db'] = array('db3', 'db4', '*'); instead to tell phpMyAdmin that it should display db3 and db4 on top, and the rest in alphabetic order.
$cfg['Servers'][$i]['verbose'] string
Only useful when using phpMyAdmin with multiple server entries. If set, this string will be displayed instead of the hostname in the pull-down menu on the main page. This can be useful if you want to show only certain databases on your system, for example.

$cfg['Servers'][$i]['pmadb'] string
The name of the database containing the linked-tables infrastructure.

See the Linked-tables infrastructure section in this document to see the benefits of this infrastructure, and for a quick way of creating this database and the needed tables.

If you are the only user of this phpMyAdmin installation, you can use your current database to store those special tables; in this case, just put your current database name in $cfg['Servers'][$i]['pmadb']. For a multi-user installation, set this parameter to the name of your central database containing the linked-tables infrastructure.

$cfg['Servers'][$i]['bookmarktable'] string
Since release 2.2.0 phpMyAdmin allows to bookmark queries. This can be useful for queries you often run.

To allow the usage of this functionality:

$cfg['Servers'][$i]['relation'] string
Since release 2.2.4 you can describe, in a special 'relation' table, which field is a key in another table (a foreign key). phpMyAdmin currently uses this to
The keys can be numeric or character.

To allow the usage of this functionality:
Please note that in the current version, master_db must be the same as foreign_db. Those fields have been put in future development of the cross-db relations.

$cfg['Servers'][$i]['table_info'] string
Since release 2.3.0 you can describe, in a special 'table_info' table, which field is to be displayed as a tool-tip when moving the cursor over the corresponding key.
This configuration variable will hold the name of this special table. To allow the usage of this functionality:
Usage tip: Display field.

$cfg['Servers'][$i]['table_coords'] string
$cfg['Servers'][$i]['pdf_pages'] string
Since release 2.3.0 you can have phpMyAdmin create PDF pages showing the relations between your tables. To do this it needs two tables "pdf_pages" (storing information about the available PDF pages) and "table_coords" (storing coordinates where each table will be placed on a PDF schema output).

You must be using the "relation" feature.

To allow the usage of this functionality:
Usage tips: PDF output.

$cfg['Servers'][$i]['column_info'] string
Since release 2.3.0 you can store comments to describe each column for each table. These will then be shown on the "printview".

Starting with release 2.5.0, comments are consequently used on the table property pages and table browse view, showing up as tool-tips above the column name (properties page) or embedded within the header of table in browse view. They can also be shown in a table dump. Please see the relevant configuration directives later on.

Also new in release 2.5.0 is a MIME-transformation system which is also based on the following table structure. See Transformations for further information. To use the MIME-transformation system, your column_info table has to have the three new fields 'mimetype', 'transformation', 'transformation_options'.

To allow the usage of this functionality:

$cfg['Servers'][$i]['history'] string
Since release 2.5.0 you can store your SQL history, which means all queries you entered manually into the phpMyAdmin interface. If you don't want to use a table- based history, you can use the JavaScript-based history. Using that, all your history items are deleted when closing the window.

Using $cfg['QueryHistoryMax'] you can specify an amount of history items you want to have on hold. On every login, this list gets cut to the maximum amount.

The query history is only available if JavaScript is enabled in your browser.

To allow the usage of this functionality:
$cfg['Servers'][$i]['verbose_check'] boolean
Because release 2.5.0 introduced the new MIME-transformation support, the column_info table got enhanced with three new fields. If the above variable is set to TRUE (default) phpMyAdmin will check if you have the latest table structure available. If not, it will emit a warning to the superuser.

You can disable this checking behavior by setting the variable to false, which should offer a performance increase.

Recommended to set to FALSE, when you are sure, your table structure is up to date.
$cfg['Servers'][$i]['AllowRoot'] boolean
Whether to allow root access, This is just simplification of rules below.

$cfg['Servers'][$i]['AllowDeny']['order'] string
If your rule order is empty, then IP authentication is disabled.

If your rule order is set to 'deny,allow' then the system applies all deny rules followed by allow rules. Access is allowed by default. Any client which does not match a Deny command or does match an Allow command will be allowed access to the server.

If your rule order is set to 'allow,deny' then the system applies all allow rules followed by deny rules. Access is denied by default. Any client which does not match an Allow directive or does match a Deny directive will be denied access to the server.

If your rule order is set to 'explicit', the authentication is performed in a similar fashion to rule order 'deny,allow', with the added restriction that your host/username combination must be listed in the allow rules, and not listed in the deny rules. This is the most secure means of using Allow/Deny rules, and was available in Apache by specifying allow and deny rules without setting any order.

$cfg['Servers'][$i]['AllowDeny']['rules'] array of strings
The general format for the rules is as such:
      <'allow' | 'deny'> <username> [from] <ipmask>

If you wish to match all users, it is possible to use a '%' as a wildcard in the username field.
There are a few shortcuts you can use in the ipmask field as well (please note that those containing SERVER_ADDRESS might not be available on all webservers):

     'all' -> 0.0.0.0/0
     'localhost' -> 127.0.0.1/8
     'localnetA' -> SERVER_ADDRESS/8
     'localnetB' -> SERVER_ADDRESS/16
     'localnetC' -> SERVER_ADDRESS/24


Having an empty rule list is equivalent to either using 'allow % from all' if your rule order is set to 'deny,allow' or 'deny % from all' if your rule order is set to 'allow,deny' or 'explicit'.

For the IP matching system, the following work:
xxx.xxx.xxx.xxx (an exact IP address)
xxx.xxx.xxx.[yyy-zzz] (an IP address range)
xxx.xxx.xxx.xxx/nn (CIDR, Classless Inter-Domain Routing type IP addresses)
But the following does not work:
xxx.xxx.xxx.xx[yyy-zzz] (partial IP address range)
$cfg['ServerDefault'] integer
If you have more than one server configured, you can set $cfg['ServerDefault'] to any one of them to autoconnect to that server when phpMyAdmin is started, or set it to 0 to be given a list of servers without logging in.
If you have only one server configured, $cfg['ServerDefault'] MUST be set to that server.
$cfg['OBGzip'] string/boolean
Defines whether to use GZip output buffering for increased speed in HTTP transfers.
Set to true/false for enabling/disabling. When set to 'auto' (string), phpMyAdmin tries to enable output buffering and will automatically disable it, if your browser has some problems with buffering. IE6 with a certain patch is known to cause data corruption having enabled buffering.
$cfg['PersistentConnections'] boolean
Whether persistent connections should be used or not (mysql_connect or mysql_pconnect).
$cfg['ForceSSL'] boolean
Whether to force using https while accessing phpMyAdmin.
$cfg['ExecTimeLimit'] integer [number of seconds]
Set the number of seconds a script is allowed to run. If seconds is set to zero, no time limit is imposed.
This setting is used while importing/exporting dump files but has no effect when PHP is running in safe mode.
$cfg['SkipLockedTables'] boolean
Mark used tables and make it possible to show databases with locked tables (since 3.23.30).
$cfg['ShowSQL'] boolean
Defines whether SQL-queries generated by phpMyAdmin should be displayed or not.
$cfg['AllowUserDropDatabase'] boolean
Defines whether normal users (non-administrator) are allowed to delete their own database or not. If set as FALSE, the link "Drop Database" will not be shown, and even a "DROP DATABASE mydatabase" will be rejected. Quite practical for ISP's with many customers.
$cfg['Confirm'] boolean
Whether a warning ("Are your really sure...") should be displayed when you're about to lose data.
$cfg['LoginCookieRecall'] boolean
Define whether the previous login should be recalled or not in cookie authentication mode.
$cfg['UseDbSearch'] boolean
Define whether the "search string inside database" is enabled or not.
$cfg['IgnoreMultiSubmitErrors'] boolean
Define whether phpMyAdmin will continue executing a multi-query statement if one of the queries fails. Default is to abort execution.
$cfg['VerboseMultiSubmit'] boolean
Define whether phpMyAdmin will output the results of each query of a multi-query statement embedded into the SQL output as inline comments. Defaults to TRUE.

$cfg['AllowArbitraryServer'] boolean
If enabled allows you to login to arbitrary server using cookie auth.

NOTE: Please use this carefully, as this may allow to access MySQL servers behind firewall where your http server is placed.

$cfg['LeftFrameLight'] boolean
Defines whether to use select-based menu and display only the current tables in the left frame (smaller page). Only in Non-Lightmode you can use the feature to display nested folders using $cfg['LeftFrameTableSeparator']
$cfg['LeftFrameDBTree'] boolean
In light mode, defines whether to display the names of databases (in the selector) using a tree, see also $cfg['LeftFrameDBSeparator'].
$cfg['LeftFrameDBSeparator'] string
The string used to separate the parts of the database name when showing them in a tree.
$cfg['LeftFrameTableSeparator'] string
Defines a string to be used to nest table spaces. Defaults to '__'. This means if you have tables like 'first__second__third' this will be shown as a three-level hierarchy like: first > second > third. If set to FALSE or empty, the feature is disabled. NOTE: You shall not use this Separator in a table name at the beginning or end of a table name, or multiple times after another without any other characters in between.
$cfg['LeftFrameTableLevel'] string
Defines how many sublevels should be displayed when splitting up tables by the above Separator.
$cfg['ShowTooltip'] boolean
Defines whether to display table comment as tool-tip in left frame or not.
$cfg['ShowTooltipAliasDB'] boolean
If tool-tips are enabled and a DB comment is set, this will flip the comment and the real name. That means, if you have a table called 'user0001' and add the comment 'MyName' on it, you will see the name 'MyName' used consequently in the left frame and the tool-tip shows the real name of the DB.
$cfg['ShowTooltipAliasTB'] boolean/string
Same as $cfg['ShowTooltipAliasDB'], except this works for table names. When setting this to 'nested', the Alias of the Tablename is only used to split/nest the tables according to the $cfg['LeftFrameTableSeparator'] directive. So only the folder is called like the Alias, the tablename itself stays the real tablename.

$cfg['LeftDisplayLogo'] boolean
Defines whether to display the phpMyAdmin logo at the top of the left frame or not. Defaults to TRUE.
$cfg['LeftDisplayServers'] boolean
Defines whether to display a server choice at the top of the left frame or not. Defaults to FALSE.
$cfg['DisplayServersList'] boolean
Defines whether to display this server choice as links instead of in a drop-down. Defaults to FALSE (drop-down).
$cfg['ShowStats'] boolean
Defines whether to display space usage and statistics about databases and tables or not.
Note that statistics requires at least MySQL 3.23.3 and that, at this date, MySQL doesn't return such information for Berkeley DB tables.
$cfg['ShowPhpInfo'] boolean
$cfg['ShowChgPassword'] boolean
Defines whether to display the "PHP information" and "Change password " links or not for simple users at the starting main (right) frame. This setting does not check MySQL commands entered directly.

Please note that to block the usage of phpinfo() in scripts, you have to put this in your php.ini:
    disable_functions = phpinfo()

Also note that enabling the "Change password " link has no effect with "config" authentication mode: because of the hard coded password value in the configuration file, end users can't be allowed to change their passwords.
$cfg['SuggestDBName'] boolean
Defines whether to suggest a database name on the "Create Database" form or to keep the textfield empty.
$cfg['ShowBlob'] boolean
Defines whether BLOB fields are shown when browsing a table's content or not.
$cfg['NavigationBarIconic'] string
Defines whether navigation bar buttons and the right panel top menu contain text or symbols only. A value of TRUE displays icons, FALSE displays text and 'both' displays both icons and text.
$cfg['ShowAll'] boolean
Defines whether an user should be displayed a "show all (records)" button in browse mode or not.
$cfg['MaxRows'] integer
Number of rows displayed when browsing a result set. If the result set contains more rows, Previous/Next links will be shown.
$cfg['Order'] string [DESC|ASC|SMART]
Defines whether fields are displayed in ascending (ASC) order, in descending (DESC) order or in a "smart" (SMART) order - I.E. descending order for fields of type TIME, DATE, DATETIME & TIMESTAMP, ascending order else- by default.
$cfg['ProtectBinary'] boolean or string
Defines whether BLOB or BINARY fields are protected from editing when browsing a table's content or not. Valid values are:
$cfg['ShowFunctionFields'] boolean
Defines whether MySQL functions fields should be displayed or not in edit/insert mode.
$cfg['CharEditing'] string
Defines which type of editing controls should be used for CHAR and VARCHAR fields. Possible values are: Default is old behavior so input.
$cfg['InsertRows'] integer
Defines the maximum number of concurrent entries for the Insert page.
$cfg['ForeignKeyMaxLimit'] integer
If there are fewer items than this in the set of foreign keys, then a drop-down box of foreign keys is presented, in the style described by the $cfg['ForeignKeyDropdownOrder'] setting.
$cfg['ForeignKeyDropdownOrder'] array
For the foreign key drop-down fields, there are several methods of display, offering both the key and value data. The contents of the array should be one or both of the following strings: 'content-id', 'id-content'.
$cfg['ZipDump'] boolean
$cfg['GZipDump'] boolean
$cfg['BZipDump'] boolean
Defines whether to allow the use of zip/GZip/BZip2 compression when creating a dump file or not.
$cfg['CompressOnFly'] boolean
Defines whether to allow on the fly compression for GZip/BZip2 compressed exports. This doesn't affect smaller dumps and allows to create larger dumps, that won't fit otherwise in memory due to php memory limit. Produced files contain more GZip/BZip2 headers, but all normal programs handle this correctly.
$cfg['LightTabs'] string
If set to True, use less graphically intense tabs on the top of the mainframe.
$cfg['PropertiesIconic'] string
If set to TRUE, will display icons instead of text for db and table properties links (like 'Browse', 'Select', 'Insert', ...).
Can be set to 'both' if you want icons AND text.
When set to FALSE, will only show text.
$cfg['PropertiesNumColumns'] integer
How many columns will be utilized to display the tables on the database property view? Default is 1 column. When setting this to a value larger than 1, the type of the database will be omitted for more display space.
$cfg['DefaultTabServer'] string
Defines the tab displayed by default on server view. Possible values: "main.php" (recommended for multi-user setups), "server_databases.php", "server_status.php", "server_variables.php", "server_privileges.php" or "server_processlist.php".
$cfg['DefaultTabDatabase'] string
Defines the tab displayed by default on database view. Possible values: "db_details_structure.php", "db_details.php" or "db_search.php".
$cfg['DefaultTabTable'] string
Defines the tab displayed by default on table view. Possible values: "tbl_properties_structure.php", "tbl_properties.php", "tbl_select.php" or "tbl_change.php".
$cfg['MySQLManualBase'] string
If set to an URL which points to the MySQL documentation (type depends on $cfg['MySQLManualType']), appropriate help links are generated.
See MySQL Documentation page for more information about MySQL manuals and their types.
$cfg['MySQLManualType'] string
Type of MySQL documentation:
$cfg['DefaultLang'] string
Defines the default language to use, if not browser-defined or user-defined.
See the select_lang.lib.php script to know the valid values for this setting.
$cfg['Lang'] string
Force: always use this language (must be defined in the select_lang.lib.php script).
$cfg['FilterLanguages'] string
Limit list of available languages to those matching the given regular expression. For example if you want only Czech and English, you should set filter to '^(cs|en)'.
$cfg['DefaultCharset'] string
Default character set to u