aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/doc/html/_sources/config.txt
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/phpmyadmin/doc/html/_sources/config.txt')
-rw-r--r--srcs/phpmyadmin/doc/html/_sources/config.txt3609
1 files changed, 3609 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/doc/html/_sources/config.txt b/srcs/phpmyadmin/doc/html/_sources/config.txt
new file mode 100644
index 0000000..97d7902
--- /dev/null
+++ b/srcs/phpmyadmin/doc/html/_sources/config.txt
@@ -0,0 +1,3609 @@
+.. index:: config.inc.php
+
+.. _config:
+
+Configuration
+=============
+
+All configurable data is placed in :file:`config.inc.php` in phpMyAdmin's
+toplevel directory. If this file does not exist, please refer to the
+:ref:`setup` section to create one. This file only needs to contain the
+parameters you want to change from their corresponding default value in
+:file:`libraries/config.default.php` (this file is not inteded for changes).
+
+.. seealso::
+
+ :ref:`config-examples` for examples of configurations
+
+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 there's no need to add a line here.
+
+The parameters which relate to design (like colors) are placed in
+:file:`themes/themename/layout.inc.php`. You might also want to create
+:file:`config.footer.inc.php` and :file:`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 :file:`config.inc.php` in
+ ``/etc/phpmyadmin`` instead of within phpMyAdmin sources.
+
+.. warning::
+
+ :term:`Mac` users should note that if you are on a version before
+ :term:`Mac OS X`, PHP does not seem to
+ like :term:`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
+--------------
+
+.. config:option:: $cfg['PmaAbsoluteUri']
+
+ :type: string
+ :default: ``''``
+
+ .. versionchanged:: 4.6.5
+
+ This setting was not available in phpMyAdmin 4.6.0 - 4.6.4.
+
+ Sets here the complete :term:`URL` (with full path) to your phpMyAdmin
+ installation's directory. E.g.
+ ``https://www.example.net/path_to_your_phpMyAdmin_directory/``. Note also
+ that the :term:`URL` on most of web servers are case sensitive (even on
+ Windows). 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 or complex reverse proxy setup might need to set this.
+
+ 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.
+
+ .. seealso:: :ref:`faq1_40`, :ref:`faq2_5`, :ref:`faq4_7`, :ref:`faq5_16`
+
+.. config:option:: $cfg['PmaNoRelation_DisableWarning']
+
+ :type: boolean
+ :default: false
+
+ Starting with version 2.3.0 phpMyAdmin offers a lot of features to
+ work with master / foreign – tables (see :config:option:`$cfg['Servers'][$i]['pmadb']`).
+
+ If you tried to set this
+ up and it does not work for you, have a look on the :guilabel:`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.
+
+.. config:option:: $cfg['AuthLog']
+
+ :type: string
+ :default: ``'auto'``
+
+ .. versionadded:: 4.8.0
+
+ This is supported since phpMyAdmin 4.8.0.
+
+ Configure authentication logging destination. Failed (or all, depending on
+ :config:option:`$cfg['AuthLogSuccess']`) authentication attempts will be
+ logged according to this directive:
+
+ ``auto``
+ Let phpMyAdmin automatically choose between ``syslog`` and ``php``.
+ ``syslog``
+ Log using syslog, using AUTH facility, on most systems this ends up
+ in :file:`/var/log/auth.log`.
+ ``php``
+ Log into PHP error log.
+ ``sapi``
+ Log into PHP SAPI logging.
+ ``/path/to/file``
+ Any other value is treated as a filename and log entries are written there.
+
+ .. note::
+
+ When logging to a file, make sure its permissions are correctly set
+ for a web server user, the setup should closely match instructions
+ described in :config:option:`$cfg['TempDir']`:
+
+.. config:option:: $cfg['AuthLogSuccess']
+
+ :type: boolean
+ :default: false
+
+ .. versionadded:: 4.8.0
+
+ This is supported since phpMyAdmin 4.8.0.
+
+ Whether to log successful authentication attempts into
+ :config:option:`$cfg['AuthLog']`.
+
+.. config:option:: $cfg['SuhosinDisableWarning']
+
+ :type: boolean
+ :default: 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.
+
+.. config:option:: $cfg['LoginCookieValidityDisableWarning']
+
+ :type: boolean
+ :default: 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.
+
+.. config:option:: $cfg['ServerLibraryDifference_DisableWarning']
+
+ :type: boolean
+ :default: false
+
+ .. deprecated:: 4.7.0
+
+ This setting was removed as the warning has been removed as well.
+
+ 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.
+
+.. config:option:: $cfg['ReservedWordDisableWarning']
+
+ :type: boolean
+ :default: 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.
+
+.. config:option:: $cfg['TranslationWarningThreshold']
+
+ :type: integer
+ :default: 80
+
+ Show warning about incomplete translations on certain threshold.
+
+.. config:option:: $cfg['SendErrorReports']
+
+ :type: string
+ :default: ``'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 :config:option:`$cfg['UserprefsDisallow']` directive should
+ contain ``'SendErrorReports'`` in one of its array values.
+
+.. config:option:: $cfg['ConsoleEnterExecutes']
+
+ :type: boolean
+ :default: 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 console's
+ settings interface.
+
+.. config:option:: $cfg['AllowThirdPartyFraming']
+
+ :type: boolean|string
+ :default: 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. Setting this to 'sameorigin' prevents phpMyAdmin to be
+ included from another document in a frame, unless that document belongs
+ to the same domain.
+
+Server connection settings
+--------------------------
+
+.. config:option:: $cfg['Servers']
+
+ :type: array
+ :default: one server array with settings listed below
+
+ Since version 1.4.2, phpMyAdmin supports the administration of multiple
+ MySQL servers. Therefore, a :config:option:`$cfg['Servers']`-array has been
+ added which contains the login information for the different servers. The
+ first :config:option:`$cfg['Servers'][$i]['host']` contains the hostname of
+ the first server, the second :config:option:`$cfg['Servers'][$i]['host']`
+ the hostname of the second server, etc. In
+ :file:`libraries/config.default.php`, there is only one section for server
+ definition, however you can put as many as you need in
+ :file:`config.inc.php`, copy that block or needed parts (you don't have to
+ define all settings, just those you need to change).
+
+ .. note::
+
+ The :config:option:`$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.
+
+.. config:option:: $cfg['Servers'][$i]['host']
+
+ :type: string
+ :default: ``'localhost'``
+
+ The hostname or :term:`IP` address of your $i-th MySQL-server. E.g.
+ ``localhost``.
+
+ Possible values are:
+
+ * hostname, e.g., ``'localhost'`` or ``'mydb.example.org'``
+ * IP address, e.g., ``'127.0.0.1'`` or ``'192.168.10.1'``
+ * IPv6 address, e.g. ``2001:cdba:0000:0000:0000:0000:3257:9652``
+ * dot - ``'.'``, i.e., use named pipes on windows systems
+ * empty - ``''``, disables this server
+
+ .. note::
+
+ The hostname ``localhost`` is handled specially by MySQL and it uses
+ the socket based connection protocol. To use TCP/IP networking, use an
+ IP address or hostname such as ``127.0.0.1`` or ``db.example.com``. You
+ can configure the path to the socket with
+ :config:option:`$cfg['Servers'][$i]['socket']`.
+
+ .. seealso::
+
+ :config:option:`$cfg['Servers'][$i]['port']`,
+ <https://dev.mysql.com/doc/refman/5.7/en/connecting.html>
+
+.. config:option:: $cfg['Servers'][$i]['port']
+
+ :type: string
+ :default: ``''``
+
+ 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 :config:option:`$cfg['Servers'][$i]['host']`.
+
+ .. seealso::
+
+ :config:option:`$cfg['Servers'][$i]['host']`,
+ <https://dev.mysql.com/doc/refman/5.7/en/connecting.html>
+
+.. config:option:: $cfg['Servers'][$i]['socket']
+
+ :type: string
+ :default: ``''``
+
+ The path to the socket to use. Leave blank for default. To determine
+ the correct socket, check your MySQL configuration or, using the
+ :command:`mysql` command–line client, issue the ``status`` command. Among the
+ resulting information displayed will be the socket used.
+
+ .. note::
+
+ This takes effect only if :config:option:`$cfg['Servers'][$i]['host']` is set
+ to ``localhost``.
+
+ .. seealso::
+
+ :config:option:`$cfg['Servers'][$i]['host']`,
+ <https://dev.mysql.com/doc/refman/5.7/en/connecting.html>
+
+.. config:option:: $cfg['Servers'][$i]['ssl']
+
+ :type: boolean
+ :default: false
+
+ Whether to enable SSL for the connection between phpMyAdmin and the MySQL
+ server to secure the connection.
+
+ When using the ``'mysql'`` extension,
+ none of the remaining ``'ssl...'`` configuration options apply.
+
+ We strongly recommend the ``'mysqli'`` extension when using this option.
+
+ .. seealso::
+
+ :ref:`ssl`,
+ :ref:`example-google-ssl`,
+ :config:option:`$cfg['Servers'][$i]['ssl_key']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_cert']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca_path']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ciphers']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_verify']`
+
+.. config:option:: $cfg['Servers'][$i]['ssl_key']
+
+ :type: string
+ :default: NULL
+
+ Path to the client key file when using SSL for connecting to the MySQL
+ server. This is used to authenticate the client to the server.
+
+ For example:
+
+ .. code-block:: php
+
+ $cfg['Servers'][$i]['ssl_key'] = '/etc/mysql/server-key.pem';
+
+ .. seealso::
+
+ :ref:`ssl`,
+ :ref:`example-google-ssl`,
+ :config:option:`$cfg['Servers'][$i]['ssl']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_cert']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca_path']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ciphers']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_verify']`
+
+.. config:option:: $cfg['Servers'][$i]['ssl_cert']
+
+ :type: string
+ :default: NULL
+
+ Path to the client certificate file when using SSL for connecting to the
+ MySQL server. This is used to authenticate the client to the server.
+
+ .. seealso::
+
+ :ref:`ssl`,
+ :ref:`example-google-ssl`,
+ :config:option:`$cfg['Servers'][$i]['ssl']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_key']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca_path']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ciphers']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_verify']`
+
+.. config:option:: $cfg['Servers'][$i]['ssl_ca']
+
+ :type: string
+ :default: NULL
+
+ Path to the CA file when using SSL for connecting to the MySQL server.
+
+ .. seealso::
+
+ :ref:`ssl`,
+ :ref:`example-google-ssl`,
+ :config:option:`$cfg['Servers'][$i]['ssl']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_key']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_cert']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca_path']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ciphers']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_verify']`
+
+.. config:option:: $cfg['Servers'][$i]['ssl_ca_path']
+
+ :type: string
+ :default: NULL
+
+ Directory containing trusted SSL CA certificates in PEM format.
+
+ .. seealso::
+
+ :ref:`ssl`,
+ :ref:`example-google-ssl`,
+ :config:option:`$cfg['Servers'][$i]['ssl']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_key']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_cert']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ciphers']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_verify']`
+
+.. config:option:: $cfg['Servers'][$i]['ssl_ciphers']
+
+ :type: string
+ :default: NULL
+
+ List of allowable ciphers for SSL connections to the MySQL server.
+
+ .. seealso::
+
+ :ref:`ssl`,
+ :ref:`example-google-ssl`,
+ :config:option:`$cfg['Servers'][$i]['ssl']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_key']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_cert']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca_path']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_verify']`
+
+.. config:option:: $cfg['Servers'][$i]['ssl_verify']
+
+ :type: boolean
+ :default: true
+
+ .. versionadded:: 4.6.0
+
+ This is supported since phpMyAdmin 4.6.0.
+
+ If your PHP install uses the MySQL Native Driver (mysqlnd), your
+ MySQL server is 5.6 or later, and your SSL certificate is self-signed,
+ there is a chance your SSL connection will fail due to validation.
+ Setting this to ``false`` will disable the validation check.
+
+ Since PHP 5.6.0 it also verifies whether server name matches CN of its
+ certificate. There is currently no way to disable just this check without
+ disabling complete SSL verification.
+
+ .. warning::
+
+ Disabling the certificate verification defeats purpose of using SSL.
+ This will make the connection vulnerable to man in the middle attacks.
+
+ .. note::
+
+ This flag only works with PHP 5.6.16 or later.
+
+ .. seealso::
+
+ :ref:`ssl`,
+ :ref:`example-google-ssl`,
+ :config:option:`$cfg['Servers'][$i]['ssl']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_key']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_cert']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca_path']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ciphers']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_verify']`
+
+.. config:option:: $cfg['Servers'][$i]['connect_type']
+
+ :type: string
+ :default: ``'tcp'``
+
+ .. deprecated:: 4.7.0
+
+ This setting is no longer used as of 4.7.0, since MySQL decides the
+ connection type based on host, so it could lead to unexpected results.
+ Please set :config:option:`$cfg['Servers'][$i]['host']` accordingly
+ instead.
+
+ 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.
+
+.. config:option:: $cfg['Servers'][$i]['compress']
+
+ :type: boolean
+ :default: false
+
+ Whether to use a compressed protocol for the MySQL server connection
+ or not (experimental).
+
+.. _controlhost:
+.. config:option:: $cfg['Servers'][$i]['controlhost']
+
+ :type: string
+ :default: ``''``
+
+ Permits to use an alternate host to hold the configuration storage
+ data.
+
+ .. seealso::
+
+ :config:option:`$cfg['Servers'][$i]['control_*']`
+
+.. _controlport:
+.. config:option:: $cfg['Servers'][$i]['controlport']
+
+ :type: string
+ :default: ``''``
+
+ Permits to use an alternate port to connect to the host that
+ holds the configuration storage.
+
+ .. seealso::
+
+ :config:option:`$cfg['Servers'][$i]['control_*']`
+
+.. _controluser:
+.. config:option:: $cfg['Servers'][$i]['controluser']
+
+ :type: string
+ :default: ``''``
+
+.. config:option:: $cfg['Servers'][$i]['controlpass']
+
+ :type: string
+ :default: ``''``
+
+ This special account is used to access :ref:`linked-tables`.
+ You don't need it in single user case, but if phpMyAdmin is shared it
+ is recommended to give access to :ref:`linked-tables` only to this user
+ and configure phpMyAdmin to use it. All users will then be able to use
+ the features without need to have direct access to :ref:`linked-tables`.
+
+ .. versionchanged:: 2.2.5
+ those were called ``stduser`` and ``stdpass``
+
+ .. seealso::
+
+ :ref:`setup`,
+ :ref:`authentication_modes`,
+ :ref:`linked-tables`,
+ :config:option:`$cfg['Servers'][$i]['pmadb']`,
+ :config:option:`$cfg['Servers'][$i]['controlhost']`,
+ :config:option:`$cfg['Servers'][$i]['controlport']`,
+ :config:option:`$cfg['Servers'][$i]['control_*']`
+
+.. config:option:: $cfg['Servers'][$i]['control_*']
+
+ :type: mixed
+
+ .. versionadded:: 4.7.0
+
+ You can change any MySQL connection setting for control link (used to
+ access :ref:`linked-tables`) using configuration prefixed with ``control_``.
+
+ This can be used to change any aspect of the control connection, which by
+ default uses same parameters as the user one.
+
+ For example you can configure SSL for the control connection:
+
+ .. code-block:: php
+
+ // Enable SSL
+ $cfg['Servers'][$i]['control_ssl'] = true;
+ // Client secret key
+ $cfg['Servers'][$i]['control_ssl_key'] = '../client-key.pem';
+ // Client certificate
+ $cfg['Servers'][$i]['control_ssl_cert'] = '../client-cert.pem';
+ // Server certification authority
+ $cfg['Servers'][$i]['control_ssl_ca'] = '../server-ca.pem';
+
+ .. seealso::
+
+ :config:option:`$cfg['Servers'][$i]['ssl']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_key']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_cert']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ca_path']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_ciphers']`,
+ :config:option:`$cfg['Servers'][$i]['ssl_verify']`
+
+.. config:option:: $cfg['Servers'][$i]['auth_type']
+
+ :type: string
+ :default: ``'cookie'``
+
+ Whether config or cookie or :term:`HTTP` or signon authentication should be
+ used for this server.
+
+ * 'config' authentication (``$auth_type = 'config'``) is the plain old
+ way: username and password are stored in :file:`config.inc.php`.
+ * 'cookie' authentication mode (``$auth_type = 'cookie'``) allows you to
+ log in as any valid MySQL user with the help of cookies.
+ * 'http' authentication allows you to log in as any
+ valid MySQL user via HTTP-Auth.
+ * 'signon' authentication mode (``$auth_type = 'signon'``) allows you to
+ log in from prepared PHP session data or using supplied PHP script.
+
+ .. seealso:: :ref:`authentication_modes`
+
+.. _servers_auth_http_realm:
+.. config:option:: $cfg['Servers'][$i]['auth_http_realm']
+
+ :type: string
+ :default: ``''``
+
+ When using auth\_type = ``http``, this field allows to define a custom
+ :term:`HTTP` Basic Auth Realm which will be displayed to the user. If not
+ explicitly specified in your configuration, a string combined of
+ "phpMyAdmin " and either :config:option:`$cfg['Servers'][$i]['verbose']` or
+ :config:option:`$cfg['Servers'][$i]['host']` will be used.
+
+.. _servers_user:
+.. config:option:: $cfg['Servers'][$i]['user']
+
+ :type: string
+ :default: ``'root'``
+
+.. config:option:: $cfg['Servers'][$i]['password']
+
+ :type: string
+ :default: ``''``
+
+ When using :config:option:`$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
+ :term:`HTTP` or cookie authentication is used
+ and should be empty.
+
+.. _servers_nopassword:
+.. config:option:: $cfg['Servers'][$i]['nopassword']
+
+ :type: boolean
+ :default: false
+
+ .. deprecated:: 4.7.0
+
+ This setting was removed as it can produce unexpected results.
+
+ 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.
+
+.. _servers_only_db:
+.. config:option:: $cfg['Servers'][$i]['only_db']
+
+ :type: string or array
+ :default: ``''``
+
+ 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:
+
+ .. code-block:: php
+
+ $cfg['Servers'][$i]['only_db'] = array('db1', 'db2');
+
+ .. versionchanged:: 4.0.0
+ Previous versions permitted to specify the display order of
+ the database names via this directive.
+
+.. config:option:: $cfg['Servers'][$i]['hide_db']
+
+ :type: string
+ :default: ``''``
+
+ 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
+
+ .. code-block:: php
+
+ $cfg['Servers'][$i]['hide_db'] = '^a';
+
+ and to hide both "db1" and "db2" use
+
+ .. code-block:: php
+
+ $cfg['Servers'][$i]['hide_db'] = '^(db1|db2)$';
+
+ More information on regular expressions can be found in the `PCRE
+ pattern syntax
+ <https://www.php.net/manual/en/reference.pcre.pattern.syntax.php>`_ portion
+ of the PHP reference manual.
+
+.. config:option:: $cfg['Servers'][$i]['verbose']
+
+ :type: string
+ :default: ``''``
+
+ 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.
+
+.. config:option:: $cfg['Servers'][$i]['extension']
+
+ :type: string
+ :default: ``'mysqli'``
+
+ .. deprecated:: 4.2.0
+
+ This setting was removed. The ``mysql`` extension will only be used when
+ the ``mysqli`` extension is not available. As of 5.0.0, only the
+ ``mysqli`` extension can be used.
+
+ The PHP MySQL extension to use (``mysql`` or ``mysqli``).
+
+ It is recommended to use ``mysqli`` in all installations.
+
+.. config:option:: $cfg['Servers'][$i]['pmadb']
+
+ :type: string
+ :default: ``''``
+
+ The name of the database containing the phpMyAdmin configuration
+ storage.
+
+ See the :ref:`linked-tables` 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 :config:option:`$cfg['Servers'][$i]['pmadb']`. For a
+ multi-user installation, set this parameter to the name of your central
+ database containing the phpMyAdmin configuration storage.
+
+.. _bookmark:
+.. config:option:: $cfg['Servers'][$i]['bookmarktable']
+
+ :type: string or false
+ :default: ``''``
+
+ 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 :config:option:`$cfg['Servers'][$i]['pmadb']` and the phpMyAdmin configuration storage
+ * enter the table name in :config:option:`$cfg['Servers'][$i]['bookmarktable']`
+
+ This feature can be disabled by setting the configuration to ``false``.
+
+.. _relation:
+.. config:option:: $cfg['Servers'][$i]['relation']
+
+ :type: string or false
+ :default: ``''``
+
+ 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 :ref:`faqdisplay`)
+ * in edit/insert mode, display a drop-down list of possible foreign keys
+ (key value and "display column" are shown) (see :ref:`faq6_21`)
+ * 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 :ref:`faq6_6`)
+ * enable you to get a :term:`PDF` schema of
+ your database (also uses the table\_coords table).
+
+ The keys can be numeric or character.
+
+ To allow the usage of this functionality:
+
+ * set up :config:option:`$cfg['Servers'][$i]['pmadb']` and the phpMyAdmin configuration storage
+ * put the relation table name in :config:option:`$cfg['Servers'][$i]['relation']`
+ * now as normal user open phpMyAdmin and for each one of your tables
+ where you want to use this feature, click :guilabel:`Structure/Relation view/`
+ and choose foreign columns.
+
+ This feature can be disabled by setting the configuration to ``false``.
+
+ .. note::
+
+ In the current version, ``master_db`` must be the same as ``foreign_db``.
+ Those columns have been put in future development of the cross-db
+ relations.
+
+.. _table_info:
+.. config:option:: $cfg['Servers'][$i]['table_info']
+
+ :type: string or false
+ :default: ``''``
+
+ Since release 2.3.0 you can describe, in a special 'table\_info'
+ table, which column 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:
+
+ * set up :config:option:`$cfg['Servers'][$i]['pmadb']` and the phpMyAdmin configuration storage
+ * put the table name in :config:option:`$cfg['Servers'][$i]['table\_info']` (e.g.
+ ``pma__table_info``)
+ * then for each table where you want to use this feature, click
+ "Structure/Relation view/Choose column to display" to choose the
+ column.
+
+ This feature can be disabled by setting the configuration to ``false``.
+
+ .. seealso:: :ref:`faqdisplay`
+
+.. _table_coords:
+.. config:option:: $cfg['Servers'][$i]['table_coords']
+
+ :type: string or false
+ :default: ``''``
+
+ The designer feature can save your page layout; by pressing the "Save page" or "Save page as"
+ button in the expanding designer menu, you can customize the layout and have it loaded the next
+ time you use the designer. That layout is stored in this table. Furthermore, this table is also
+ required for using the PDF relation export feature, see
+ :config:option:`$cfg['Servers'][$i]['pdf\_pages']` for additional details.
+
+.. config:option:: $cfg['Servers'][$i]['pdf_pages']
+
+ :type: string or false
+ :default: ``''``
+
+ Since release 2.3.0 you can have phpMyAdmin create :term:`PDF` pages
+ showing the relations between your tables. Further, the designer interface
+ permits visually managing the relations. To do this it needs two tables
+ "pdf\_pages" (storing information about the available :term:`PDF` pages)
+ and "table\_coords" (storing coordinates where each table will be placed on
+ a :term:`PDF` schema output). You must be using the "relation" feature.
+
+ To allow the usage of this functionality:
+
+ * set up :config:option:`$cfg['Servers'][$i]['pmadb']` and the phpMyAdmin configuration storage
+ * put the correct table names in
+ :config:option:`$cfg['Servers'][$i]['table\_coords']` and
+ :config:option:`$cfg['Servers'][$i]['pdf\_pages']`
+
+ This feature can be disabled by setting either of the configurations to ``false``.
+
+ .. seealso:: :ref:`faqpdf`.
+
+.. _col_com:
+.. config:option:: $cfg['Servers'][$i]['column_info']
+
+ :type: string or false
+ :default: ``''``
+
+ 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 :ref:`transformations` for
+ further information. To use the MIME- transformation 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 :config:option:`$cfg['Servers'][$i]['pmadb']` and the phpMyAdmin configuration storage
+ * put the table name in :config:option:`$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 :file:`config.inc.php` has been renamed from
+ :samp:`$cfg['Servers'][$i]['column\_comments']` to
+ :config:option:`$cfg['Servers'][$i]['column\_info']`
+
+ .. code-block:: mysql
+
+ ALTER TABLE `pma__column_comments`
+ ADD `mimetype` VARCHAR( 255 ) NOT NULL,
+ ADD `transformation` VARCHAR( 255 ) NOT NULL,
+ ADD `transformation_options` VARCHAR( 255 ) NOT NULL;
+ * to update your PRE-4.3.0 Column\_info table manually use this
+ ``./sql/upgrade_column_info_4_3_0+.sql`` SQL script.
+
+ This feature can be disabled by setting the configuration to ``false``.
+
+ .. note::
+
+ For auto-upgrade functionality to work, your
+ :config:option:`$cfg['Servers'][$i]['controluser']` must have ALTER privilege on
+ ``phpmyadmin`` database. See the `MySQL documentation for GRANT
+ <https://dev.mysql.com/doc/refman/5.7/en/grant.html>`_ on how to
+ ``GRANT`` privileges to a user.
+
+.. _history:
+.. config:option:: $cfg['Servers'][$i]['history']
+
+ :type: string or false
+ :default: ``''``
+
+ Since release 2.5.0 you can store your :term:`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 :config:option:`$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:
+
+ * set up :config:option:`$cfg['Servers'][$i]['pmadb']` and the phpMyAdmin configuration storage
+ * put the table name in :config:option:`$cfg['Servers'][$i]['history']` (e.g.
+ ``pma__history``)
+
+ This feature can be disabled by setting the configuration to ``false``.
+
+.. _recent:
+.. config:option:: $cfg['Servers'][$i]['recent']
+
+ :type: string or false
+ :default: ``''``
+
+ Since release 3.5.0 you can show recently used tables in the
+ navigation panel. It helps you to jump across table directly, without
+ the need to select the database, and then select the table. Using
+ :config:option:`$cfg['NumRecentTables']` you can configure the maximum number
+ of recent tables shown. When you select a table from the list, it will jump to
+ the page specified in :config:option:`$cfg['NavigationTreeDefaultTabTable']`.
+
+ Without configuring the storage, you can still access the recently used tables,
+ but it will disappear after you logout.
+
+ To allow the usage of this functionality persistently:
+
+ * set up :config:option:`$cfg['Servers'][$i]['pmadb']` and the phpMyAdmin configuration storage
+ * put the table name in :config:option:`$cfg['Servers'][$i]['recent']` (e.g.
+ ``pma_