PHP My Admin
PHP My Admin
Configuration
Edit on GitHub
Configuration
Almost all configurable data is placed in config.inc.php. If this file does not exist, please
refer to the Installation section to create one. This file only needs to contain the parameters you
want to change from their corresponding default value in libraries/config.default.php.
If a directive is missing from your file, you can just add another line with the file. This file is for
over-writing the defaults; if you wish to use the default value theres no need to add a line here.
The parameters which relate to design (like colors) are placed in
themes/themename/layout.inc.php. You might also want to create
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.
Note
Some distributions (eg. Debian or Ubuntu) store config.inc.php in /etc/phpmyadmin
instead of within phpMyAdmin sources.
Warning
Mac users should note that if you are on a version before Mac OS X, 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.
Basic settings
$cfg['PmaAbsoluteUri']
Type:
string
Default value: ''
Sets here the complete URL (with full path) to your phpMyAdmin installations directory.
E.g. http://www.example.net/path_to_your_phpMyAdmin_directory/.
Note also that the URL on most of web servers are casesensitive. Dont 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 $cfg['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 autodetecting 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.
See also
1.40 When accessing phpMyAdmin via an Apache reverse proxy, cookie login does not work.
$cfg['PmaNoRelation_DisableWarning']
Type:
boolean
Default value: false
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['SuhosinDisableWarning']
Type:
boolean
Default value: false
A warning is displayed on the main page if Suhosin is detected.
You can set this parameter to true to stop this message from appearing.
$cfg['LoginCookieValidityDisableWarning']
Type:
boolean
Default value: false
A warning is displayed on the main page if the PHP parameter session.gc_maxlifetime is
lower than cookie validity configured in phpMyAdmin.
You can set this parameter to true to stop this message from appearing.
$cfg['ServerLibraryDifference_DisableWarning']
Type:
boolean
Default value: false
A warning is displayed on the main page if there is a difference between the MySQL library
and server version.
You can set this parameter to true to stop this message from appearing.
$cfg['ReservedWordDisableWarning']
Type:
boolean
Default value: false
This warning is displayed on the Structure page of a table if one or more column names match
with words which are MySQL reserved.
If you want to turn off this warning, you can set it to true and warning will no longer be
displayed.
$cfg['TranslationWarningThreshold']
Type:
integer
Default value: 80
Show warning about incomplete translations on certain threshold.
$cfg['SendErrorReports']
Type:
string
Default value: 'ask'
Sets the default behavior for JavaScript error reporting.
Whenever an error is detected in the JavaScript execution, an error report may be sent to the
phpMyAdmin team if the user agrees.
The default setting of 'ask' will ask the user everytime there is a new error report. However
you can set this parameter to 'always' to send error reports without asking for
confirmation or you can set it to 'never' to never send error reports.
This directive is available both in the configuration file and in users preferences. If the person
in charge of a multi-user installation prefers to disable this feature for all users, a value of
'never' should be set, and the $cfg['UserprefsDisallow'] directive should
contain 'SendErrorReports' in one of its array values.
$cfg['ConsoleEnterExecutes']
Type:
boolean
Default value: false
Setting this to true allows the user to execute queries by pressing Enter instead of
Ctrl+Enter. A new line can be inserted by pressing Shift + Enter.
The behaviour of the console can be temporarily changed using consoles settings interface.
$cfg['AllowThirdPartyFraming']
Type:
boolean
Default value: false
Setting this to true allows phpMyAdmin to be included inside a frame, and is a potential
security hole allowing cross-frame scripting attacks or clickjacking.
Note
The $cfg['Servers'] array starts with $cfg[Servers][1]. Do not use $cfg[Servers][0].
If you want more than one server, just copy following section (including $i incrementation)
serveral times. There is no need to define full server array, just define values you need to
change.
$cfg['Servers'][$i]['host']
Type:
string
Default value: 'localhost'
The hostname or IP address of your $i-th MySQL-server. E.g. localhost.
Possible values are:
Note
phpMyAdmin supports connecting to MySQL servers reachable via IPv6 only.
To connect to an IPv6 MySQL server, enter its IPv6 address in this field.
$cfg['Servers'][$i]['port']
Type:
string
Default value: ''
The port-number of your $i-th MySQL-server. Default is 3306 (leave blank).
Note
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']
Type:
string
Default value: ''
The path to the socket to use. Leave blank for default. To determine the correct socket, check
your MySQL configuration or, using the mysql commandline client, issue the status
command. Among the resulting information displayed will be the socket used.
$cfg['Servers'][$i]['ssl']
Type:
boolean
Default value: false
Whether to enable SSL for the connection between phpMyAdmin and the MySQL server.
When using the 'mysql' extension, none of the remaining 'ssl...' configuration
options apply.
$cfg['Servers'][$i]['ssl_cert']
Type:
string
Default value: NULL
Path to the cert file when using SSL for connecting to the MySQL server.
$cfg['Servers'][$i]['ssl_ca']
Type:
string
Default value: NULL
Path to the CA file when using SSL for connecting to the MySQL server.
$cfg['Servers'][$i]['ssl_ca_path']
Type:
string
Default value: NULL
Directory containing trusted SSL CA certificates in PEM format.
$cfg['Servers'][$i]['ssl_ciphers']
Type:
string
Default value: NULL
List of allowable ciphers for SSL connections to the MySQL server.
$cfg['Servers'][$i]['connect_type']
Type:
string
Default value: 'tcp'
What type connection to use with the MySQL server. Your options are 'socket' and
'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]['compress']
Type:
boolean
Default value: false
Whether to use a compressed protocol for the MySQL server connection or not
(experimental).
$cfg['Servers'][$i]['controlhost']
Type:
string
Default value: ''
The name of the file containing Swekey authentication mode ids and login names for
hardware authentication. Leave empty to deactivate this feature.
$cfg['Servers'][$i]['user']
Type:
string
Default value: 'root'
$cfg['Servers'][$i]['password']
Type:
string
Default value: ''
When using $cfg['Servers'][$i]['auth_type'] set to 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]['nopassword']
Type:
boolean
Default value: false
Allow attempt to log in without password when a login with password fails. This can be used
together with http authentication, when authentication is done some other way and
phpMyAdmin gets user name from auth and uses empty password for connecting to MySQL.
Password login is still tried first, but as fallback, no password method is tried.
$cfg['Servers'][$i]['only_db']
Type:
string or array
Default value: ''
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 cant be used.
An example of using more that one database:
$cfg['Servers'][$i]['only_db'] = array('db1', 'db2');
Changed in version 4.0.0: Previous versions permitted to specify the display order of the
database names via this directive.
$cfg['Servers'][$i]['hide_db']
Type:
string
Default value: ''
Regular expression for hiding some databases from unprivileged users. This only hides them
from listing, but a user is still able to access them (using, for example, the SQL query area).
To limit access, use the MySQL privilege system. For example, to hide all databases starting
with the letter a, use
$cfg['Servers'][$i]['hide_db'] = '^a';
More information on regular expressions can be found in the PCRE pattern syntax portion of
the PHP reference manual.
$cfg['Servers'][$i]['verbose']
Type:
string
Default value: ''
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. For HTTP auth, all
non-US-ASCII characters will be stripped.
$cfg['Servers'][$i]['pmadb']
Type:
string
Default value: ''
The name of the database containing the phpMyAdmin configuration storage.
See the phpMyAdmin configuration storage section in this document to see the benefits of
this feature, 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 phpMyAdmin configuration storage.
$cfg['Servers'][$i]['bookmarktable']
Type:
string
Default value: ''
Since release 2.2.0 phpMyAdmin allows users to bookmark queries. This can be useful for
queries you often run. To allow the usage of this functionality:
set up $cfg['Servers'][$i]['pmadb'] and the phpMyAdmin configuration
storage
enter the table name in $cfg['Servers'][$i]['bookmarktable']
$cfg['Servers'][$i]['relation']
Type:
string
Default value: ''
Since release 2.2.4 you can describe, in a special relation table, which column is a key in
another table (a foreign key). phpMyAdmin currently uses this to:
make clickable, when you browse the master table, the data values that point to the
foreign table;
display in an optional tool-tip the display column when browsing the master table, if
you move the mouse to a column containing a foreign key (use also the table_info
table); (see 6.7 How can I use the display column feature?)
in edit/insert mode, display a drop-down list of possible foreign keys (key value and
display column are shown) (see 6.21 In edit/insert mode, how can I see a list of
possible values for a column, based on some foreign table?)
display links on the table properties page, to check referential integrity (display
missing foreign keys) for each described key;
in query-by-example, create automatic joins (see 6.6 How can I use the relation table
in Query-by-example?)
enable you to get a PDF schema of your database (also uses the table_coords table).
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:
set up $cfg['Servers'][$i]['pmadb'] and the phpMyAdmin configuration
storage
put the correct table names in $cfg['Servers'][$i]['table_coords'] and
$cfg['Servers'][$i]['pdf_pages']
See also
6.8 How can I produce a PDF schema of my database?.
$cfg['Servers'][$i]['column_info']
Type:
string
Default value: ''
This part requires a content update! 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 MIMEtransformation system, your column_info table has to have the three new columns
mimetype, transformation, transformation_options.
Starting with release 4.3.0, a new input-oriented transformation system has been introduced.
Also, backward compatibility code used in the old transformations system was removed. As a
result, an update to column_info table is necessary for previous transformations and the new
input-oriented transformation system to work. phpMyAdmin will upgrade it automatically for
you by analyzing your current column_info table structure. However, if something goes
wrong with the auto-upgrade then you can use the SQL script found in
./sql/upgrade_column_info_4_3_0+.sql to upgrade it manually.
To allow the usage of this functionality:
set up $cfg['Servers'][$i]['pmadb'] and the phpMyAdmin configuration
storage
put the table name in $cfg['Servers'][$i]['column_info'] (e.g.
pma__column_info)
to update your PRE-2.5.0 Column_comments table use this: and remember that the
Variable in config.inc.php has been renamed from $cfg['Servers'][$i]
['column_comments'] to $cfg['Servers'][$i]['column_info']
ALTER TABLE `pma__column_comments`
$cfg['Servers'][$i]['table_uiprefs']
Type:
string
Default value: ''
Since release 3.5.0 phpMyAdmin can be configured to remember several things (sorted
column $cfg['RememberSorting'], column order, and column visibility from a
database table) for browsing tables. Without configuring the storage, these features still can be
used, but the values will disappear after you logout.
To allow the usage of these functionality persistently:
set up $cfg['Servers'][$i]['pmadb'] and the phpMyAdmin configuration
storage
put the table name in $cfg['Servers'][$i]['table_uiprefs'] (e.g.
pma__table_uiprefs)
$cfg['Servers'][$i]['users']
Type:
string
Default value: ''
$cfg['Servers'][$i]['usergroups']
Type:
string
Default value: ''
Since release 4.1.0 you can create different user groups with menu items attached to them.
Users can be assigned to these groups and the logged in user would only see menu items
configured to the usergroup he is assigned to. To do this it needs two tables usergroups
(storing allowed menu items for each user group) and users (storing users and their
assignments to user groups).
To allow the usage of this functionality:
set up $cfg['Servers'][$i]['pmadb'] and the phpMyAdmin configuration
storage
put the correct table names in $cfg['Servers'][$i]['users'] (e.g.
pma__users) and $cfg['Servers'][$i]['usergroups'] (e.g.
pma__usergroups)
$cfg['Servers'][$i]['navigationhiding']
Type:
string
Default value: ''
Since release 4.1.0 you can hide/show items in the navigation tree.
To allow the usage of this functionality:
set up $cfg['Servers'][$i]['pmadb'] and the phpMyAdmin configuration
storage
put the table name in $cfg['Servers'][$i]['navigationhiding'] (e.g.
pma__navigationhiding)
$cfg['Servers'][$i]['central_columns']
Type:
string
$cfg['Servers'][$i]['tracking_add_drop_view']
Type:
boolean
Default value: true
Whether a DROP VIEW IF EXISTS statement will be added as first line to the log when
creating a view.
$cfg['Servers'][$i]['tracking_add_drop_table']
Type:
boolean
Default value: true
Whether a DROP TABLE IF EXISTS statement will be added as first line to the log when
creating a table.
$cfg['Servers'][$i]['tracking_add_drop_database']
Type:
boolean
Default value: true
Whether a DROP DATABASE IF EXISTS statement will be added as first line to the log
when creating a database.
$cfg['Servers'][$i]['userconfig']
Type:
string
Default value: ''
Since release 3.4.x phpMyAdmin allows users to set most preferences by themselves and
store them in the database.
If you dont allow for storing preferences in $cfg['Servers'][$i]['pmadb'], users
can still personalize phpMyAdmin, but settings will be saved in browsers local storage, or, it
is is unavailable, until the end of session.
To allow the usage of this functionality:
set up $cfg['Servers'][$i]['pmadb'] and the phpMyAdmin configuration
storage
put the table name in $cfg['Servers'][$i]['userconfig']
$cfg['Servers'][$i]['MaxTableUiprefs']
Type:
integer
Default value: 100
Maximum number of rows saved in $cfg['Servers'][$i]['table_uiprefs']
table.
When tables are dropped or renamed, $cfg['Servers'][$i]['table_uiprefs']
may contain invalid data (referring to tables which no longer exist). We only keep this number
of newest rows in $cfg['Servers'][$i]['table_uiprefs'] and automatically
delete older rows.
$cfg['Servers'][$i]['SessionTimeZone']
Type:
string
Default value: ''
Sets the time zone used by phpMyAdmin. Leave blank to use the time zone of your database
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
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 address 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)
For IPv6 addresses, the following work:
xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx (an exact IPv6 address)
xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:[yyyy-zzzz] (an IPv6 address
range)
xxxx:xxxx:xxxx:xxxx/nn (CIDR, Classless Inter-Domain Routing type IPv6
addresses)
But the following does not work:
xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx[yyy-zzz] (partial IPv6
address range)
$cfg['Servers'][$i]['DisableIS']
Type:
boolean
Default value: false
Disable using INFORMATION_SCHEMA to retrieve information (use SHOW commands
instead), because of speed issues when many databases are present. Currently used in some
parts of the code, more to come.
$cfg['Servers'][$i]['SignonScript']
Type:
string
Default value: ''
Name of PHP script to be sourced and executed to obtain login credentials. This is alternative
approach to session based single signon. The script has to provide a function called
get_login_credentials which returns list of username and password, accepting single
parameter of existing username (can be empty). See examples/signon-script.php
for an example:
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Single signon for phpMyAdmin
*
* This is just example how to use script based single signon with
* phpMyAdmin, it is not intended to be perfect code and look, only
* shows how you can integrate this functionality in your application.
*
* @package
PhpMyAdmin
* @subpackage Example
*/
/**
* This function returns username and password.
*
* It can optionally use configured username as parameter.
*
* @param string $user User name
*
* @return array
*/
function get_login_credentials($user)
{
/* Optionally we can use passed username */
if (!empty($user)) {
return array($user, 'password');
}
/* Here we would retrieve the credentials */
$credentials = array('root', '');
return $credentials;
}
See also
Signon authentication mode
$cfg['Servers'][$i]['SignonSession']
Type:
string
Default value: ''
Name of session which will be used for signon authentication method. You should use
something different than phpMyAdmin, because this is session which phpMyAdmin uses
internally. Takes effect only if $cfg['Servers'][$i]['SignonScript'] is not
configured.
See also
Signon authentication mode
$cfg['Servers'][$i]['SignonURL']
Type:
string
Default value: ''
URL where user will be redirected to log in for signon authentication method. Should be
absolute including protocol.
See also
Generic settings
$cfg['ServerDefault']
Type:
integer
Default value: 1
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['VersionCheck']
Type:
boolean
Default value: true
Enables check for latest versions using JavaScript on the main phpMyAdmin page or by
directly accessing version_check.php.
Note
This setting can be adjusted by your vendor.
$cfg['ProxyUrl']
Type:
string
Default value:
The url of the proxy to be used when phpmyadmin needs to access the outside internet such as
when retrieving the latest version info or submitting error reports. You need this if the server
where phpMyAdmin is installed does not have direct access to the internet. The format is:
hostname:portnumber
$cfg['ProxyUser']
Type:
string
Default value:
The username for authenticating with the proxy. By default, no authentication is performed. If
a username is supplied, Basic Authentication will be performed. No other types of
authentication are currently supported.
$cfg['ProxyPass']
Type:
string
Default value:
The password for authenticating with the proxy.
$cfg['MaxDbList']
Type:
integer
Default value: 100
The maximum number of database names to be displayed in the main panels database list.
$cfg['MaxTableList']
Type:
integer
Default value: 250
The maximum number of table names to be displayed in the main panels list (except on the
Export page).
$cfg['ShowHint']
Type:
boolean
Default value: true
Whether or not to show hints (for example, hints when hovering over table headers).
$cfg['MaxCharactersInDisplayedSQL']
Type:
integer
Default value: 1000
The maximum number of characters when a SQL query is displayed. The default limit of
1000 should be correct to avoid the display of tons of hexadecimal codes that represent
BLOBs, but some users have real SQL queries that are longer than 1000 characters. Also, if a
querys length exceeds this limit, this query is not saved in the history.
$cfg['PersistentConnections']
Type:
boolean
Default value: false
Whether persistent connections should be used or not. Works with following extensions:
mysql (mysql_pconnect),
mysqli (requires PHP 5.3.0 or newer, more information).
$cfg['ForceSSL']
Type:
boolean
Default value: false
Whether to force using https while accessing phpMyAdmin. In a reverse proxy setup, setting
this to true is not supported.
Note
In some setups (like separate SSL proxy or load balancer) you might have to set
$cfg['PmaAbsoluteUri'] for correct redirection.
$cfg['ExecTimeLimit']
Type:
integer [number of seconds]
Default value: 300
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['SessionSavePath']
Type:
string
Default value: ''
Path for storing session data (session_save_path PHP parameter).
$cfg['MemoryLimit']
Type:
string [number of bytes]
Default value: '-1'
Set the number of bytes a script is allowed to allocate. If set to '-1', no limit is imposed.
This setting is used while importing/exporting dump files and at some other places in
phpMyAdmin so you definitely dont want to put here a too low value. It has no effect when
PHP is running in safe mode.
You can also use any string as in php.ini, eg. 16M. Ensure you dont omit the suffix (16
means 16 bytes!)
$cfg['SkipLockedTables']
Type:
boolean
Default value: false
Mark used tables and make it possible to show databases with locked tables (since MySQL
3.23.30).
$cfg['ShowSQL']
Type:
boolean
Default value: true
Defines whether SQL queries generated by phpMyAdmin should be displayed or not.
$cfg['RetainQueryBox']
Type:
boolean
Default value: false
Defines whether the SQL query box should be kept displayed after its submission.
$cfg['CodemirrorEnable']
Type:
boolean
Default value: true
Defines whether to use a Javascript code editor for SQL query boxes. CodeMirror provides
syntax highlighting and line numbers. However, middle-clicking for pasting the clipboard
contents in some Linux distributions (such as Ubuntu) is not supported by all browsers.
$cfg['DefaultForeignKeyChecks']
Type:
string
Default value: 'default'
Default value of the checkbox for foreign key checks, to disable/enable foreign key checks for
certain queries. The possible values are 'default', 'enable' or 'disable'. If set to
'default', the value of the MySQL variable FOREIGN_KEY_CHECKS is used.
$cfg['AllowUserDropDatabase']
Type:
boolean
Default value: false
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.
Note
This limitation of SQL queries is not as strict as when using MySQL privileges. This is due to
nature of SQL queries which might be quite complicated. So this choice should be viewed as
help to avoid accidental dropping rather than strict privilege limitation.
$cfg['Confirm']
Type:
boolean
Default value: true
Whether a warning (Are your really sure...) should be displayed when youre about to lose
data.
$cfg['UseDbSearch']
Type:
boolean
Default value: true
Define whether the search string inside database is enabled or not.
$cfg['IgnoreMultiSubmitErrors']
Type:
boolean
Default value: false
Define whether phpMyAdmin will continue executing a multi-query statement if one of the
queries fails. Default is to abort execution.
Type:
boolean
Default value: true
Define whether the previous login should be recalled or not in cookie authentication mode.
This is automatically disabled if you do not have configured
$cfg['blowfish_secret'].
$cfg['LoginCookieValidity']
Type:
integer [number of seconds]
Default value: 1440
Define how long a login cookie is valid. Please note that php configuration option
session.gc_maxlifetime might limit session validity and if the session is lost, the login cookie
is also invalidated. So it is a good idea to set session.gc_maxlifetime at least to the
same value of $cfg['LoginCookieValidity'].
$cfg['LoginCookieStore']
Type:
integer [number of seconds]
Default value: 0
Define how long login cookie should be stored in browser. Default 0 means that it will be kept
for existing session. This is recommended for not trusted environments.
$cfg['LoginCookieDeleteAll']
Type:
boolean
Default value: true
If enabled (default), logout deletes cookies for all servers, otherwise only for current one.
Setting this to false makes it easy to forget to log out from other server, when you are using
more of them.
$cfg['AllowArbitraryServer']
Type:
boolean
Default value: false
If enabled, allows you to log in to arbitrary servers using cookie authentication.
Note
Please use this carefully, as this may allow users access to MySQL servers behind the firewall
where your HTTP server is placed. See also $cfg['ArbitraryServerRegexp'].
$cfg['ArbitraryServerRegexp']
Type:
string
Default value: ''
Restricts the MySQL servers to which the user can log in when
$cfg['AllowArbitraryServer'] is enabled by matching the IP or the hostname of
the MySQL server to the given regular expression. The regular expression must be enclosed
with a delimiter character.
$cfg['CaptchaLoginPublicKey']
Type:
string
Default value: ''
The public key for the reCaptcha service that can be obtained from
http://www.google.com/recaptcha.
reCaptcha will be then used in Cookie authentication mode.
$cfg['CaptchaLoginPrivateKey']
Type:
string
Default value: ''
The private key for the reCaptcha service that can be obtain from
http://www.google.com/recaptcha.
reCaptcha will be then used in Cookie authentication mode.
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 should not use this
separator at the beginning or end of a table name or multiple times after another without any
other characters in between.
$cfg['NavigationTreeTableLevel']
Type:
integer
Default value: 1
Defines how many sublevels should be displayed when splitting up tables by the above
separator.
$cfg['NumRecentTables']
Type:
integer
Default value: 10
The maximum number of recently used tables shown in the navigation panel. Set this to 0
(zero) to disable the listing of recent tables.
$cfg['ZeroConf']
Type:
boolean
Default value: true
Enables Zero Configuration mode in which the user will be offered a choice to create
phpMyAdmin configuration storage in the current database or use the existing one, if already
present.
This setting has no effect if the phpMyAdmin configuration storage database is properly
created and the related configuration directives (such as $cfg['Servers'][$i]
['pmadb'] and so on) are configured.
$cfg['NavigationLinkWithMainPanel']
Type:
boolean
Default value: true
Defines whether or not to link with main panel by highlighting the current database or table.
$cfg['NavigationDisplayLogo']
Type:
boolean
Default value: true
Defines whether or not to display the phpMyAdmin logo at the top of the navigation panel.
$cfg['NavigationLogoLink']
Type:
string
Default value: 'index.php'
Enter URL where logo in the navigation panel will point to. For use especially with self made
theme which changes this. For external URLs, you should include URL scheme as well.
$cfg['NavigationLogoLinkWindow']
Type:
string
Default value: 'main'
Whether to open the linked page in the main window (main) or in a new one (new). Note:
structure
sql
search
insert
browse
$cfg['NavigationTreeDefaultTabTable2']
Type:
string
Default value: null
Defines the tab displayed by default when clicking the second small icon next to each table
name in the navigation panel. Possible values:
(empty)
structure
sql
search
insert
browse
$cfg['NavigationTreeEnableExpansion']
Type:
boolean
Default value: false
Whether to offer the possibility of tree expansion in the navigation panel.
$cfg['NavigationTreeShowTables']
Type:
boolean
Default value: true
Whether to show tables under database in the navigation panel.
$cfg['NavigationTreeShowViews']
Type:
boolean
Default value: true
Whether to show views under database in the navigation panel.
$cfg['NavigationTreeShowFunctions']
Type:
boolean
Default value: true
Whether to show functions under database in the navigation panel.
$cfg['NavigationTreeShowProcedures']
Type:
boolean
Default value: true
Whether to show procedures under database in the navigation panel.
$cfg['NavigationTreeShowEvents']
Type:
boolean
Default value: true
Whether to show events under database in the navigation panel.
Main panel
$cfg['ShowStats']
Type:
boolean
Default value: true
Defines whether or not to display space usage and statistics about databases and tables. Note
that statistics requires at least MySQL 3.23.3 and that, at this date, MySQL doesnt return
such information for Berkeley DB tables.
$cfg['ShowServerInfo']
Type:
boolean
Default value: true
Defines whether to display detailed server information on main page. You can additionally
hide more information by using $cfg['Servers'][$i]['verbose'].
$cfg['ShowPhpInfo']
Type:
boolean
Default value: false
$cfg['ShowChgPassword']
Type:
boolean
Default value: true
$cfg['ShowCreateDb']
Type:
boolean
Default value: true
Defines whether to display the PHP information and Change password links and form for
creating database or not 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 cant be
allowed to change their passwords.
$cfg['ShowGitRevision']
Type:
boolean
Default value: true
Defines whether to display informations about the current Git revision (if applicable) on the
main panel.
$cfg['MysqlMinVersion']
Type: array
Defines the minimum supported MySQL version. The default is chosen by the phpMyAdmin
team; however this directive was asked by a developer of the Plesk control panel to ease
integration with older MySQL servers (where most of the phpMyAdmin features work).
Database structure
$cfg['ShowDbStructureCreation']
Type:
boolean
Default value: false
Defines whether the database structure page (tables list) has a Creation column that displays
when each table was created.
$cfg['ShowDbStructureLastUpdate']
Type:
boolean
Default value: false
Defines whether the database structure page (tables list) has a Last update column that
displays when each table was last updated.
$cfg['ShowDbStructureLastCheck']
Type:
boolean
Default value: false
Defines whether the database structure page (tables list) has a Last check column that
displays when each table was last checked.
$cfg['HideStructureActions']
Type:
boolean
Default value: true
Defines whether the table structure actions are hidden under a More drop-down.
Browse mode
$cfg['TableNavigationLinksMode']
Type:
string
Default value: 'icons'
Defines whether the table navigation links contain 'icons', 'text' or 'both'.
$cfg['ActionLinksMode']
Type:
string
Default value: 'both'
If set to icons, 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
text, will only show text.
$cfg['RowActionType']
Type:
string
Default value: 'both'
Whether to display icons or text or both icons and text in table row action segment. Value can
be either of 'icons', 'text' or 'both'.
$cfg['ShowAll']
Type:
boolean
Default value: false
Defines whether a user should be displayed a Show all button in browse mode or not in all
cases. By default it is shown only on small tables (less than 500 rows) to avoid performance
issues while getting too many rows.
$cfg['MaxRows']
Type:
integer
Default value: 25
Number of rows displayed when browsing a result set and no LIMIT clause is used. If the
result set contains more rows, Previous and Next links will be shown. Possible values:
25,50,100,250,500.
$cfg['Order']
Type:
string
Default value: 'SMART'
Defines whether columns are displayed in ascending (ASC) order, in descending (DESC) order
or in a smart (SMART) order - I.E. descending order for columns of type TIME, DATE,
DATETIME and TIMESTAMP, ascending order else- by default.
$cfg['GridEditing']
Type:
string
Default value: 'double-click'
Defines which action (double-click or click) triggers grid editing. Can be deactivated
with the disabled value.
$cfg['RelationalDisplay']
Type:
string
Default value: 'K'
Defines the initial behavior for Options > Relational. K, which is the default, displays the key
while D shows the display column.
$cfg['SaveCellsAtOnce']
Type:
boolean
Default value: false
Defines whether or not to save all edited cells at once for grid editing.
Editing mode
$cfg['ProtectBinary']
Type:
boolean or string
Default value: 'blob'
Defines whether BLOB or BINARY columns are protected from editing when browsing a
tables content. Valid values are:
false to allow editing of all columns;
'blob' to allow editing of all columns except BLOBS;
'noblob' to disallow editing of all columns except BLOBS (the opposite of
'blob');
'all' to disallow editing of all BINARY or BLOB columns.
$cfg['ShowFunctionFields']
Type:
boolean
Default value: true
Defines whether or not MySQL functions fields should be initially displayed in edit/insert
mode. Since version 2.10, the user can toggle this setting from the interface.
$cfg['ShowFieldTypesInDataEditView']
Type:
boolean
Default value: true
Defines whether or not type fields should be initially displayed in edit/insert mode. The user
can toggle this setting from the interface.
$cfg['InsertRows']
Type:
integer
Default value: 2
Defines the maximum number of concurrent entries for the Insert page.
$cfg['ForeignKeyMaxLimit']
Type:
integer
Default value: 100
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']
Type:
array
Default value: array(content-id, id-content)
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['Export']['method']
Type:
string
Default value: 'quick'
Defines how the export form is displayed when it loads. Valid values are:
quick to display the minimum number of options to configure
custom to display every available option to configure
custom-no-form same as custom but does not display the option of using quick
export
$cfg['Import']
Type:
array
Default value: array(...)
In this array are defined default parameters for import, names of items are similar to texts seen
on import page, so you can easily identify what they mean.
$cfg['DefaultTabDatabase']
Type:
string
Default value: 'structure'
Defines the tab displayed by default on database view. Possible values:
structure
sql
search
operations
$cfg['DefaultTabTable']
Type:
string
Default value: 'browse'
Defines the tab displayed by default on table view. Possible values:
structure
sql
search
insert
browse
PDF Options
$cfg['PDFPageSizes']
Type:
array
Default value: array('A3', 'A4', 'A5', 'letter', 'legal')
Array of possible paper sizes for creating PDF pages.
You should never need to change this.
$cfg['PDFDefaultPageSize']
Type:
string
Default value: 'A4'
Default page size to use when creating PDF pages. Valid values are any listed in
$cfg['PDFPageSizes'].
Languages
$cfg['DefaultLang']
Type:
string
Default value: 'en'
Defines the default language to use, if not browser-defined or user- defined. The
corresponding language file needs to be in locale/code/LC_MESSAGES/phpmyadmin.mo.
$cfg['DefaultConnectionCollation']
Type:
string
Default value: 'utf8_general_ci'
Defines the default connection collation to use, if not user-defined. See the MySQL
documentation for charsets for list of possible values. This setting is ignored when connected
to Drizzle server.
$cfg['Lang']
Type:
string
Default value: not set
auto - automatically use available one (first is tested iconv, then recode)
iconv - use iconv or libiconv functions
recode - use recode_string function
mb - use mbstring extension
none - disable encoding conversion
Enabled charset conversion activates a pull-down menu in the Export and Import pages, to
choose the character set when exporting a file. The default value in this menu comes from
$cfg['Export']['charset'] and $cfg['Import']['charset'].
$cfg['IconvExtraParams']
Type:
string
Default value: '//TRANSLIT'
Specify some parameters for iconv used in charset conversion. See iconv documentation for
details. By default //TRANSLIT is used, so that invalid characters will be transliterated.
$cfg['AvailableCharsets']
Type:
array
Default value: array(...)
Available character sets for MySQL conversion. You can add your own (any of supported by
recode/iconv) or remove these which you dont use. Character sets will be shown in same
order as here listed, so if you frequently use some of these move them to the top.
$cfg['TrustedProxies']
Type:
array
Default value: array()
Lists proxies and HTTP headers which are trusted for $cfg['Servers'][$i]
['AllowDeny']['order']. This list is by default empty, you need to fill in some trusted
proxy servers if you want to use rules for IP addresses behind proxy.
The following example specifies that phpMyAdmin should trust a
HTTP_X_FORWARDED_FOR (X -Forwarded-For) header coming from the proxy
1.2.3.4:
$cfg['TrustedProxies'] = array('1.2.3.4' => 'HTTP_X_FORWARDED_FOR');
Theme settings
$cfg['NaviWidth']
Type:
integer
Default value:
Navigation panel width in pixels. See themes/themename/layout.inc.php.
$cfg['NaviBackground']
Type:
string [CSS color for background]
Default value:
$cfg['MainBackground']
Type:
string [CSS color for background]
Default value:
The background styles used for both the frames. See
themes/themename/layout.inc.php.
$cfg['NaviPointerBackground']
Type:
string [CSS color for background]
Default value:
$cfg['NaviPointerColor']
Type:
string [CSS color]
Default value:
The style used for the pointer in the navigation panel. See
themes/themename/layout.inc.php.
$cfg['Border']
Type:
integer
Default value:
The size of a tables border. See themes/themename/layout.inc.php.
$cfg['ThBackground']
Type:
string [CSS color for background]
Default value:
$cfg['ThColor']
Type:
string [CSS color]
Default value:
The style used for table headers. See themes/themename/layout.inc.php.
$cfg['BgOne']
Type:
string [CSS color]
Default value:
The color (HTML) #1 for table rows. See themes/themename/layout.inc.php.
$cfg['BgTwo']
Type:
string [CSS color]
Default value:
The color (HTML) #2 for table rows. See themes/themename/layout.inc.php.
$cfg['BrowsePointerBackground']
Type:
string [CSS color]
Default value:
The background color used when hovering over a row in the Browse panel. See
themes/themename/layout.inc.php.
$cfg['BrowsePointerColor']
Type:
string [CSS color]
Default value:
The text color used when hovering over a row in the Browse panel. Used when
$cfg['BrowsePointerEnable'] is true. See
themes/themename/layout.inc.php.
$cfg['BrowseMarkerBackground']
Type:
string [CSS color]
Default value:
The background color used to highlight a row selected by checkbox in the Browse panel or
when a column is selected. Used when $cfg['BrowsePointerEnable'] is true. See
themes/themename/layout.inc.php.
$cfg['BrowseMarkerColor']
Type:
string [CSS color]
Default value:
The color used when you visually mark a row or column in the Browse panel. Rows can be
marked by clicking the checkbox to the left of the row and columns can be marked by
clicking the columns header (outside of the header text). See
themes/themename/layout.inc.php.
$cfg['FontFamily']
Type:
string
Default value:
You put here a valid CSS font family value, for example arial, sans- serif. See
themes/themename/layout.inc.php.
$cfg['FontFamilyFixed']
Type:
string
Default value:
You put here a valid CSS font family value, for example monospace. This one is used in
textarea. See themes/themename/layout.inc.php.
Design customization
$cfg['NavigationTreePointerEnable']
Type:
boolean
Default value: true
When set to true, hovering over an item in the navigation panel causes that item to be marked
(the background is highlighted).
$cfg['BrowsePointerEnable']
Type:
boolean
Default value: true
When set to true, hovering over a row in the Browse page causes that row to be marked (the
background is highlighted).
$cfg['BrowseMarkerEnable']
Type:
boolean
Default value: true
When set to true, a data row is marked (the background is highlighted) when the row is
selected with the checkbox.
$cfg['LimitChars']
Type:
integer
Default value: 50
Maximum number of characters shown in any non-numeric field on browse view. Can be
turned off by a toggle button on the browse page.
$cfg['RowActionLinks']
Type:
string
Default value: 'left'
Defines the place where table row links (Edit, Copy, Delete) would be put when tables
contents are displayed (you may have them displayed at the left side, right side, both sides or
nowhere).
$cfg['RowActionLinksWithoutUnique']
Type:
boolean
Default value: false
Defines whether to show row links (Edit, Copy, Delete) and checkboxes for multiple row
operations even when the selection does not have a unique key. Using row actions in the
absence of a unique key may result in different/more rows being affected since there is no
guaranteed way to select the exact row(s).
$cfg['RememberSorting']
Type:
boolean
Default value: true
If enabled, remember the sorting of each table when browsing them.
$cfg['TablePrimaryKeyOrder']
Type:
string
Default value: 'NONE'
This defines the default sort order for the tables, having a primary key, when there is no sort
order defines externally. Acceptable values : [NONE, ASC, DESC]
$cfg['ShowBrowseComments']
Type:
boolean
Default value: true
$cfg['ShowPropertyComments']
Type:
boolean
Default value: true
By setting the corresponding variable to true you can enable the display of column
comments in Browse or Property display. In browse mode, the comments are shown inside the
header. In property mode, comments are displayed using a CSS-formatted dashed-line below
the name of the column. The comment is shown as a tool-tip for that column.
Text fields
$cfg['CharEditing']
Type:
string
Default value: 'input'
Defines which type of editing controls should be used for CHAR and VARCHAR columns.
Applies to data editing and also to the default values in structure editing. Possible values are:
input - this allows to limit size of text to size of columns in MySQL, but has problems
with newlines in columns
textarea - no problems with newlines in columns, but also no length limitations
$cfg['MinSizeForInputField']
Type:
integer
Default value: 4
Defines the minimum size for input fields generated for CHAR and VARCHAR columns.
$cfg['MaxSizeForInputField']
Type:
integer
Default value: 60
Defines the maximum size for input fields generated for CHAR and VARCHAR columns.
$cfg['TextareaCols']
Type:
integer
Default value: 40
$cfg['TextareaRows']
Type:
integer
Default value: 15
$cfg['CharTextareaCols']
Type:
integer
Default value: 40
$cfg['CharTextareaRows']
Type:
integer
Default value: 2
Number of columns and rows for the textareas. This value will be emphasized (*2) for SQL
query textareas and (*1.25) for SQL textareas inside the query window.
The Char* values are used for CHAR and VARCHAR editing (if configured via
$cfg['CharEditing']).
$cfg['LongtextDoubleTextarea']
Type:
boolean
Default value: true
Defines whether textarea for LONGTEXT columns should have double size.
$cfg['TextareaAutoSelect']
Type:
boolean
Default value: false
Defines if the whole textarea of the query box will be selected on click.
$cfg['EnableAutocompleteForTablesAndColumns']
Type:
boolean
Default value: true
Whether to enable autocomplete for table and column names in any SQL query box.
Type:
boolean
Default value: true
Whether to display a link to refresh a query in any SQL Query box.
If you cannot change owner of the directory, you can achieve a similar setup using ACL:
chmod 700 tmp
setfacl -m "g:www-data:rwx" tmp
setfacl -d -m "g:www-data:rwx" tmp
If neither of above works for you, you can still make the directory chmod 777, but it might
impose risk of other users on system reading and writing data in this directory.
Page titles
$cfg['TitleTable']
Type:
string
'@HTTP_HOST@ / @VSERVER@ / @DATABASE@ / @TABLE@ |
Default
@PHPMYADMIN@'
value:
$cfg['TitleDatabase']
Type:
string
Default value: '@HTTP_HOST@ / @VSERVER@ / @DATABASE@ |
@PHPMYADMIN@'
$cfg['TitleServer']
Type:
string
Default value: '@HTTP_HOST@ / @VSERVER@ | @PHPMYADMIN@'
$cfg['TitleDefault']
Type:
string
Default value: '@HTTP_HOST@ | @PHPMYADMIN@'
Allows you to specify windows title bar. You can use 6.27 What format strings can I use?.
Default queries
$cfg['DefaultQueryTable']
Type:
string
Default value: 'SELECT * FROM @TABLE@ WHERE 1'
$cfg['DefaultQueryDatabase']
Type:
string
Default value: ''
Default queries that will be displayed in query boxes when user didnt specify any. You can
use standard 6.27 What format strings can I use?.
MySQL settings
$cfg['DefaultFunctions']
Type:
array
Default value: array(...)
Functions selected by default when inserting/changing row, Functions are defined for meta
types as (FUNC_NUMBER, FUNC_DATE, FUNC_CHAR, FUNC_SPATIAL,
FUNC_UUID) and for first_timestamp, which is used for first timestamp column in
table.
Developer
Warning
These settings might have huge effect on performance or security.
$cfg['DBG']
Type:
array
Default value: array(...)
$cfg['DBG']['sql']
Type:
boolean
Default value: false
Enable logging queries and execution times to be displayed in the consoles Debug SQL tab.
$cfg['DBG']['demo']
Type:
boolean
Default value: false
Enable to let server present itself as demo server. This is used for
<http://demo.phpmyadmin.net/>.