~hexmode/+junk/main

« back to all changes in this revision

Viewing changes to install-files/apps/phpmyadmin2.10.1/Documentation.txt

  • Committer: Mark A. Hershberger
  • Date: 2008-01-05 19:38:56 UTC
  • Revision ID: hershberger@spawn-xp-20080105193856-6rnzgwa4nehue3qj
initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
  * Top
 
2
  * Requirements
 
3
  * Introduction
 
4
  * Installation
 
5
  * Setup script
 
6
  * Configuration
 
7
  * Transformations
 
8
  * FAQ
 
9
  * Developers
 
10
  * Credits
 
11
  * Translators
 
12
  * Glossary
 
13
 
 
14
phpMyAdmin 2.10.1 Documentation
 
15
 
 
16
  * phpMyAdmin homepage
 
17
  * SourceForge phpMyAdmin project page
 
18
  * Official phpMyAdmin wiki
 
19
  * Local documents:
 
20
      + Version history: ChangeLog
 
21
      + General notes: README
 
22
      + License: LICENSE
 
23
  * Documentation version: $Id: Documentation.html 10319 2007-04-24 04:04:17Z
 
24
    lem9 $
 
25
 
 
26
Requirements
 
27
 
 
28
  * PHP
 
29
      + You need PHP 4.1.0 or newer, with session support (see FAQ 1.31)
 
30
      + You need GD2 support in PHP to display inline thumbnails of JPEGs
 
31
        ("image/jpeg: inline") with their original aspect ratio
 
32
      + You need PHP 4.3.0 or newer to use the "text/plain: external"
 
33
        MIME-based transformation
 
34
  * MySQL 3.23.32 or newer (details);
 
35
  * Not really a requirement but a strong suggestion: if you are using the
 
36
    "cookie" authentication method, having the mcrypt PHP extension on your web
 
37
    server accelerates not only the login phase but every other action that you
 
38
    do in phpMyAdmin.
 
39
  * Web browser with cookies enabled.
 
40
 
 
41
Introduction
 
42
 
 
43
phpMyAdmin can manage a whole MySQL server (needs a super-user) as well as a
 
44
single database. To accomplish the latter you'll need a properly set up MySQL
 
45
user who can read/write only the desired database. It's up to you to look up
 
46
the appropriate part in the MySQL manual.
 
47
 
 
48
Currently phpMyAdmin can:
 
49
 
 
50
  * browse and drop databases, tables, views, fields and indexes
 
51
  * create, copy, drop, rename and alter databases, tables, fields and indexes
 
52
  * maintenance server, databases and tables, with proposals on server
 
53
    configuration
 
54
  * execute, edit and bookmark any SQL-statement, even batch-queries
 
55
  * load text files into tables
 
56
  * create^1 and read dumps of tables
 
57
  * export^1 data to various formats: CSV, XML, PDF, ISO/IEC 26300 -
 
58
    OpenDocument Text and Spreadsheet, Word, Excel and L^AT[E]X formats
 
59
  * administer multiple servers
 
60
  * manage MySQL users and privileges
 
61
  * check referential integrity in MyISAM tables
 
62
  * using Query-by-example (QBE), create complex queries automatically
 
63
    connecting required tables
 
64
  * create PDF graphics of your Database layout
 
65
  * search globally in a database or a subset of it
 
66
  * transform stored data into any format using a set of predefined functions,
 
67
    like displaying BLOB-data as image or download-link
 
68
  * support InnoDB tables and foreign keys (see FAQ 3.6)
 
69
  * support mysqli, the improved MySQL extension (see FAQ 1.17)
 
70
  * communicate in 50 different languages
 
71
 
 
72
A word about users:
 
73
 
 
74
Many people have difficulty understanding the concept of user management with
 
75
regards to phpMyAdmin. When a user logs in to phpMyAdmin, that username and
 
76
password are passed directly to MySQL. phpMyAdmin does no account management on
 
77
its own (other than allowing one to manipulate the MySQL user account
 
78
information); all users must be valid MySQL users.
 
79
 
 
80
^1) phpMyAdmin can compress (Zip, GZip -RFC 1952- or Bzip2 formats) dumps and
 
81
CSV exports if you use PHP with Zlib support (--with-zlib) and/or Bzip2 support
 
82
(--with-bz2). Proper support may also need changes in php.ini.
 
83
 
 
84
Installation
 
85
 
 
86
 1. Quick Install
 
87
 2. Setup script usage
 
88
 3. Linked-tables infrastructure
 
89
 4. Upgrading from an older version
 
90
 5. Using authentication modes
 
91
 
 
92
phpMyAdmin does not apply any special security methods to the MySQL database
 
93
server. It is still the system administrator's job to grant permissions on the
 
94
MySQL databases properly. phpMyAdmin's "Privileges" page can be used for this.
 
95
 
 
96
Warning for Mac users:
 
97
if you are on a Mac OS version before OS X, StuffIt unstuffs with Mac formats.
 
98
So you'll have to resave as in BBEdit to Unix style ALL phpMyAdmin scripts
 
99
before uploading them to your server, as PHP seems not to like Mac-style end of
 
100
lines character ("\r").
 
101
 
 
102
Quick Install
 
103
 
 
104
 1. Choose an appropriate distribution kit from the phpmyadmin.net Downloads
 
105
    page. Some kits contain only the English messages, others contain all
 
106
    languages in UTF-8 format (this should be fine in most situations), others
 
107
    contain all languages and all character sets. We'll assume you chose a kit
 
108
    whose name looks like phpMyAdmin-x.x.x-all-languages.tar.gz.
 
109
 2. Untar or unzip the distribution (be sure to unzip the subdirectories): tar
 
110
    -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz in your webserver's document
 
111
    root. If you don't have direct access to your document root, put the files
 
112
    in a directory on your local machine, and, after step 4, transfer the
 
113
    directory on your web server using, for example, ftp.
 
114
 3. Ensure that all the scripts have the appropriate owner (if PHP is running
 
115
    in safe mode, having some scripts with an owner different from the owner of
 
116
    other scripts will be a problem). See FAQ 4.2 and FAQ 1.26 for suggestions.
 
117
 4. Now you must configure your installation. There are two methods that can be
 
118
    used. Traditionally, users have hand-edited a copy of config.inc.php, but
 
119
    now a wizard-style setup script is provided for those who prefer a
 
120
    graphical installation. Creating a config.inc.php is still a quick way to
 
121
    get started and needed for some advanced features.
 
122
      + To manually create the file, simply use your text editor to create the
 
123
        file config.inc.php (you can copy config.sample.inc.php to get minimal
 
124
        configuration file) in the main (top-level) phpMyAdmin directory (the
 
125
        one that contains index.php). phpMyAdmin first loads libraries/
 
126
        config.default.php and then overrides those values with anything found
 
127
        in config.inc.php. If the default value is okay for a particular
 
128
        setting, there is no need to include it in config.inc.php. You'll need
 
129
        a few directives to get going, a simple configuration may look like
 
130
        this:
 
131
 
 
132
        <?php
 
133
        $cfg['blowfish_secret'] = 'ba17c1ec07d65003';  // use here a value of your choice
 
134
 
 
135
        $i=0;
 
136
        $i++;
 
137
        $cfg['Servers'][$i]['auth_type']     = 'cookie';
 
138
        ?>
 
139
 
 
140
        Or, if you prefer to not be prompted every time you log in:
 
141
 
 
142
        <?php
 
143
 
 
144
        $i=0;
 
145
        $i++;
 
146
        $cfg['Servers'][$i]['user']          = 'root';
 
147
        $cfg['Servers'][$i]['password']      = 'cbb74bc'; // use here your password
 
148
        ?>
 
149
 
 
150
        For a full explanation of possible configuration values, see the
 
151
        Configuration Section of this document.
 
152
      + Instead of manually editing config.inc.php, you can use the Setup
 
153
        Script. First you must manually create a folder config in the
 
154
        phpMyAdmin directory. This is a security measure. On a Linux/Unix
 
155
        system you can use the following commands:
 
156
 
 
157
        cd phpMyAdmin
 
158
        mkdir config                        # create directory for saving
 
159
        chmod o+rw config                   # give it world writable permissions
 
160
 
 
161
        And to edit an existing configuration, copy it over first:
 
162
 
 
163
        cp config.inc.php config/           # copy current configuration for editing
 
164
        chmod o+w config/config.inc.php     # give it world writable permissions
 
165
 
 
166
        On other platforms, simply create the folder and ensure that your web
 
167
        server has read and write access to it. FAQ 1.26 can help with this.
 
168
 
 
169
        Next, open scripts/setup.php in your browser. Note that changes are not
 
170
        saved to disk until explicitly choose Save from the Configuration area
 
171
        of the screen. Normally the script saves the new config.inc.php to the
 
172
        config/ directory, but if the webserver does not have the proper
 
173
        permissions you may see the error "Cannot load or save configuration."
 
174
        Ensure that the config/ directory exists and has the proper permissions
 
175
        - or use the Download link to save the config file locally and upload
 
176
        (via FTP or some similar means) to the proper location.
 
177
 
 
178
        Once the file has been saved, it must be moved out of the config/
 
179
        directory and the permissions must be reset, again as a security
 
180
        measure:
 
181
 
 
182
        mv config/config.inc.php .         # move file to current directory
 
183
        chmod o-rw config.inc.php          # remove world read and write permissions
 
184
 
 
185
        Now the file is ready to be used. You can choose to review or edit the
 
186
        file with your favorite editor, if you prefer to set some advanced
 
187
        options which the setup script does not provide.
 
188
 5. If you are using the auth_type "config", it is suggested that you protect
 
189
    the phpMyAdmin installation directory because using config does not require
 
190
    a user to enter a password to access the phpMyAdmin installation. Use of an
 
191
    alternate authentication method is recommended, for example with HTTP?AUTH
 
192
    in a .htaccess file or switch to using auth_type cookie or http. See the
 
193
    multi?user sub?section of this FAQ for additional information, especially
 
194
    FAQ 4.4.
 
195
 6. Open the main phpMyAdmin directory in your browser. phpMyAdmin should now
 
196
    display a welcome screen and your databases, or a login dialog if using
 
197
    HTTP or cookie authentication mode.
 
198
 7. You should deny access to the ./libraries subfolder in your webserver
 
199
    configuration. For Apache you can use supplied .htaccess file in that
 
200
    folder, for other webservers, you should configure this yourself. Such
 
201
    configuration prevents from possible path exposure and cross side scripting
 
202
    vulnerabilities that might happen to be found in that code.
 
203
 
 
204
Linked-tables infrastructure
 
205
 
 
206
For a whole set of new features (bookmarks, comments, SQL-history,
 
207
PDF-generation, field contents transformation, etc.) you need to create a set
 
208
of special tables. Those tables can be located in your own database, or in a
 
209
central database for a multi-user installation (this database would then be
 
210
accessed by the controluser, so no other user should have rights to it).
 
211
 
 
212
Please look at your ./scripts/ directory, where you should find a file called
 
213
create_tables.sql. (If you are using a Windows server, pay special attention to
 
214
FAQ 1.23).
 
215
 
 
216
If your MySQL server's version is 4.1.2 or later, please use ./scripts/
 
217
create_tables_mysql_4_1_2+.sql instead, for a new installation.
 
218
 
 
219
If you already had this infrastructure and upgraded to MySQL 4.1.2 or later,
 
220
please use ./scripts/upgrade_tables_mysql_4_1_2+.sql.
 
221
 
 
222
You can use your phpMyAdmin to create the tables for you. Please be aware that
 
223
you may need special (administrator) privileges to create the database and
 
224
tables, and that the script may need some tuning, depending on the database
 
225
name.
 
226
 
 
227
After having imported the ./scripts/create_tables.sql file, you should specify
 
228
the table names in your ./config.inc.php file. The directives used for that can
 
229
be found in the Configuration section. You will also need to have a controluser
 
230
with the proper rights to those tables (see section Using authentication modes
 
231
below).
 
232
 
 
233
Upgrading from an older version
 
234
 
 
235
Simply copy ./config.inc.php from your previous installation into the newly
 
236
unpacked one. Configuration files from very old versions (2.3.0 or older) may
 
237
require some tweaking as some options have been changed or removed.
 
238
 
 
239
You should not copy libraries/config.default.php over config.inc.php because
 
240
the default configuration file is version-specific.
 
241
 
 
242
If you have upgraded your MySQL server from a version older than 4.1.2 to
 
243
version 4.1.2 or newer and if you use the pmadb/linked table infrastructure,
 
244
you should run the SQL script found in scripts/upgrade_tables_mysql_4_1_2+.sql.
 
245
 
 
246
Using authentication modes
 
247
 
 
248
  * HTTP and cookie authentication modes are recommended in a multi-user
 
249
    environment where you want to give users access to their own database and
 
250
    don't want them to play around with others.
 
251
    Nevertheless be aware that MS Internet Explorer seems to be really buggy
 
252
    about cookies, at least till version 6, and PHP 4.1.1 is also a bit buggy
 
253
    in this area!
 
254
    Even in a single-user environment, you might prefer to use HTTP or cookie
 
255
    mode so that your user/password pair are not in clear in the configuration
 
256
    file.
 
257
  * HTTP and cookie authentication modes are more secure: the MySQL login
 
258
    information does not need to be set in the phpMyAdmin configuration file
 
259
    (except possibly for the controluser).
 
260
    However, keep in mind that the password travels in plain text, unless you
 
261
    are using the HTTPS protocol.
 
262
    In cookie mode, the password is stored, encrypted with the blowfish
 
263
    algorithm, in a temporary cookie.
 
264
  * Note: starting with phpMyAdmin 2.6.1, this section is only applicable if
 
265
    your MySQL server is older than 4.1.2, or is running with
 
266
    --skip-show-database.
 
267
 
 
268
    For 'HTTP' and 'cookie' modes, phpMyAdmin needs a controluser that has only
 
269
    the SELECT privilege on the `mysql`.`user` (all columns except `Password`),
 
270
    `mysql`.`db` (all columns), `mysql`.`host` (all columns) and `mysql`.
 
271
    `tables_priv` (all columns except `Grantor` and `Timestamp`) tables.
 
272
    You must specify the details for the controluser in the config.inc.php file
 
273
    under the $cfg['Servers'][$i]['controluser'] and $cfg['Servers'][$i]
 
274
    ['controlpass'] settings.
 
275
    The following example assumes you want to use pma as the controluser and
 
276
    pmapass as the controlpass, but this is only an example: use something else
 
277
    in your file! Input these statements from the phpMyAdmin SQL Query window
 
278
    or mysql command?line client.
 
279
    Of course you have to replace localhost with the webserver's host if it's
 
280
    not the same as the MySQL server's one.
 
281
 
 
282
    GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
 
283
    GRANT SELECT (
 
284
        Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
 
285
        Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
 
286
        File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
 
287
        Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
 
288
        Execute_priv, Repl_slave_priv, Repl_client_priv
 
289
        ) ON mysql.user TO 'pma'@'localhost';
 
290
    GRANT SELECT ON mysql.db TO 'pma'@'localhost';
 
291
    GRANT SELECT ON mysql.host TO 'pma'@'localhost';
 
292
    GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
 
293
        ON mysql.tables_priv TO 'pma'@'localhost';
 
294
 
 
295
    If you are using an old MySQL version (below 4.0.2), please replace the
 
296
    first GRANT SELECT query by this one:
 
297
 
 
298
    GRANT SELECT (
 
299
        Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
 
300
        Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
 
301
        File_priv, Grant_priv, References_priv, Index_priv, Alter_priv
 
302
        ) ON mysql.user TO 'pma'@'localhost';
 
303
 
 
304
    ... and if you want to use the many new relation and bookmark features:
 
305
 
 
306
    GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';
 
307
 
 
308
    (this of course requires that your linked-tables infrastructure be set up).
 
309
    Of course, the above queries only work if your MySQL version supports the
 
310
    GRANT command. This is the case since 3.22.11.
 
311
  * Then each of the true users should be granted a set of privileges on a set
 
312
    of particular databases. Normally you shouldn't give global privileges to
 
313
    an ordinary user, unless you understand the impact of those privileges (for
 
314
    example, you are creating a superuser).
 
315
    For example, to grant the user real_user with all privileges on the
 
316
    database user_base:
 
317
 
 
318
    GRANT ALL PRIVILEGES ON user_base.* TO 'real_user'@localhost IDENTIFIED BY 'real_password';
 
319
 
 
320
    What the user may now do is controlled entirely by the MySQL user
 
321
    management system.
 
322
    With HTTP or cookie authentication mode, you don't need to fill the user/
 
323
    password fields inside the $cfg['Servers'] array.
 
324
 
 
325
'HTTP' authentication mode
 
326
 
 
327
  * Uses HTTP Basic authentication method and allows you to log in as any valid
 
328
    MySQL user.
 
329
  * Is supported with most PHP configurations. For IIS (ISAPI) support using
 
330
    CGI PHP see FAQ 1.32, for using with Apache CGI see FAQ 1.35.
 
331
  * See also FAQ 4.4 about not using the .htaccess mechanism along with 'HTTP'
 
332
    authentication mode.
 
333
 
 
334
'cookie' authentication mode
 
335
 
 
336
  * You can use this method as a replacement for the HTTP authentication (for
 
337
    example, if you're running IIS).
 
338
  * Obviously, the user must enable cookies in the browser, but this is now a
 
339
    requirement for all authentication modes.
 
340
  * With this mode, the user can truly log out of phpMyAdmin and log in back
 
341
    with the same username.
 
342
  * If you want to log in to arbitrary server see $cfg['AllowArbitraryServer']
 
343
    directive.
 
344
  * As mentioned in the requirements section, having the mcrypt extension will
 
345
    speed up access considerably, but is not required.
 
346
 
 
347
'config' authentication mode
 
348
 
 
349
  * This mode is the less secure one because it requires you to fill the $cfg
 
350
    ['Servers'][$i]['user'] and $cfg['Servers'][$i]['password'] fields (and as
 
351
    a result, anyone who can read your config.inc.php can discover your
 
352
    username and password).
 
353
    But you don't need to setup a "controluser" here: using the $cfg['Servers']
 
354
    [$i]['only_db'] might be enough.
 
355
  * In the ISP FAQ section, there is an entry explaining how to protect your
 
356
    configuration file.
 
357
  * For additional security in this mode, you may wish to consider the Host
 
358
    authentication $cfg['Servers'][$i]['AllowDeny']['order'] and $cfg
 
359
    ['Servers'][$i]['AllowDeny']['rules'] configuration directives.
 
360
  * Unlike cookie and http, does not require a user to log in when first
 
361
    loading the phpMyAdmin site. This is by design but could allow any user to
 
362
    access your installation. Use of some restriction method is suggested,
 
363
    perhaps a .htaccess file with the HTTP-AUTH directive or disallowing
 
364
    incoming HTTP requests at one?s router or firewall will suffice (both of
 
365
    which are beyond the scope of this manual but easily searchable with
 
366
    Google).
 
367
 
 
368
Configuration
 
369
 
 
370
Warning for Mac users: PHP does not seem to like Mac end of lines character ("\
 
371
r"). So ensure you choose the option that allows to use the *nix end of line
 
372
character ("\n") in your text editor before saving a script you have modified.
 
373
 
 
374
Configuration note: Almost all configurable data is placed in config.inc.php.
 
375
If this file does not exist, please refer to the Quick install section to
 
376
create one. This file only needs to contain the parameters you want to change
 
377
from their corresponding default value in libraries/config.default.php.
 
378
 
 
379
The parameters which relate to design (like colors) are placed in themes/
 
380
themename/layout.inc.php. You might also want to create config.footer.inc.php
 
381
and config.header.inc.php files to add your site specific code to be included
 
382
on start and end of each page.
 
383
 
 
384
$cfg['PmaAbsoluteUri'] string
 
385
    Sets here the complete URL (with full path) to your phpMyAdmin
 
386
    installation's directory. E.g. http://www.your_web.net/
 
387
    path_to_your_phpMyAdmin_directory/. Note also that the URL on some web
 
388
    servers are case?sensitive. Don?t forget the trailing slash at the end.
 
389
 
 
390
    Starting with version 2.3.0, it is advisable to try leaving this blank. In
 
391
    most cases phpMyAdmin automatically detects the proper setting. Users of
 
392
    port forwarding will need to set PmaAbsoluteUri (more info). A good test is
 
393
    to browse a table, edit a row and save it. There should be an error message
 
394
    if phpMyAdmin is having trouble auto?detecting the correct value. If you
 
395
    get an error that this must be set or if the autodetect code fails to
 
396
    detect your path, please post a bug report on our bug tracker so we can
 
397
    improve the code.
 
398
$cfg['PmaNoRelation_DisableWarning'] boolean
 
399
    Starting with version 2.3.0 phpMyAdmin offers a lot of features to work
 
400
    with master / foreign ? tables (see $cfg['Servers'][$i]['pmadb']).
 
401
    If you tried to set this up and it does not work for you, have a look on
 
402
    the "Structure" page of one database where you would like to use it. You
 
403
    will find a link that will analyze why those features have been disabled.
 
404
    If you do not want to use those features set this variable to TRUE to stop
 
405
    this message from appearing.
 
406
$cfg['blowfish_secret'] string
 
407
    The "cookie" auth_type uses blowfish algorithm to encrypt the password.
 
408
    If you are using the "cookie" auth_type, enter here a random passphrase of
 
409
    your choice. It will be used internally by the blowfish algorithm: you
 
410
    won?t be prompted for this passphrase. The maximum number of characters for
 
411
    this parameter seems to be 46.
 
412
$cfg['Servers'] array
 
413
    Since version 1.4.2, phpMyAdmin supports the administration of multiple
 
414
    MySQL servers. Therefore, a $cfg['Servers']-array has been added which
 
415
    contains the login information for the different servers. The first $cfg
 
416
    ['Servers'][$i]['host'] contains the hostname of the first server, the
 
417
    second $cfg['Servers'][$i]['host'] the hostname of the second server, etc.
 
418
    In ./libraries/config.default.php, there is only one section for server
 
419
    definition, however you can put as many as you need in ./config.inc.php,
 
420
    copy that block or needed parts (you don't have to define all settings,
 
421
    just those you need to change).
 
422
$cfg['Servers'][$i]['host'] string
 
423
    The hostname or IP address of your $i-th MySQL-server. E.g. localhost.
 
424
$cfg['Servers'][$i]['port'] string
 
425
    The port-number of your $i-th MySQL-server. Default is 3306 (leave blank).
 
426
    If you use "localhost" as the hostname, MySQL ignores this port number and
 
427
    connects with the socket, so if you want to connect to a port different
 
428
    from the default port, use "127.0.0.1" or the real hostname in $cfg
 
429
    ['Servers'][$i]['host'].
 
430
$cfg['Servers'][$i]['socket'] string
 
431
    The path to the socket to use. Leave blank for default.
 
432
    To determine the correct socket, check your MySQL configuration or, using
 
433
    the mysql command?line client, issue the status command. Among the
 
434
    resulting information displayed will be the socket used.
 
435
$cfg['Servers'][$i]['ssl'] boolean
 
436
    Whether to enable SSL for connection to MySQL server.
 
437
$cfg['Servers'][$i]['connect_type'] string
 
438
    What type connection to use with the MySQL server. Your options are
 
439
    'socket' and 'tcp'. It defaults to 'tcp' as that is nearly guaranteed to be
 
440
    available on all MySQL servers, while sockets are not supported on some
 
441
    platforms.
 
442
 
 
443
    To use the socket mode, your MySQL server must be on the same machine as
 
444
    the Web server.
 
445
$cfg['Servers'][$i]['extension'] string
 
446
    What php MySQL extension to use for the connection. Valid options are:
 
447
 
 
448
    mysql : The classic MySQL extension. This is the recommended and default
 
449
    method at this time.
 
450
 
 
451
    mysqli : The improved MySQL extension. This extension became available with
 
452
    php 5.0.0 and is the recommended way to connect to a server running MySQL
 
453
    4.1.x.
 
454
$cfg['Servers'][$i]['compress'] boolean
 
455
    Whether to use a compressed protocol for the MySQL server connection or not
 
456
    (experimental).
 
457
    This feature requires PHP >= 4.3.0.
 
458
$cfg['Servers'][$i]['controluser'] string
 
459
    $cfg['Servers'][$i]['controlpass'] string
 
460
    This special account is used for 2 distinct purposes: to make possible all
 
461
    relational features (see $cfg['Servers'][$i]['pmadb']) and, for a MySQL
 
462
    server older than 4.1.2 or running with --skip-show-database, to enable a
 
463
    multi-user installation (HTTP or cookie authentication mode).
 
464
 
 
465
    When using HTTP or cookie authentication modes (or 'config' authentication
 
466
    mode since phpMyAdmin 2.2.1), you need to supply the details of a MySQL
 
467
    account that has SELECT privilege on the mysql.user (all columns except
 
468
    "Password"), mysql.db (all columns) and mysql.tables_priv (all columns
 
469
    except "Grantor" and "Timestamp") tables. This account is used to check
 
470
    what databases the user will see at login.
 
471
    Please see the install section on "Using authentication modes" for more
 
472
    information.
 
473
 
 
474
    In phpMyAdmin versions before 2.2.5, those were called "stduser/stdpass".
 
475
$cfg['Servers'][$i]['auth_type'] string ['HTTP'|'http'|'cookie'|'config'|
 
476
    'signon']
 
477
    Whether config or cookie or HTTP or signon authentication should be used
 
478
    for this server.
 
479
      + 'config' authentication ($auth_type = 'config') is the plain old way:
 
480
        username and password are stored in config.inc.php.
 
481
      + 'cookie' authentication mode ($auth_type = 'cookie') as introduced in
 
482
        2.2.3 allows you to log in as any valid MySQL user with the help of
 
483
        cookies. Username and password are stored in cookies during the session
 
484
        and password is deleted when it ends. This can also allow you to log in
 
485
        in arbitrary server if $cfg['AllowArbitraryServer'] enabled.
 
486
      + 'HTTP' authentication (was called 'advanced' in older versions and can
 
487
        be written also as 'http') ($auth_type = 'HTTP') as introduced in 1.3.0
 
488
        allows you to log in as any valid MySQL user via HTTP-Auth.
 
489
      + 'signon' authentication mode ($auth_type = 'signon') as introduced in
 
490
        2.10.0 allows you to log in from prepared PHP session data. This is
 
491
        useful for implementing single signon from another application. Sample
 
492
        way how to seed session is in signon example: scripts/signon.php. You
 
493
        need to configure session name and signon URL to use this
 
494
        authentication method.
 
495
    Please see the install section on "Using authentication modes" for more
 
496
    information.
 
497
$cfg['Servers'][$i]['user'] string
 
498
    $cfg['Servers'][$i]['password'] string
 
499
    When using auth_type = 'config', this is the user/password-pair which
 
500
    phpMyAdmin will use to connect to the MySQL server. This user/password pair
 
501
    is not needed when HTTP or cookie authentication is used and should be
 
502
    empty.
 
503
$cfg['Servers'][$i]['nopassword'] boolean
 
504
    Allow attempt to log in without password when a login with password fails.
 
505
    This can be used together with http authentication, when authentication is
 
506
    done some other way and phpMyAdmin gets user name from auth and uses empty
 
507
    password for connecting to MySQL. Password login is still tried first, but
 
508
    as fallback, no password method is tried.
 
509
$cfg['Servers'][$i]['only_db'] string or array
 
510
    If set to a (an array of) database name(s), only this (these) database(s)
 
511
    will be shown to the user. Since phpMyAdmin 2.2.1, this/these database(s)
 
512
    name(s) may contain MySQL wildcards characters ("_" and "%"): if you want
 
513
    to use literal instances of these characters, escape them (I.E. use 'my\
 
514
    _db' and not 'my_db').
 
515
    This setting is an efficient way to lower the server load since the latter
 
516
    does not need to send MySQL requests to build the available database list.
 
517
    But it does not replace the privileges rules of the MySQL database server.
 
518
    If set, it just means only these databases will be displayed but not that
 
519
    all other databases can't be used.
 
520
 
 
521
    An example of using more that one database: $cfg['Servers'][$i]['only_db']
 
522
    = array('db1', 'db2');
 
523
 
 
524
    As of phpMyAdmin 2.5.5 the order inside the array is used for sorting the
 
525
    databases in the left frame, so that you can individually arrange your
 
526
    databases.
 
527
    If you want to have certain databases at the top, but don't care about the
 
528
    others, you do not need to specify all other databases. Use: $cfg
 
529
    ['Servers'][$i]['only_db'] = array('db3', 'db4', '*'); instead to tell
 
530
    phpMyAdmin that it should display db3 and db4 on top, and the rest in
 
531
    alphabetic order.
 
532
$cfg['Servers'][$i]['hide_db'] string
 
533
    Regular expression for hiding some databases. This only hides them from
 
534
    listing, but a user is still able to access them (using, for example, the
 
535
    SQL query area). To limit access, use the MySQL privilege system.
 
536
 
 
537
    For example, to hide all databases starting with the letter "a", use
 
538
 
 
539
    $cfg['Servers'][$i]['hide_db'] = '^a';
 
540
 
 
541
    and to hide both "db1" and "db2" use
 
542
 
 
543
    $cfg['Servers'][$i]['hide_db'] = '(db1|db2)';
 
544
 
 
545
    More information on regular expressions can be found in the PCRE pattern
 
546
    syntax portion of the PHP reference manual.
 
547
$cfg['Servers'][$i]['verbose'] string
 
548
    Only useful when using phpMyAdmin with multiple server entries. If set,
 
549
    this string will be displayed instead of the hostname in the pull-down menu
 
550
    on the main page. This can be useful if you want to show only certain
 
551
    databases on your system, for example.
 
552
$cfg['Servers'][$i]['pmadb'] string
 
553
    The name of the database containing the linked-tables infrastructure.
 
554
 
 
555
    See the Linked-tables infrastructure section in this document to see the
 
556
    benefits of this infrastructure, and for a quick way of creating this
 
557
    database and the needed tables.
 
558
 
 
559
    If you are the only user of this phpMyAdmin installation, you can use your
 
560
    current database to store those special tables; in this case, just put your
 
561
    current database name in $cfg['Servers'][$i]['pmadb']. For a multi-user
 
562
    installation, set this parameter to the name of your central database
 
563
    containing the linked-tables infrastructure.
 
564
$cfg['Servers'][$i]['bookmarktable'] string
 
565
    Since release 2.2.0 phpMyAdmin allows users to bookmark queries. This can
 
566
    be useful for queries you often run.
 
567
 
 
568
    To allow the usage of this functionality:
 
569
      + set up pmadb and the linked-tables infrastructure
 
570
      + enter the table name in $cfg['Servers'][$i]['bookmarktable']
 
571
$cfg['Servers'][$i]['relation'] string
 
572
    Since release 2.2.4 you can describe, in a special 'relation' table, which
 
573
    field is a key in another table (a foreign key). phpMyAdmin currently uses
 
574
    this to
 
575
      + make clickable, when you browse the master table, the data values that
 
576
        point to the foreign table;
 
577
      + display in an optional tool-tip the "display field" when browsing the
 
578
        master table, if you move the mouse to a column containing a foreign
 
579
        key (use also the 'table_info' table);
 
580
        (see FAQ 6.7)
 
581
      + in edit/insert mode, display a drop-down list of possible foreign keys
 
582
        (key value and "display field" are shown)
 
583
        (see FAQ 6.21)
 
584
      + display links on the table properties page, to check referential
 
585
        integrity (display missing foreign keys) for each described key;
 
586
      + in query-by-example, create automatic joins (see FAQ 6.6)
 
587
      + enable you to get a PDF schema of your database (also uses the
 
588
        table_coords table).
 
589
    The keys can be numeric or character.
 
590
 
 
591
    To allow the usage of this functionality:
 
592
      + set up pmadb and the linked-tables infrastructure
 
593
      + put the relation table name in $cfg['Servers'][$i]['relation']
 
594
      + now as normal user open phpMyAdmin and for each one of your tables
 
595
        where you want to use this feature, click "Structure/Relation view/"
 
596
        and choose foreign fields.
 
597
    Please note that in the current version, master_db must be the same as
 
598
    foreign_db. Those fields have been put in future development of the
 
599
    cross-db relations.
 
600
$cfg['Servers'][$i]['table_info'] string
 
601
    Since release 2.3.0 you can describe, in a special 'table_info' table,
 
602
    which field is to be displayed as a tool-tip when moving the cursor over
 
603
    the corresponding key.
 
604
    This configuration variable will hold the name of this special table. To
 
605
    allow the usage of this functionality:
 
606
      + set up pmadb and the linked-tables infrastructure
 
607
      + put the table name in $cfg['Servers'][$i]['table_info']
 
608
      + then for each table where you want to use this feature, click
 
609
        "Structure/Relation view/Choose field to display" to choose the field.
 
610
    Usage tip: Display field.
 
611
$cfg['Servers'][$i]['table_coords'] string
 
612
    $cfg['Servers'][$i]['pdf_pages'] string
 
613
    Since release 2.3.0 you can have phpMyAdmin create PDF pages showing the
 
614
    relations between your tables. To do this it needs two tables "pdf_pages"
 
615
    (storing information about the available PDF pages) and "table_coords"
 
616
    (storing coordinates where each table will be placed on a PDF schema
 
617
    output).
 
618
 
 
619
    You must be using the "relation" feature.
 
620
 
 
621
    To allow the usage of this functionality:
 
622
      + set up pmadb and the linked-tables infrastructure
 
623
      + put the correct table names in $cfg['Servers'][$i]['table_coords'] and
 
624
        $cfg['Servers'][$i]['pdf_pages']
 
625
    Usage tips: PDF output.
 
626
$cfg['Servers'][$i]['column_info'] string
 
627
    Since release 2.3.0 you can store comments to describe each column for each
 
628
    table. These will then be shown on the "printview".
 
629
 
 
630
    Starting with release 2.5.0, comments are consequently used on the table
 
631
    property pages and table browse view, showing up as tool-tips above the
 
632
    column name (properties page) or embedded within the header of table in
 
633
    browse view. They can also be shown in a table dump. Please see the
 
634
    relevant configuration directives later on.
 
635
 
 
636
    Also new in release 2.5.0 is a MIME-transformation system which is also
 
637
    based on the following table structure. See Transformations for further
 
638
    information. To use the MIME-transformation system, your column_info table
 
639
    has to have the three new fields 'mimetype', 'transformation',
 
640
    'transformation_options'.
 
641
 
 
642
    To allow the usage of this functionality:
 
643
      + set up pmadb and the linked-tables infrastructure
 
644
      + put the table name in $cfg['Servers'][$i]['column_info']
 
645
      + to update your PRE-2.5.0 Column_comments Table use this:
 
646
 
 
647
        ALTER TABLE `pma_column_comments`
 
648
            ADD `mimetype` VARCHAR( 255 ) NOT NULL,
 
649
            ADD `transformation` VARCHAR( 255 ) NOT NULL,
 
650
            ADD `transformation_options` VARCHAR( 255 ) NOT NULL;
 
651
 
 
652
        and remember that the Variable in config.inc.php has been renamed from
 
653
        $cfg['Servers'][$i]['column_comments'] to $cfg['Servers'][$i]
 
654
        ['column_info']
 
655
$cfg['Servers'][$i]['history'] string
 
656
    Since release 2.5.0 you can store your SQL history, which means all queries
 
657
    you entered manually into the phpMyAdmin interface. If you don't want to
 
658
    use a table-based history, you can use the JavaScript-based history. Using
 
659
    that, all your history items are deleted when closing the window.
 
660
 
 
661
    Using $cfg['QueryHistoryMax'] you can specify an amount of history items
 
662
    you want to have on hold. On every login, this list gets cut to the maximum
 
663
    amount.
 
664
 
 
665
    The query history is only available if JavaScript is enabled in your
 
666
    browser.
 
667
 
 
668
    To allow the usage of this functionality:
 
669
      + set up pmadb and the linked-tables infrastructure
 
670
      + put the table name in $cfg['Servers'][$i]['history']
 
671
$cfg['Servers'][$i]['designer_coords'] string
 
672
    Since release 2.10.0 a Designer interface is available; it permits to
 
673
    visually manage the relations.
 
674
 
 
675
    To allow the usage of this functionality:
 
676
      + set up pmadb and the linked-tables infrastructure
 
677
      + put the table name in $cfg['Servers'][$i]['designer_coords']
 
678
$cfg['Servers'][$i]['verbose_check'] boolean
 
679
    Because release 2.5.0 introduced the new MIME-transformation support, the
 
680
    column_info table got enhanced with three new fields. If the above variable
 
681
    is set to TRUE (default) phpMyAdmin will check if you have the latest table
 
682
    structure available. If not, it will emit a warning to the superuser.
 
683
 
 
684
    You can disable this checking behavior by setting the variable to false,
 
685
    which should offer a performance increase.
 
686
 
 
687
    Recommended to set to FALSE, when you are sure, your table structure is up
 
688
    to date.
 
689
$cfg['Servers'][$i]['AllowRoot'] boolean
 
690
    Whether to allow root access. This is just simplification of rules below.
 
691
$cfg['Servers'][$i]['AllowDeny']['order'] string
 
692
    If your rule order is empty, then IP authentication is disabled.
 
693
 
 
694
    If your rule order is set to 'deny,allow' then the system applies all deny
 
695
    rules followed by allow rules. Access is allowed by default. Any client
 
696
    which does not match a Deny command or does match an Allow command will be
 
697
    allowed access to the server.
 
698
 
 
699
    If your rule order is set to 'allow,deny' then the system applies all allow
 
700
    rules followed by deny rules. Access is denied by default. Any client which
 
701
    does not match an Allow directive or does match a Deny directive will be
 
702
    denied access to the server.
 
703
 
 
704
    If your rule order is set to 'explicit', the authentication is performed in
 
705
    a similar fashion to rule order 'deny,allow', with the added restriction
 
706
    that your host/username combination must be listed in the allow rules, and
 
707
    not listed in the deny rules. This is the most secure means of using Allow/
 
708
    Deny rules, and was available in Apache by specifying allow and deny rules
 
709
    without setting any order.
 
710
 
 
711
    Please also see $cfg['TrustedProxies'] for detecting IP address behind
 
712
    proxies.
 
713
$cfg['Servers'][$i]['AllowDeny']['rules'] array of strings
 
714
    The general format for the rules is as such:
 
715
 
 
716
    <'allow' | 'deny'> <username> [from] <ipmask>
 
717
 
 
718
    If you wish to match all users, it is possible to use a '%' as a wildcard
 
719
    in the username field.
 
720
    There are a few shortcuts you can use in the ipmask field as well (please
 
721
    note that those containing SERVER_ADDRESS might not be available on all
 
722
    webservers):
 
723
 
 
724
    'all' -> 0.0.0.0/0
 
725
    'localhost' -> 127.0.0.1/8
 
726
    'localnetA' -> SERVER_ADDRESS/8
 
727
    'localnetB' -> SERVER_ADDRESS/16
 
728
    'localnetC' -> SERVER_ADDRESS/24
 
729
 
 
730
    Having an empty rule list is equivalent to either using 'allow % from all'
 
731
    if your rule order is set to 'deny,allow' or 'deny % from all' if your rule
 
732
    order is set to 'allow,deny' or 'explicit'.
 
733
 
 
734
    For the IP matching system, the following work:
 
735
    xxx.xxx.xxx.xxx (an exact IP address)
 
736
    xxx.xxx.xxx.[yyy-zzz] (an IP address range)
 
737
    xxx.xxx.xxx.xxx/nn (CIDR, Classless Inter-Domain Routing type IP addresses)
 
738
    But the following does not work:
 
739
    xxx.xxx.xxx.xx[yyy-zzz] (partial IP address range)
 
740
$cfg['Servers'][$i]['SignonSession'] string
 
741
    Name of session which will be used for signon authentication method.
 
742
$cfg['Servers'][$i]['SignonURL'] string
 
743
    URL where user will be redirected to log in for signon authentication
 
744
    method. Should be absolute including protocol.
 
745
$cfg['Servers'][$i]['LogoutURL'] string
 
746
    URL where user will be redirected after logout (doesn't affect config
 
747
    authentication method). Should be absolute including protocol.
 
748
$cfg['ServerDefault'] integer
 
749
    If you have more than one server configured, you can set $cfg
 
750
    ['ServerDefault'] to any one of them to autoconnect to that server when
 
751
    phpMyAdmin is started, or set it to 0 to be given a list of servers without
 
752
    logging in.
 
753
    If you have only one server configured, $cfg['ServerDefault'] MUST be set
 
754
    to that server.
 
755
$cfg['OBGzip'] string/boolean
 
756
    Defines whether to use GZip output buffering for increased speed in HTTP
 
757
    transfers.
 
758
    Set to true/false for enabling/disabling. When set to 'auto' (string),
 
759
    phpMyAdmin tries to enable output buffering and will automatically disable
 
760
    it if your browser has some problems with buffering. IE6 with a certain
 
761
    patch is known to cause data corruption when having enabled buffering.
 
762
$cfg['PersistentConnections'] boolean
 
763
    Whether persistent connections should be used or not (mysql_connect or
 
764
    mysql_pconnect).
 
765
$cfg['ForceSSL'] boolean
 
766
    Whether to force using https while accessing phpMyAdmin.
 
767
$cfg['ExecTimeLimit'] integer [number of seconds]
 
768
    Set the number of seconds a script is allowed to run. If seconds is set to
 
769
    zero, no time limit is imposed.
 
770
    This setting is used while importing/exporting dump files but has no effect
 
771
    when PHP is running in safe mode.
 
772
$cfg['MemoryLimit'] integer [number of bytes]
 
773
    Set the number of bytes a script is allowed to allocate. If number set to
 
774
    zero, no limit is imposed.
 
775
    This setting is used while importing/exporting dump files but has no effect
 
776
    when PHP is running in safe mode.
 
777
    You can also use any string as in php.ini, eg. '16M'.
 
778
$cfg['SkipLockedTables'] boolean
 
779
    Mark used tables and make it possible to show databases with locked tables
 
780
    (since MySQL 3.23.30).
 
781
$cfg['ShowSQL'] boolean
 
782
    Defines whether SQL queries generated by phpMyAdmin should be displayed or
 
783
    not.
 
784
$cfg['AllowUserDropDatabase'] boolean
 
785
    Defines whether normal users (non-administrator) are allowed to delete
 
786
    their own database or not. If set as FALSE, the link "Drop Database" will
 
787
    not be shown, and even a "DROP DATABASE mydatabase" will be rejected. Quite
 
788
    practical for ISP's with many customers.
 
789
    Please note that this limitation of SQL queries is not as strict as when
 
790
    using MySQL privileges. This is due to nature of SQL queries which might be
 
791
    quite complicated. So this choice should be viewed as help to avoid
 
792
    accidental dropping rather than strict privilege limitation.
 
793
$cfg['Confirm'] boolean
 
794
    Whether a warning ("Are your really sure...") should be displayed when
 
795
    you're about to lose data.
 
796
$cfg['LoginCookieRecall'] boolean
 
797
    Define whether the previous login should be recalled or not in cookie
 
798
    authentication mode.
 
799
$cfg['LoginCookieValidity'] integer [number of seconds]
 
800
    Define how long is login cookie valid.
 
801
$cfg['LoginCookieStore'] integer [number of seconds]
 
802
    Define how long is login cookie should be stored in browser. Default 0
 
803
    means that it will be kept for existing session. This is recommended for
 
804
    not trusted environments.
 
805
$cfg['LoginCookieDeleteAll'] boolean
 
806
    If enabled (default), logout deletes cookies for all servers, otherwise
 
807
    only for current one. Setting this to false makes it easy to forget to log
 
808
    out from other server, when you are using more of them.
 
809
$cfg['UseDbSearch'] boolean
 
810
    Define whether the "search string inside database" is enabled or not.
 
811
$cfg['IgnoreMultiSubmitErrors'] boolean
 
812
    Define whether phpMyAdmin will continue executing a multi-query statement
 
813
    if one of the queries fails. Default is to abort execution.
 
814
$cfg['VerboseMultiSubmit'] boolean
 
815
    Define whether phpMyAdmin will output the results of each query of a
 
816
    multi-query statement embedded into the SQL output as inline comments.
 
817
    Defaults to TRUE.
 
818
$cfg['AllowArbitraryServer'] boolean
 
819
    If enabled allows you to log in to arbitrary servers using cookie auth.
 
820
 
 
821
    NOTE: Please use this carefully, as this may allow users access to MySQL
 
822
    servers behind the firewall where your HTTP server is placed.
 
823
$cfg['LeftFrameLight'] boolean
 
824
    Defines whether to use a select-based menu and display only the current
 
825
    tables in the left frame (smaller page). Only in Non-Lightmode you can use
 
826
    the feature to display nested folders using $cfg['LeftFrameTableSeparator']
 
827
$cfg['LeftFrameDBTree'] boolean
 
828
    In light mode, defines whether to display the names of databases (in the
 
829
    selector) using a tree, see also $cfg['LeftFrameDBSeparator'].
 
830
$cfg['LeftFrameDBSeparator'] string
 
831
    The string used to separate the parts of the database name when showing
 
832
    them in a tree.
 
833
$cfg['LeftFrameTableSeparator'] string
 
834
    Defines a string to be used to nest table spaces. Defaults to '__'. This
 
835
    means if you have tables like 'first__second__third' this will be shown as
 
836
    a three-level hierarchy like: first > second > third. If set to FALSE or
 
837
    empty, the feature is disabled. NOTE: You should not use this separator at
 
838
    the beginning or end of a table name or multiple times after another
 
839
    without any other characters in between.
 
840
$cfg['LeftFrameTableLevel'] string
 
841
    Defines how many sublevels should be displayed when splitting up tables by
 
842
    the above separator.
 
843
$cfg['ShowTooltip'] boolean
 
844
    Defines whether to display table comment as tool-tip in left frame or not.
 
845
$cfg['ShowTooltipAliasDB'] boolean
 
846
    If tool-tips are enabled and a DB comment is set, this will flip the
 
847
    comment and the real name. That means that if you have a table called
 
848
    'user0001' and add the comment 'MyName' on it, you will see the name
 
849
    'MyName' used consequently in the left frame and the tool-tip shows the
 
850
    real name of the DB.
 
851
$cfg['ShowTooltipAliasTB'] boolean/string
 
852
    Same as $cfg['ShowTooltipAliasDB'], except this works for table names. When
 
853
    setting this to 'nested', the Alias of the Tablename is only used to split/
 
854
    nest the tables according to the $cfg['LeftFrameTableSeparator'] directive.
 
855
    So only the folder is called like the Alias, the tablename itself stays the
 
856
    real tablename.
 
857
$cfg['LeftDisplayLogo'] boolean
 
858
    Defines whether or not to display the phpMyAdmin logo at the top of the
 
859
    left frame. Defaults to TRUE.
 
860
$cfg['LeftLogoLink'] string
 
861
    Enter URL where logo in the navigation frame will point to. For use
 
862
    especially with self made theme which changes this. The default value for
 
863
    this is main.php.
 
864
$cfg['LeftLogoLinkWindow'] string
 
865
    Whether to open the linked page in the main window (main) or in a new one
 
866
    (new).
 
867
$cfg['LeftDisplayServers'] boolean
 
868
    Defines whether or not to display a server choice at the top of the left
 
869
    frame. Defaults to FALSE.
 
870
$cfg['DisplayServersList'] boolean
 
871
    Defines whether to display this server choice as links instead of in a
 
872
    drop-down. Defaults to FALSE (drop-down).
 
873
$cfg['DisplayDatabasesList'] boolean
 
874
    Defines whether to display database choice in light navigation frame as
 
875
    links instead of in a drop-down. Defaults to FALSE (drop-down).
 
876
$cfg['ShowStats'] boolean
 
877
    Defines whether or not to display space usage and statistics about
 
878
    databases and tables.
 
879
    Note that statistics requires at least MySQL 3.23.3 and that, at this date,
 
880
    MySQL doesn't return such information for Berkeley DB tables.
 
881
$cfg['ShowServerInfo'] boolean
 
882
    Defines whether to display detailed server information on main page. You
 
883
    can additionally hide more information by using $cfg['Servers'][$i]
 
884
    ['verbose'].
 
885
$cfg['ShowPhpInfo'] boolean
 
886
    $cfg['ShowChgPassword'] boolean
 
887
    $cfg['ShowCreateDb'] boolean
 
888
    Defines whether to display the "PHP information" and "Change password "
 
889
    links and form for creating database or not at the starting main (right)
 
890
    frame. This setting does not check MySQL commands entered directly.
 
891
 
 
892
    Please note that to block the usage of phpinfo() in scripts, you have to
 
893
    put this in your php.ini:
 
894
 
 
895
    disable_functions = phpinfo()
 
896
 
 
897
    Also note that enabling the "Change password " link has no effect with
 
898
    "config" authentication mode: because of the hard coded password value in
 
899
    the configuration file, end users can't be allowed to change their
 
900
    passwords.
 
901
$cfg['SuggestDBName'] boolean
 
902
    Defines whether to suggest a database name on the "Create Database" form or
 
903
    to keep the textfield empty.
 
904
$cfg['ShowBlob'] boolean
 
905
    Defines whether or not BLOB fields are shown when browsing a table's
 
906
    content.
 
907
$cfg['NavigationBarIconic'] string
 
908
    Defines whether navigation bar buttons and the right panel top menu contain
 
909
    text or symbols only. A value of TRUE displays icons, FALSE displays text
 
910
    and 'both' displays both icons and text.
 
911
$cfg['ShowAll'] boolean
 
912
    Defines whether a user should be displayed a "show all (records)" button in
 
913
    browse mode or not.
 
914
$cfg['MaxRows'] integer
 
915
    Number of rows displayed when browsing a result set. If the result set
 
916
    contains more rows, "Previous" and "Next" links will be shown.
 
917
$cfg['Order'] string [DESC|ASC|SMART]
 
918
    Defines whether fields are displayed in ascending (ASC) order, in
 
919
    descending (DESC) order or in a "smart" (SMART) order - I.E. descending
 
920
    order for fields of type TIME, DATE, DATETIME and TIMESTAMP, ascending
 
921
    order else- by default.
 
922
$cfg['ProtectBinary'] boolean or string
 
923
    Defines whether BLOB or BINARY fields are protected from editing when
 
924
    browsing a table's content. Valid values are:
 
925
      + FALSE to allow editing of all fields;
 
926
      + 'blob' to allow editing of all fields except BLOBS;
 
927
      + 'all' to disallow editing of all BINARY or BLOB fields.
 
928
$cfg['ShowFunctionFields'] boolean
 
929
    Defines whether or not MySQL functions fields should be initially displayed
 
930
    in edit/insert mode. Since version 2.10, the user can toggle this setting
 
931
    from the interface.
 
932
$cfg['CharEditing'] string
 
933
    Defines which type of editing controls should be used for CHAR and VARCHAR
 
934
    fields. Possible values are:
 
935
      + input - this allows to limit size of text to size of field in MySQL,
 
936
        but has problems with newlines in fields
 
937
      + textarea - no problems with newlines in fields, but also no length
 
938
        limitations
 
939
    Default is old behavior so input.
 
940
$cfg['InsertRows'] integer
 
941
    Defines the maximum number of concurrent entries for the Insert page.
 
942
$cfg['ForeignKeyMaxLimit'] integer
 
943
    If there are fewer items than this in the set of foreign keys, then a
 
944
    drop-down box of foreign keys is presented, in the style described by the
 
945
    $cfg['ForeignKeyDropdownOrder'] setting.
 
946
$cfg['ForeignKeyDropdownOrder'] array
 
947
    For the foreign key drop-down fields, there are several methods of display,
 
948
    offering both the key and value data. The contents of the array should be
 
949
    one or both of the following strings: 'content-id', 'id-content'.
 
950
$cfg['ZipDump'] boolean
 
951
    $cfg['GZipDump'] boolean
 
952
    $cfg['BZipDump'] boolean
 
953
    Defines whether to allow the use of zip/GZip/BZip2 compression when
 
954
    creating a dump file
 
955
$cfg['CompressOnFly'] boolean
 
956
    Defines whether to allow on the fly compression for GZip/BZip2 compressed
 
957
    exports. This doesn't affect smaller dumps and allows users to create
 
958
    larger dumps that won't otherwise fit in memory due to php memory limit.
 
959
    Produced files contain more GZip/BZip2 headers, but all normal programs
 
960
    handle this correctly.
 
961
$cfg['LightTabs'] boolean
 
962
    If set to TRUE, use less graphically intense tabs on the top of the
 
963
    mainframe.
 
964
$cfg['PropertiesIconic'] string
 
965
    If set to TRUE, will display icons instead of text for db and table
 
966
    properties links (like 'Browse', 'Select', 'Insert', ...).
 
967
    Can be set to 'both' if you want icons AND text.
 
968
    When set to FALSE, will only show text.
 
969
$cfg['PropertiesNumColumns'] integer
 
970
    How many columns will be utilized to display the tables on the database
 
971
    property view? Default is 1 column. When setting this to a value larger
 
972
    than 1, the type of the database will be omitted for more display space.
 
973
$cfg['DefaultTabServer'] string
 
974
    Defines the tab displayed by default on server view. Possible values:
 
975
    "main.php" (recommended for multi-user setups), "server_databases.php",
 
976
    "server_status.php", "server_variables.php", "server_privileges.php" or
 
977
    "server_processlist.php".
 
978
$cfg['DefaultTabDatabase'] string
 
979
    Defines the tab displayed by default on database view. Possible values:
 
980
    "db_structure.php", "db_sql.php" or "db_search.php".
 
981
$cfg['DefaultTabTable'] string
 
982
    Defines the tab displayed by default on table view. Possible values:
 
983
    "tbl_structure.php", "tbl_sql.php", "tbl_select.php", "tbl_change.php" or
 
984
    "sql.php".
 
985
$cfg['MySQLManualBase'] string
 
986
    If set to an URL which points to the MySQL documentation (type depends on
 
987
    $cfg['MySQLManualType']), appropriate help links are generated.
 
988
    See MySQL Documentation page for more information about MySQL manuals and
 
989
    their types.
 
990
$cfg['MySQLManualType'] string
 
991
    Type of MySQL documentation:
 
992
      + viewable - "viewable online", current one used on MySQL website
 
993
      + searchable - "Searchable, with user comments"
 
994
      + chapters - "HTML, one page per chapter"
 
995
      + big - "HTML, all on one page"
 
996
      + none - do not show documentation links
 
997
$cfg['DefaultLang'] string
 
998
    Defines the default language to use, if not browser-defined or
 
999
    user-defined.
 
1000
    See the select_lang.lib.php script to know the valid values for this
 
1001
    setting.
 
1002
$cfg['DefaultConnectionCollation'] string
 
1003
    Defines the default connection collation to use, if not user-defined.
 
1004
    See the MySQL documentation for list of possible values.
 
1005
$cfg['Lang'] string
 
1006
    Force: always use this language (must be defined in the select_lang.lib.php
 
1007
    script).
 
1008
$cfg['FilterLanguages'] string
 
1009
    Limit list of available languages to those matching the given regular
 
1010
    expression. For example if you want only Czech and English, you should set
 
1011
    filter to '^(cs|en)'.
 
1012
$cfg['DefaultCharset'] string
 
1013
    Default character set to use for recoding of MySQL queries. This must be
 
1014
    enabled and it's described by $cfg['AllowAnywhereRecoding'] option.
 
1015
    You can give here any character set which is in $cfg['AvailableCharsets']
 
1016
    array and this is just default choice, user can select any of them.
 
1017
$cfg['AllowAnywhereRecoding'] boolean
 
1018
    Allow character set recoding of MySQL queries. You need recode or iconv
 
1019
    support (compiled in or module) in PHP to allow MySQL queries recoding and
 
1020
    used language file must have it enabled (by default only these which are in
 
1021
    Unicode, just to avoid losing some characters).
 
1022
 
 
1023
    Setting this to TRUE also activates a pull-down menu in the Export page, to
 
1024
    choose the character set when exporting a file.
 
1025
$cfg['RecodingEngine'] string
 
1026
    You can select here which functions will be used for character set
 
1027
    conversion. Possible values are:
 
1028
      + auto - automatically use available one (first is tested iconv, then
 
1029
        recode)
 
1030
      + iconv - use iconv or libiconv functions
 
1031
      + recode - use recode_string function
 
1032
    Default is auto.
 
1033
$cfg['IconvExtraParams'] string
 
1034
    Specify some parameters for iconv used in charset conversion. See iconv
 
1035
    documentation for details. By default //TRANSLIT is used, so that invalid
 
1036
    characters will be transliterated.
 
1037
$cfg['AvailableCharsets'] array
 
1038
    Available character sets for MySQL conversion. You can add your own (any of
 
1039
    supported by recode/iconv) or remove these which you don't use. Character
 
1040
    sets will be shown in same order as here listed, so if you frequently use
 
1041
    some of these move them to the top.
 
1042
$cfg['TrustedProxies'] array
 
1043
    Lists proxies and HTTP headers which are trusted for IP Allow/Deny. This
 
1044
    list is by default empty, you need to fill in some trusted proxy servers if
 
1045
    you want to use rules for IP addresses behind proxy.
 
1046
 
 
1047
    The following example specifies that phpMyAdmin should trust a
 
1048
    HTTP_X_FORWARDED_FOR (X-Forwarded-For) header coming from the proxy
 
1049
    1.2.3.4:
 
1050
 
 
1051
    $cfg['TrustedProxies'] =
 
1052
         array('1.2.3.4' => 'HTTP_X_FORWARDED_FOR');
 
1053
 
 
1054
    The $cfg['Servers'][$i]['AllowDeny']['rules'] directive uses the client's
 
1055
    IP address as usual.
 
1056
$cfg['GD2Available'] string
 
1057
    Specifies whether GD >= 2 is available. If yes it can be used for MIME
 
1058
    transformations.
 
1059
    Possible values are:
 
1060
      + auto - automatically detect, this is a bit expensive operation for php
 
1061
        < 4.3.0 so it is preferred to change this according to your server real
 
1062
        possibilities
 
1063
      + yes - GD 2 functions can be used
 
1064
      + no - GD 2 function cannot be used
 
1065
    Default is auto.
 
1066
$cfg['NaviWidth'] integer
 
1067
    Navi frame width in pixels. See themes/themename/layout.inc.php.
 
1068
$cfg['NaviBackground'] string [valid css code for background]
 
1069
    $cfg['MainBackground'] string [valid css code for background]
 
1070
    The background styles used for both the frames. See themes/themename/
 
1071
    layout.inc.php.
 
1072
$cfg['NaviPointerBackground'] string [valid css code for background]
 
1073
    $cfg['NaviPointerColor'] string [valid css color]
 
1074
    The style used for the pointer in the navi frame. See themes/themename/
 
1075
    layout.inc.php.
 
1076
$cfg['LeftPointerEnable'] boolean
 
1077
    A value of TRUE activates the navi pointer (when LeftFrameLight is FALSE).
 
1078
$cfg['Border'] integer
 
1079
    The size of a table's border. See themes/themename/layout.inc.php.
 
1080
$cfg['ThBackground'] string [valid css code for background]
 
1081
    $cfg['ThColor'] string [valid css color]
 
1082
    The style used for table headers. See themes/themename/layout.inc.php.
 
1083
$cfg['BgOne'] string [HTML color]
 
1084
    The color (HTML) #1 for table rows. See themes/themename/layout.inc.php.
 
1085
$cfg['BgTwo'] string [HTML color]
 
1086
    The color (HTML) #2 for table rows. See themes/themename/layout.inc.php.
 
1087
$cfg['BrowsePointerBackground'] string [HTML color]
 
1088
    $cfg['BrowsePointerColor'] string [HTML color]
 
1089
    $cfg['BrowseMarkerBackground'] string [HTML color]
 
1090
    $cfg['BrowseMarkerColor'] string [HTML color]
 
1091
    The colors (HTML) uses for the pointer and the marker in browse mode.
 
1092
    The former feature highlights the row over which your mouse is passing and
 
1093
    the latter lets you visually mark/unmark rows by clicking on them.
 
1094
    See themes/themename/layout.inc.php.
 
1095
$cfg['FontFamily'] string
 
1096
    You put here a valid CSS font family value, for example arial, sans-serif.
 
1097
    See themes/themename/layout.inc.php.
 
1098
$cfg['FontFamilyFixed'] string
 
1099
    You put here a valid CSS font family value, for example monospace. This one
 
1100
    is used in textarea.
 
1101
    See themes/themename/layout.inc.php.
 
1102
$cfg['BrowsePointerEnable'] boolean
 
1103
    Whether to activate the browse pointer or not.
 
1104
$cfg['BrowseMarkerEnable'] boolean
 
1105
    Whether to activate the browse marker or not.
 
1106
$cfg['TextareaCols'] integer
 
1107
    $cfg['TextareaRows'] integer
 
1108
    $cfg['CharTextareaCols'] integer
 
1109
    $cfg['CharTextareaRows'] integer
 
1110
    Number of columns and rows for the textareas.
 
1111
    This value will be emphasized (*2) for SQL query textareas and (*1.25) for
 
1112
    SQL textareas inside the query window.
 
1113
    The Char* values are used for CHAR and VARCHAR editing (if configured via
 
1114
    $cfg['CharEditing']).
 
1115
$cfg['LongtextDoubleTextarea'] boolean
 
1116
    Defines whether textarea for LONGTEXT fields should have double size.
 
1117
$cfg['TextareaAutoSelect'] boolean
 
1118
    Defines if the whole textarea of the query box will be selected on click.
 
1119
$cfg['CtrlArrowsMoving'] boolean
 
1120
    Enable Ctrl+Arrows (Option+Arrows in Safari) moving between fields when
 
1121
    editing.
 
1122
$cfg['LimitChars'] integer
 
1123
    Maximum number of characters showen in any non-numeric field on browse
 
1124
    view. Can be turned off by a toggle button on the browse page.
 
1125
$cfg['ModifyDeleteAtLeft'] boolean $cfg['ModifyDeleteAtRight'] boolean
 
1126
    Defines the place where modify and delete links would be put when tables
 
1127
    contents are displayed (you may have them displayed both at the left and at
 
1128
    the right). "Left" and "right" are parsed as "top" and "bottom" with
 
1129
    vertical display mode.
 
1130
$cfg['DefaultDisplay'] string $cfg['HeaderFlipType'] string
 
1131
    There are 3 display modes: horizontal, horizontalflipped and vertical.
 
1132
    Define which one is displayed by default. The first mode displays each row
 
1133
    on a horizontal line, the second rotates the headers by 90 degrees, so you
 
1134
    can use descriptive headers even though fields only contain small values
 
1135
    and still print them out. The vertical mode sorts each row on a vertical
 
1136
    lineup.
 
1137
 
 
1138
    The HeaderFlipType can be set to 'css' or 'fake'. When using 'css' the
 
1139
    rotation of the header for horizontalflipped is done via CSS. If set to
 
1140
    'fake' PHP does the transformation for you, but of course this does not
 
1141
    look as good as CSS.
 
1142
$cfg['DefaultPropDisplay'] string or integer
 
1143
    When editing/creating new columns in a table all fields normally get lined
 
1144
    up one field a line. (default: 'horizontal'). If you set this to 'vertical'
 
1145
    you can have each field lined up vertically beneath each other. You can
 
1146
    save up a lot of place on the horizontal direction and no longer have to
 
1147
    scroll. If you set this to integer, editing of fewer columns will appear in
 
1148
    'vertical' mode, while editing of more fields still in 'horizontal' mode.
 
1149
    This way you can still effectively edit large number of fields, while
 
1150
    having full view on few of them.
 
1151
$cfg['ShowBrowseComments'] boolean
 
1152
    $cfg['ShowPropertyComments'] boolean
 
1153
    By setting the corresponding variable to TRUE you can enable the display of
 
1154
    column comments in Browse or Property display. In browse mode, the comments
 
1155
    are shown inside the header. In property mode, comments are displayed using
 
1156
    a CSS-formatted dashed-line below the name of the field. The comment is
 
1157
    shown as a tool-tip for that field.
 
1158
$cfg['SQLQuery']['Edit'] boolean
 
1159
    Whether to display an edit link to change a query in any SQL Query box.
 
1160
$cfg['SQLQuery']['Explain'] boolean
 
1161
    Whether to display a link to explain a SELECT query in any SQL Query box.
 
1162
$cfg['SQLQuery']['ShowAsPHP'] boolean
 
1163
    Whether to display a link to wrap a query in PHP code in any SQL Query box.
 
1164
$cfg['SQLQuery']['Validate'] boolean
 
1165
    Whether to display a link to validate a query in any SQL Query box. See
 
1166
    also $cfg_SQLValidator.
 
1167
$cfg['SQLQuery']['Refresh'] boolean
 
1168
    Whether to display a link to refresh a query in any SQL Query box.
 
1169
$cfg['UploadDir'] string
 
1170
    The name of the directory where
 
1171
$cfg['UploadDir'] string
 
1172
    The name of the directory where SQL files have been uploaded by other means
 
1173
    than phpMyAdmin (for example, ftp). Those files are available under a
 
1174
    drop-down box when you click the database name, then the SQL tab.
 
1175
 
 
1176
    If you want different directory for each user, %u will be replaced with
 
1177
    username.
 
1178
 
 
1179
    Please note that the file names must have the suffix ".sql" (or ".sql.bz2"
 
1180
    or ".sql.gz" if support for compressed formats is enabled).
 
1181
 
 
1182
    This feature is useful when your file is too big to be uploaded via HTTP,
 
1183
    or when file uploads are disabled in PHP.
 
1184
 
 
1185
    Please note that if PHP is running in safe mode, this directory must be
 
1186
    owned by the same user as the owner of the phpMyAdmin scripts.
 
1187
 
 
1188
    See also FAQ 1.16 for alternatives.
 
1189
$cfg['SaveDir'] string
 
1190
    The name of the directory where dumps can be saved.
 
1191
 
 
1192
    If you want different directory for each user, %u will be replaced with
 
1193
    username.
 
1194
 
 
1195
    Please note that the directory has to be writable for user running
 
1196
    webserver.
 
1197
 
 
1198
    Please note that if PHP is running in safe mode, this directory must be
 
1199
    owned by the same user as the owner of the phpMyAdmin scripts.
 
1200
$cfg['TempDir'] string
 
1201
    The name of the directory where temporary files can be stored.
 
1202
 
 
1203
    This is needed for native MS Excel export, see FAQ 6.23
 
1204
$cfg['Export'] array
 
1205
    In this array are defined default parameters for export, names of items are
 
1206
    similar to texts seen on export page, so you can easily identify what they
 
1207
    mean.
 
1208
$cfg['Import'] array
 
1209
    In this array are defined default parameters for import, names of items are
 
1210
    similar to texts seen on import page, so you can easily identify what they
 
1211
    mean.
 
1212
$cfg['RepeatCells'] integer
 
1213
    Repeat the headers every X cells, or 0 to deactivate.
 
1214
$cfg['EditInWindow'] boolean
 
1215
    $cfg['QueryWindowWidth'] integer
 
1216
    $cfg['QueryWindowHeight'] integer
 
1217
    $cfg['QueryHistoryDB'] boolean
 
1218
    $cfg['QueryWindowDefTab'] string
 
1219
    $cfg['QueryHistoryMax'] integer
 
1220
    All those variables affect the query window feature. A SQL link or icon is
 
1221
    always displayed on the left panel. If JavaScript is enabled in your
 
1222
    browser, a click on this opens a distinct query window, which is a direct
 
1223
    interface to enter SQL queries. Otherwise, the right panel changes to
 
1224
    display a query box.
 
1225
 
 
1226
    The size of this query window can be customized with $cfg
 
1227
    ['QueryWindowWidth'] and $cfg['QueryWindowWidth'] - both integers for the
 
1228
    size in pixels. Note that normally, those parameters will be modified in
 
1229
    layout.inc.php for the theme you are using.
 
1230
 
 
1231
    If $cfg['EditInWindow'] is set to true, a click on [Edit] from the results
 
1232
    page (in the "Showing Rows" section) opens the query window and puts the
 
1233
    current query inside it. If set to false, clicking on the link puts the SQL
 
1234
    query in the right panel's query box.
 
1235
 
 
1236
    The usage of the JavaScript query window is recommended if you have a
 
1237
    JavaScript enabled browser. Basic functions are used to exchange quite a
 
1238
    few variables, so most 4th generation browsers should be capable to use
 
1239
    that feature. It currently is only tested with Internet Explorer 6 and
 
1240
    Mozilla 1.x.
 
1241
 
 
1242
    If $cfg['QueryHistoryDB'] is set to TRUE, all your Queries are logged to a
 
1243
    table, which has to be created by you (see $cfg['Servers'][$i]['history']).
 
1244
    If set to FALSE, all your queries will be appended to the form, but only as
 
1245
    long as your window is opened they remain saved.
 
1246
 
 
1247
    When using the JavaScript based query window, it will always get updated
 
1248
    when you click on a new table/db to browse and will focus if you click on
 
1249
    "Edit SQL" after using a query. You can suppress updating the query window
 
1250
    by checking the box "Do not overwrite this query from outside the window"
 
1251
    below the query textarea. Then you can browse tables/databases in the
 
1252
    background without losing the contents of the textarea, so this is
 
1253
    especially useful when composing a query with tables you first have to look
 
1254
    in. The checkbox will get automatically checked whenever you change the
 
1255
    contents of the textarea. Please uncheck the button whenever you definitely
 
1256
    want the query window to get updated even though you have made alterations.
 
1257
 
 
1258
    If $cfg['QueryHistoryDB'] is set to TRUE you can specify the amount of
 
1259
    saved history items using $cfg['QueryHistoryMax'].
 
1260
 
 
1261
    The query window also has a custom tabbed look to group the features. Using
 
1262
    the variable $cfg['QueryWindowDefTab'] you can specify the default tab to
 
1263
    be used when opening the query window. It can be set to either 'sql',
 
1264
    'files', 'history' or 'full'.
 
1265
$cfg['BrowseMIME'] boolean
 
1266
    Enable MIME-transformations.
 
1267
$cfg['MaxExactCount'] integer
 
1268
    For InnoDB tables, determines for how large tables phpMyAdmin should get
 
1269
    the exact row count using SELECT COUNT. If the approximate row count as
 
1270
    returned by SHOW TABLE STATUS is smaller than this value, SELECT COUNT will
 
1271
    be used, otherwise the approximate count will be used.
 
1272
$cfg['MaxExactCountViews'] integer
 
1273
    For VIEWs, since obtaining the exact count could have an impact on
 
1274
    performance, this value is the maximum to be displayed, using a SELECT
 
1275
    COUNT ... LIMIT. The default value of 0 bypasses any row counting.
 
1276
$cfg['WYSIWYG-PDF'] boolean
 
1277
    Utilizes a WYSIWYG editing control to easily place elements of a PDF page.
 
1278
    By clicking on the button 'toggle scratchboard' on the page where you edit
 
1279
    x/y coordinates of those elements you can activate a scratchboard where all
 
1280
    your elements are placed. By clicking on an element, you can move them
 
1281
    around in the pre-defined area and the x/y coordinates will get updated
 
1282
    dynamically. Likewise, when entering a new position directly into the input
 
1283
    field, the new position in the scratchboard changes after your cursor
 
1284
    leaves the input field.
 
1285
    You have to click on the 'OK'-button below the tables to save the new
 
1286
    positions. If you want to place a new element, first add it to the table of
 
1287
    elements and then you can drag the new element around.
 
1288
    By changing the paper size and the orientation you can change the size of
 
1289
    the scratchboard as well. You can do so by just changing the dropdown field
 
1290
    below, and the scratchboard will resize automatically, without interfering
 
1291
    with the current placement of the elements.
 
1292
    If ever an element gets out of range you can either enlarge the paper size
 
1293
    or click on the 'reset' button to place all elements below each other.
 
1294
    NOTE: You have to use a recent browser like IE6 or Mozilla to get this
 
1295
    control to work. The basic Drag&Drop script functionality was kindly
 
1296
    borrowed from www.youngpup.net and is underlying so specific license.
 
1297
$cfg['NaturalOrder'] boolean
 
1298
    Sorts database and table names according to natural order (for example, t1,
 
1299
    t2, t10). Currently implemented in the left panel (Light mode) and in
 
1300
    Database view, for the table list.
 
1301
$cfg['TitleTable'] string
 
1302
$cfg['TitleDatabase'] string
 
1303
$cfg['TitleServer'] string
 
1304
$cfg['TitleDefault'] string
 
1305
    Allows you to specify window's title bar. Following magic string can be
 
1306
    used to get special values:
 
1307
 
 
1308
    @HTTP_HOST@
 
1309
        HTTP host that runs phpMyAdmin
 
1310
    @SERVER@
 
1311
        MySQL server name
 
1312
    @VERBOSE@
 
1313
        Verbose MySQL server name as defined in server configuration
 
1314
    @VSERVER@
 
1315
        Verbose MySQL server name if set, otherwise normal
 
1316
    @DATABASE@
 
1317
        Currently opened database
 
1318
    @TABLE@
 
1319
        Currently opened table
 
1320
    @PHPMYADMIN@
 
1321
        phpMyAdmin with version
 
1322
 
 
1323
$cfg['ErrorIconic'] boolean
 
1324
    Uses icons for warnings, errors and informations.
 
1325
$cfg['MainPageIconic'] boolean
 
1326
    Uses icons on main page in lists and menu tabs.
 
1327
$cfg['ReplaceHelpImg'] boolean
 
1328
    Shows a help button instead of the "Documentation" message.
 
1329
$cfg['ThemePath'] string
 
1330
    If theme manager is active, use this as the path of the subdirectory
 
1331
    containing all the themes.
 
1332
$cfg['ThemeManager'] boolean
 
1333
    Enables user-selectable themes. See FAQ 2.7.
 
1334
$cfg['ThemeDefault'] string
 
1335
    The default theme (a subdirectory under cfg['ThemePath']).
 
1336
$cfg['ThemePerServer'] boolean
 
1337
    Whether to allow different theme for each server.
 
1338
$cfg['DefaultQueryTable'] string
 
1339
    $cfg['DefaultQueryDatabase'] string
 
1340
    Default queries that will be displayed in query boxes when user didn't
 
1341
    specify any. Use %d for database name, %t for table name and %f for a comma
 
1342
    separated list of field names. Note that %t and %f are only applicable to
 
1343
    $cfg['DefaultQueryTable'].
 
1344
$cfg['SQP']['fmtType'] string [html|none]
 
1345
    The main use of the new SQL Parser is to pretty-print SQL queries. By
 
1346
    default we use HTML to format the query, but you can disable this by
 
1347
    setting this variable to 'none'.
 
1348
$cfg['SQP']['fmtInd'] float
 
1349
    $cfg['SQP']['fmtIndUnit'] string [em|px|pt|ex]
 
1350
    For the pretty-printing of SQL queries, under some cases the part of a
 
1351
    query inside a bracket is indented. By changing $cfg['SQP']['fmtInd'] you
 
1352
    can change the amount of this indent.
 
1353
    Related in purpose is $cfg['SQP']['fmtIndUnit'] which specifies the units
 
1354
    of the indent amount that you specified. This is used via stylesheets.
 
1355
$cfg['SQP']['fmtColor'] array of string tuples
 
1356
    This array is used to define the colours for each type of element of the
 
1357
    pretty-printed SQL queries. The tuple format is
 
1358
    class => [HTML colour code | empty string]
 
1359
    If you specify an empty string for the color of a class, it is ignored in
 
1360
    creating the stylesheet. You should not alter the class names, only the
 
1361
    colour strings.
 
1362
    Class name key:
 
1363
      + comment Applies to all comment sub-classes
 
1364
      + comment_mysql Comments as "#...\n"
 
1365
      + comment_ansi Comments as "-- ...\n"
 
1366
      + comment_c Comments as "/*...*/"
 
1367
      + digit Applies to all digit sub-classes
 
1368
      + digit_hex Hexadecimal numbers
 
1369
      + digit_integer Integer numbers
 
1370
      + digit_float Floating point numbers
 
1371
      + punct Applies to all punctuation sub-classes
 
1372
      + punct_bracket_open_round Opening brackets"("
 
1373
      + punct_bracket_close_round Closing brackets ")"
 
1374
      + punct_listsep List item Separator ","
 
1375
      + punct_qualifier Table/Column Qualifier "."
 
1376
      + punct_queryend End of query marker ";"
 
1377
      + alpha Applies to all alphabetic classes
 
1378
      + alpha_columnType Identifiers matching a column type
 
1379
      + alpha_columnAttrib Identifiers matching a database/table/column
 
1380
        attribute
 
1381
      + alpha_functionName Identifiers matching a MySQL function name
 
1382
      + alpha_reservedWord Identifiers matching any other reserved word
 
1383
      + alpha_variable Identifiers matching a SQL variable "@foo"
 
1384
      + alpha_identifier All other identifiers
 
1385
      + quote Applies to all quotation mark classes
 
1386
      + quote_double Double quotes "
 
1387
      + quote_single Single quotes '
 
1388
      + quote_backtick Backtick quotes `
 
1389
$cfg['SQLValidator'] boolean
 
1390
 
 
1391
    $cfg['SQLValidator']['use'] boolean
 
1392
        phpMyAdmin now supports use of the Mimer SQL Validator service, as
 
1393
        originally published on Slashdot.
 
1394
        For help in setting up your system to use the service, see the FAQ 6.14
 
1395
        .
 
1396
    $cfg['SQLValidator']['username'] string
 
1397
        $cfg['SQLValidator']['password'] string
 
1398
        The SOAP service allows you to log in with anonymous and any password,
 
1399
        so we use those by default. Instead, if you have an account with them,
 
1400
        you can put your login details here, and it will be used in place of
 
1401
        the anonymous login.
 
1402
 
 
1403
$cfg['DBG']
 
1404
    DEVELOPERS ONLY!
 
1405
$cfg['DBG']['enable'] boolean
 
1406
    DEVELOPERS ONLY!
 
1407
    Enable the DBG extension for debugging phpMyAdmin. Required for profiling
 
1408
    the code.
 
1409
    For help in setting up your system to this, see the Developers section.
 
1410
$cfg['DBG']['profile']['enable'] boolean
 
1411
    DEVELOPERS ONLY!
 
1412
    Enable profiling support for phpMyAdmin. This will append a chunk of data
 
1413
    to the end of every page displayed in the main window with profiling
 
1414
    statistics for that page.
 
1415
    You may need to increase the maximum execution time for this to complete
 
1416
    successfully.Profiling was removed from the code for version 2.9.0 due to
 
1417
    licensing issues.
 
1418
$cfg['DBG']['profile']['threshold'] float (units in milliseconds)
 
1419
    DEVELOPERS ONLY!
 
1420
    When profiling data is displayed, this variable controls the threshold of
 
1421
    display for any profiling data, based on the average time each time has
 
1422
    taken. If it is over the threshold it is displayed, otherwise it is not
 
1423
    displayed. This takes a value in milliseconds. In most cases you don't need
 
1424
    to edit this.
 
1425
$cfg['ColumnTypes'] array
 
1426
    All possible types of a MySQL column. In most cases you don't need to edit
 
1427
    this.
 
1428
$cfg['AttributeTypes'] array
 
1429
    Possible attributes for fields. In most cases you don't need to edit this.
 
1430
$cfg['Functions'] array
 
1431
    A list of functions MySQL supports. In most cases you don't need to edit
 
1432
    this.
 
1433
$cfg['RestrictColumnTypes'] array
 
1434
    Mapping of column types to meta types used for preferring displayed
 
1435
    functions. In most cases you don't need to edit this.
 
1436
$cfg['RestrictFunctions'] array
 
1437
    Functions preferred for column meta types as defined in $cfg
 
1438
    ['RestrictColumnTypes']. In most cases you don't need to edit this.
 
1439
$cfg['DefaultFunctions'] array
 
1440
    Functions selected by default when inserting/changing row, Functions are
 
1441
    defined for meta types from $cfg['RestrictColumnTypes'] and for
 
1442
    first_timestamp, which is used for first timestamp column in table.
 
1443
$cfg['NumOperators'] array
 
1444
    Operators available for search operations on numeric and date fields.
 
1445
$cfg['TextOperators'] array
 
1446
    Operators available for search operations on character fields. Note that we
 
1447
    put LIKE by default instead of LIKE %...%, to avoid unintended performance
 
1448
    problems in case of huge tables.
 
1449
$cfg['EnumOperators'] array
 
1450
    Operators available for search operations on enum fields.
 
1451
$cfg['NullOperators'] array
 
1452
    Additional operators available for search operations when the field can be
 
1453
    null.
 
1454
 
 
1455
Transformations
 
1456
 
 
1457
 1. Introduction
 
1458
 2. Usage
 
1459
 3. File structure
 
1460
 
 
1461
1. Introduction
 
1462
 
 
1463
To enable transformations, you have to setup the column_info table and the
 
1464
proper directives. Please see the Configuration section on how to do so.
 
1465
 
 
1466
You can apply different transformations to the contents of each field. The
 
1467
transformation will take the content of each field and transform it with
 
1468
certain rules defined in the selected transformation.
 
1469
 
 
1470
Say you have a field 'filename' which contains a filename. Normally you would
 
1471
see in phpMyAdmin only this filename. Using transformations you can transform
 
1472
that filename into a HTML link, so you can click inside of the phpMyAdmin
 
1473
structure on the field's link and will see the file displayed in a new browser
 
1474
window. Using transformation options you can also specify strings to append/
 
1475
prepend to a string or the format you want the output stored in.
 
1476
 
 
1477
For a general overview of all available transformations and their options, you
 
1478
can consult your <www.your-host.com>/<your-install-dir>/
 
1479
transformation_overview.php installation.
 
1480
 
 
1481
For a tutorial on how to effectively use transformations, see our Link section
 
1482
on the official phpMyAdmin homepage.
 
1483
 
 
1484
2. Usage
 
1485
 
 
1486
Go to your tbl_structure.php page (i.e. reached through clicking on the
 
1487
'Structure' link for a table). There click on "Change" (or change icon) and
 
1488
there you will see three new fields at the end of the line. They are called
 
1489
'MIME-type', 'Browser transformation' and 'Transformation options'.
 
1490
 
 
1491
  * The field 'MIME-type' is a dropdown field. You have the options to leave
 
1492
    that field empty or to use 'auto' [this feature is not yet available].
 
1493
    Please note that transformations are inactive as long as no MIME-type is
 
1494
    selected.
 
1495
  * The field 'Browser transformation' is a drop-down field. You can choose
 
1496
    from a hopefully growing amount of pre-defined transformations. See below
 
1497
    for information on how to build your own transformation.
 
1498
    There are global transformations and mimetype-bound transformations. Global
 
1499
    transformations can be used for any mimetype. They will take the mimetype,
 
1500
    if necessary, into regard. Mimetype-bound transformations usually only
 
1501
    operate on a certain mimetype. There are transformations which operate on
 
1502
    the main mimetype (like 'image'), which will most likely take the subtype
 
1503
    into regard, and those who only operate on a specific subtype (like 'image/
 
1504
    jpeg').
 
1505
    You can use transformations on mimetypes for which the function was not
 
1506
    defined for. There is no security check for you selected the right
 
1507
    transformation, so take care of what the output will be like.
 
1508
  * The field 'Transformation options' is a free-type textfield. You have to
 
1509
    enter transform-function specific options here. Usually the transforms can
 
1510
    operate with default options, but it is generally a good idea to look up
 
1511
    the overview to see which options are necessary.
 
1512
    Much like the ENUM/SET-Fields, you have to split up several options using
 
1513
    the format 'a','b','c',...(NOTE THE MISSING BLANKS). This is because
 
1514
    internally the options will be parsed as an array, leaving the first value
 
1515
    the first element in the array, and so forth.
 
1516
    If you want to specify a MIME character set you can define it in the
 
1517
    transformation_options. You have to put that outside of the pre-defined
 
1518
    options of the specific mime-transform, as the last value of the set. Use
 
1519
    the format "'; charset=XXX'". If you use a transform, for which you can
 
1520
    specify 2 options and you want to append a character set, enter "'first
 
1521
    parameter','second parameter','charset=us-ascii'". You can, however use the
 
1522
    defaults for the parameters: "'','','charset=us-ascii'".
 
1523
 
 
1524
3. File structure
 
1525
 
 
1526
All mimetypes and their transformations are defined through single files in the
 
1527
directory 'libraries/transformations/'.
 
1528
 
 
1529
They are stored in files to ease up customization and easy adding of new
 
1530
transformations.
 
1531
 
 
1532
Because the user cannot enter own mimetypes, it is kept sure that
 
1533
transformations always work. It makes no sense to apply a transformation to a
 
1534
mimetype, the transform-function doesn't know to handle.
 
1535
 
 
1536
One can, however, use empty mime-types and global transformations which should
 
1537
work for many mimetypes. You can also use transforms on a different mimetype
 
1538
they where built for, but pay attention to option usage as well as what the
 
1539
transformation does to your field.
 
1540
 
 
1541
There is a basic file called 'global.inc.php'. This function can be included by
 
1542
any other transform function and provides some basic functions.
 
1543
 
 
1544
There are 5 possible file names:
 
1545
 
 
1546
 1. A mimetype+subtype transform:
 
1547
 
 
1548
    [mimetype]_[subtype]__[transform].inc.php
 
1549
 
 
1550
    Please not that mimetype and subtype are separated via '_', which shall not
 
1551
    be contained in their names. The transform function/filename may contain
 
1552
    only characters which cause no problems in the file system as well as the
 
1553
    PHP function naming convention.
 
1554
 
 
1555
    The transform function will the be called 'PMA_transform_[mimetype]_
 
1556
    [subtype]__[transform]()'.
 
1557
 
 
1558
    Example:
 
1559
 
 
1560
    text_html__formatted.inc.php
 
1561
    PMA_transform_text_html__formatted()
 
1562
 2. A mimetype (w/o subtype) transform:
 
1563
 
 
1564
    [mimetype]__[transform].inc.php
 
1565
 
 
1566
    Please note that there are no single '_' characters. The transform function
 
1567
    /filename may contain only characters which cause no problems in the file
 
1568
    system as well as the PHP function naming convention.
 
1569
 
 
1570
    The transform function will the be called 'PMA_transform_[mimetype]__
 
1571
    [transform]()'.
 
1572
 
 
1573
    Example:
 
1574
 
 
1575
    text__formatted.inc.php
 
1576
    PMA_transform_text__formatted()
 
1577
 3. A mimetype+subtype without specific transform function
 
1578
 
 
1579
    [mimetype]_[subtype].inc.php
 
1580
 
 
1581
    Please note that there are no '__' characters in the filename. Do not use
 
1582
    special characters in the filename causing problems with the file system.
 
1583
 
 
1584
    No transformation function is defined in the file itself.
 
1585
 
 
1586
    Example:
 
1587
 
 
1588
    text_plain.inc.php
 
1589
    (No function)
 
1590
 4. A mimetype (w/o subtype) without specific transform function
 
1591
 
 
1592
    [mimetype].inc.php
 
1593
 
 
1594
    Please note that there are no '_' characters in the filename. Do not use
 
1595
    special characters in the filename causing problems with the file system.
 
1596
 
 
1597
    No transformation function is defined in the file itself.
 
1598
 
 
1599
    Example:
 
1600
 
 
1601
    text.inc.php
 
1602
    (No function)
 
1603
 5. A global transform function with no specific mimetype
 
1604
 
 
1605
    global__[transform].inc.php
 
1606
 
 
1607
    The transform function will the be called 'PMA_transform_global__
 
1608
    [transform]()'.
 
1609
 
 
1610
    Example:
 
1611
 
 
1612
    global__formatted
 
1613
    PMA_transform_global__formatted()
 
1614
 
 
1615
So generally use '_' to split up mimetype and subtype, and '__' to provide a
 
1616
transform function.
 
1617
 
 
1618
All filenames containing no '__' in themselves are not shown as valid transform
 
1619
functions in the dropdown.
 
1620
 
 
1621
Please see the libraries/transformations/TEMPLATE file for adding your own
 
1622
transform function. See the libraries/transformations/TEMPLATE_MIMETYPE for
 
1623
adding a mimetype without a transform function. Also note the introduction of a
 
1624
function description in the language files. For each function a
 
1625
$strTransformation_[filename without .inc.php] has to exist.
 
1626
 
 
1627
You can use the template generator to generate new functions and entries in the
 
1628
language file.
 
1629
 
 
1630
To create a new transform function please see libraries/transformations/
 
1631
template_generator.sh. To create a new, empty mimetype please see libraries/
 
1632
transformations/template_generator_mimetype.sh.
 
1633
 
 
1634
A transform function always gets passed three variables:
 
1635
 
 
1636
 1. $buffer - Contains the text inside of the column. This is the text, you
 
1637
    want to transform.
 
1638
 2. $options - Contains any user-passed options to a transform function as an
 
1639
    array.
 
1640
 3. $meta - Contains an object with field information to your column. The data
 
1641
    is drawn from the output of the mysql_fetch_field() function. This means,
 
1642
    all object properties described on the manual page are available in this
 
1643
    variable and can be used to transform a field accordingly to unsigned/
 
1644
    zerofill/not_null/... properties.
 
1645
    The $meta->mimetype variable contains the original MIME-type of the field
 
1646
    (i.e. 'text/plain', 'image/jpeg' etc.)
 
1647
 
 
1648
FAQ - Frequently Asked Questions
 
1649
 
 
1650
 1. Server
 
1651
 2. Configuration
 
1652
 3. Known limitations
 
1653
 4. ISPs, multi-user installations
 
1654
 5. Browsers or client OS
 
1655
 6. Using phpMyAdmin
 
1656
 7. phpMyAdmin project
 
1657
 8. Security
 
1658
 
 
1659
Please have a look at our Link section on the official phpMyAdmin homepage for
 
1660
in-depth coverage of phpMyAdmin's features and or interface.
 
1661
 
 
1662
Server
 
1663
 
 
1664
1.1 I'm running PHP 4+ and my server is crashing each time a specific action is
 
1665
required or phpMyAdmin sends a blank page or a page full of cryptic characters
 
1666
to my browser, what can I do?
 
1667
 
 
1668
There are some known PHP bugs with output buffering and compression.
 
1669
Try to set the $cfg['OBGzip'] directive to FALSE in your config.inc.php file
 
1670
and the zlib.output_compression directive to Off in your php configuration
 
1671
file.
 
1672
Furthermore, we know about such problems connected to the release candidates of
 
1673
PHP 4.2.0 (tested with PHP 4.2.0 RC1 to RC4) together with MS Internet
 
1674
Explorer. Please upgrade to the release version PHP 4.2.0.
 
1675
 
 
1676
1.2 My Apache server crashes when using phpMyAdmin.
 
1677
 
 
1678
You should first try the latest versions of Apache (and possibly MySQL).
 
1679
See also the FAQ 1.1 entry about PHP bugs with output buffering.
 
1680
If your server keeps crashing, please ask for help in the various Apache
 
1681
support groups.
 
1682
 
 
1683
1.3 I'm running phpMyAdmin with "cookie" authentication mode under PHP 4.2.0 or
 
1684
4.2.1 loaded as an Apache 2 module but can't enter the script: I'm always
 
1685
displayed the login screen.
 
1686
 
 
1687
This is a known PHP bug (see this bug report) from the official PHP bug
 
1688
database. It means there is and won't be any phpMyAdmin fix against it because
 
1689
there is no way to code a fix.
 
1690
 
 
1691
1.4 Using phpMyAdmin on IIS, I'm displayed the error message: "The specified
 
1692
CGI application misbehaved by not returning a complete set of HTTP headers
 
1693
...".
 
1694
 
 
1695
You just forgot to read the install.txt file from the php distribution. Have a
 
1696
look at the last message in this bug report from the official PHP bug database.
 
1697
 
 
1698
1.5 Using phpMyAdmin on IIS, I'm facing crashes and/or many error messages with
 
1699
the HTTP or advanced authentication mode.
 
1700
 
 
1701
This is a known problem with the PHP ISAPI filter: it's not so stable. Please
 
1702
use instead the cookie authentication mode.
 
1703
 
 
1704
1.6 I can't use phpMyAdmin on PWS: nothing is displayed!
 
1705
 
 
1706
This seems to be a PWS bug. Filippo Simoncini found a workaround (at this time
 
1707
there is no better fix): remove or comment the DOCTYPE declarations (2 lines)
 
1708
from the scripts libraries/header.inc.php, libraries/header_printview.inc.php,
 
1709
index.php, navigation.php and libraries/common.lib.php.
 
1710
 
 
1711
1.7 How can I GZip or Bzip a dump or a CSV export? It does not seem to work.
 
1712
 
 
1713
These features are based on the gzencode() and bzcompress() PHP functions to be
 
1714
more independent of the platform (Unix/Windows, Safe Mode or not, and so on).
 
1715
So, you must have PHP4 >= 4.0.4 and Zlib/Bzip2 support (--with-zlib and
 
1716
--with-bz2).
 
1717
We faced PHP crashes when trying to download a dump with MS Internet Explorer
 
1718
when phpMyAdmin is run with a release candidate of PHP 4.2.0. In this case you
 
1719
should switch to the release version of PHP 4.2.0.
 
1720
 
 
1721
1.8 I cannot insert a text file in a table, and I get an error about safe mode
 
1722
being in effect.
 
1723
 
 
1724
Your uploaded file is saved by PHP in the "upload dir", as defined in php.ini
 
1725
by the variable upload_tmp_dir (usually the system default is /tmp).
 
1726
We recommend the following setup for Apache servers running in safe mode, to
 
1727
enable uploads of files while being reasonably secure:
 
1728
 
 
1729
  * create a separate directory for uploads: mkdir /tmp/php
 
1730
  * give ownership to the Apache server's user.group: chown apache.apache /tmp/
 
1731
    php
 
1732
  * give proper permission: chmod 600 /tmp/php
 
1733
  * put upload_tmp_dir = /tmp/php in php.ini
 
1734
  * restart Apache
 
1735
 
 
1736
1.9 I'm having troubles when uploading files. In general file uploads don't
 
1737
work on my system and uploaded files have a Content-Type: header in the first
 
1738
line.
 
1739
 
 
1740
It's not really phpMyAdmin related but RedHat 7.0. You have a RedHat 7.0 and
 
1741
you updated your PHP RPM to php-4.0.4pl1-3.i386.rpm, didn't you?
 
1742
So the problem is that this package has a serious bug that was corrected ages
 
1743
ago in PHP (2001-01-28: see PHP's bug tracking system for more details). The
 
1744
problem is that the bugged package is still available though it was corrected
 
1745
(see RedHat's BugZilla for more details).
 
1746
So please download the fixed package (4.0.4pl1-9) and the problem should go
 
1747
away.
 
1748
And that fixes the \r\n problem with file uploads!
 
1749
 
 
1750
1.10 I'm having troubles when uploading files with phpMyAdmin running on a
 
1751
secure server. My browser is Internet Explorer and I'm using the Apache server.
 
1752
 
 
1753
As suggested by "Rob M" in the phpWizard forum, add this line to your
 
1754
httpd.conf:
 
1755
 
 
1756
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
 
1757
 
 
1758
It seems to clear up many problems between Internet Explorer and SSL.
 
1759
 
 
1760
1.11 I get an 'open_basedir restriction' while uploading a file from the query
 
1761
box.
 
1762
 
 
1763
Since version 2.2.4, phpMyAdmin supports servers with open_basedir
 
1764
restrictions. Assuming that the restriction allows you to open files in the
 
1765
current directory ('.'), all you have to do is create a 'tmp' directory under
 
1766
the phpMyAdmin install directory, with permissions 777 and the same owner as
 
1767
the owner of your phpMyAdmin directory. The uploaded files will be moved there,
 
1768
and after execution of your SQL commands, removed.
 
1769
 
 
1770
1.12 I have lost my MySQL root password, what can I do?
 
1771
 
 
1772
The MySQL manual explains how to reset the permissions.
 
1773
 
 
1774
1.13 I get an error 'No SQL query' when trying to execute a bookmark.
 
1775
 
 
1776
If PHP does not have read/write access to its upload_tmp_dir, it cannot access
 
1777
the uploaded query.
 
1778
 
 
1779
1.14 I get an error 'No SQL query' when trying to submit a query from the
 
1780
convenient text area.
 
1781
 
 
1782
Check the post_max_size directive from your PHP configuration file and try to
 
1783
increase it.
 
1784
 
 
1785
1.15 I have problems with mysql.user field names.
 
1786
 
 
1787
In older MySQL versions, the User and Password fields were named user and
 
1788
password. Please modify your field names to align with current standards.
 
1789
 
 
1790
1.16 I cannot upload big dump files (memory, HTTP or timeout problems).
 
1791
 
 
1792
Starting with version 2.7.0, the import engine has been re?written and these
 
1793
problems should not occur. If possible, upgrade your phpMyAdmin to the latest
 
1794
version to take advantage of the new import features.
 
1795
 
 
1796
The first things to check (or ask your host provider to check) are the values
 
1797
of upload_max_filesize, memory_limit and post_max_size in the php.ini
 
1798
configuration file. All of these three settings limit the maximum size of data
 
1799
that can be submitted and handled by PHP. One user also said that post_max_size
 
1800
and memory_limit need to be larger than upload_max_filesize.
 
1801
 
 
1802
There exist several workarounds if your upload is too big or your hosting
 
1803
provider is unwilling to change the settings:
 
1804
 
 
1805
  * Look at the $cfg['UploadDir'] feature. This allows one to upload a file to
 
1806
    the server via scp, ftp, or your favorite file transfer method. PhpMyAdmin
 
1807
    is then able to import the files from the temporary directory. More
 
1808
    information is available in the Configuration section of this document.
 
1809
  * Using a utility (such as BigDump) to split the files before uploading. We
 
1810
    cannot support this or any third party applications, but are aware of users
 
1811
    having success with it.
 
1812
  * If you have shell (command line) access, use MySQL to import the files
 
1813
    directly. You can do this by issuing the "source" command from within
 
1814
    MySQL: source filename.sql.
 
1815
 
 
1816
1.17 Which MySQL versions does phpMyAdmin support?
 
1817
 
 
1818
All MySQL versions from 3.23.32 till 5.0 (except for 4.1.0 and 4.1.1) are fully
 
1819
supported. Please note that the older your MySQL version is, the more
 
1820
limitations you will have to face.
 
1821
phpMyAdmin may connect to your MySQL server using php's classic MySQL extension
 
1822
as well as the improved MySQL extension (MySQLi) that is available in php 5.0.
 
1823
Either way, the developers of both extensions recommend to use the classic
 
1824
extension for MySQL 4.0 and below and MySQLi for MySQL 4.1 and newer.
 
1825
When compiling php, we strongly recommend that you manually link the MySQL
 
1826
extension of your choice to a MySQL client library of at least the same minor
 
1827
version since the one that is bundled with some php distributions is rather old
 
1828
and might cause problems (see FAQ 1.17a). If your webserver is running on a
 
1829
windows system, you might want to try MySQL's Connector/PHP instead of the
 
1830
MySQL / MySQLi extensions that are bundled with the official php Win32 builds.
 
1831
MySQL 5.1 is not yet supported.
 
1832
 
 
1833
1.17a I cannot connect to the MySQL server. It always returns the error
 
1834
message, "Client does not support authentication protocol requested by server;
 
1835
consider upgrading MySQL client"
 
1836
 
 
1837
You tried to access MySQL with an old MySQL client library. The version of your
 
1838
MySQL client library can be checked in your phpinfo() output. In general, it
 
1839
should have at least the same minor version as your server - as mentioned in
 
1840
FAQ 1.17.
 
1841
 
 
1842
This problem is generally caused by using MySQL version 4.1 or newer. MySQL
 
1843
changed the authentication hash and your PHP is trying to use the old method.
 
1844
The proper solution is to use the mysqli extension with the proper client
 
1845
library to match your MySQL installation. Your chosen extension is specified in
 
1846
$cfg['Servers'][$i]['extension']. More information (and several workarounds)
 
1847
are located in the MySQL Documentation.
 
1848
 
 
1849
1.18 I'm running MySQL <= 4.0.1 having lower_case_table_names set to 1. If I
 
1850
create a new table with a capital letter in its name it is changed to lowercase
 
1851
as it should. But if I try to DROP this table MySQL is unable to find the
 
1852
corresponding file.
 
1853
 
 
1854
This is a bug of MySQL <= 4.0.1. Please upgrade to at least MySQL 4.0.2 or turn
 
1855
off your lower_case_table_names directive.
 
1856
 
 
1857
1.19 I can't run the "display relations" feature because the script seems not
 
1858
to know the font face I'm using!
 
1859
 
 
1860
The "FPDF" library we're using for this feature requires some special files to
 
1861
use font faces.
 
1862
Please refers to the FPDF manual to build these files.
 
1863
 
 
1864
1.20 I receive the error "cannot load MySQL extension, please check PHP
 
1865
Configuration".
 
1866
 
 
1867
To connect to a MySQL server, PHP needs a set of MySQL functions called "MySQL
 
1868
extension". This extension may be part of the PHP distribution (compiled-in),
 
1869
otherwise it needs to be loaded dynamically. Its name is probably mysql.so or
 
1870
php_mysql.dll. phpMyAdmin tried to load the extension but failed.
 
1871
 
 
1872
Usually, the problem is solved by installing a software package called
 
1873
"PHP-MySQL" or something similar.
 
1874
 
 
1875
1.21 I am running the CGI version of PHP under Unix, and I cannot log in using
 
1876
cookie auth.
 
1877
 
 
1878
In php.ini, set mysql.max_links higher than 1.
 
1879
 
 
1880
1.22 I don't see the "Location of text file" field, so I cannot upload.
 
1881
 
 
1882
This is most likely because in php.ini, your file_uploads parameter is not set
 
1883
to "on".
 
1884
 
 
1885
1.23 I'm running MySQL on a Win32 machine. Each time I create a new table the
 
1886
table and field names are changed to lowercase!
 
1887
 
 
1888
This happens because the MySQL directive lower_case_table_names defaults to 1
 
1889
(ON) in the Win32 version of MySQL. You can change this behavior by simply
 
1890
changing the directive to 0 (OFF):
 
1891
Just edit your my.ini file that should be located in your Windows directory and
 
1892
add the following line to the group [mysqld]:
 
1893
 
 
1894
set-variable = lower_case_table_names=0
 
1895
 
 
1896
Next, save the file and restart the MySQL service. You can always check the
 
1897
value of this directive using the query
 
1898
 
 
1899
SHOW VARIABLES LIKE 'lower_case_table_names';
 
1900
 
 
1901
1.24 Some characters are being truncated in my queries, or I get characters
 
1902
randomly added. I am running PHP 4.2.3.
 
1903
 
 
1904
This is a PHP 4.2.3 bug.
 
1905
 
 
1906
1.25 I am running Apache with mod_gzip-1.3.26.1a on Windows XP, and I get
 
1907
problems, such as undefined variables when I run a SQL query.
 
1908
 
 
1909
A tip from Jose Fandos: put a comment on the following two lines in httpd.conf,
 
1910
like this:
 
1911
 
 
1912
# mod_gzip_item_include file \.php$
 
1913
# mod_gzip_item_include mime "application/x-httpd-php.*"
 
1914
 
 
1915
as this version of mod_gzip on Apache (Windows) has problems handling PHP
 
1916
scripts. Of course you have to restart Apache.
 
1917
 
 
1918
1.26 I just installed phpMyAdmin in my document root of IIS but I get the error
 
1919
"No input file specified" when trying to run phpMyAdmin.
 
1920
 
 
1921
This is a permission problem. Right-click on the phpmyadmin folder and choose
 
1922
properties. Under the tab Security, click on "Add" and select the user
 
1923
"IUSR_machine" from the list. Now set his permissions and it should work.
 
1924
 
 
1925
1.27 I get empty page when I want to view huge page (eg. db_structure.php with
 
1926
plenty of tables).
 
1927
 
 
1928
This is a PHP bug that occur when GZIP output buffering is enabled. If you turn
 
1929
off it (by $cfg['OBGzip'] = false in config.inc.php), it should work. This bug
 
1930
will be fixed in PHP 5.0.0.
 
1931
 
 
1932
1.28 My MySQL server sometimes refuses queries and returns the message
 
1933
'Errorcode: 13'. What does this mean?
 
1934
 
 
1935
This can happen due to a MySQL bug when having database / table names with
 
1936
upper case characters although lower_case_table_names is set to 1. To fix this,
 
1937
turn off this directive, convert all database and table names to lower case and
 
1938
turn it on again. Alternatively, there's a bug-fix available starting with
 
1939
MySQL 3.23.56 / 4.0.11-gamma.
 
1940
 
 
1941
1.29 When I create a table or modify a field, I get an error and the fields are
 
1942
duplicated.
 
1943
 
 
1944
It is possible to configure Apache in such a way that PHP has problems
 
1945
interpreting .php files.
 
1946
 
 
1947
The problems occur when two different (and conflicting) set of directives are
 
1948
used:
 
1949
 
 
1950
SetOutputFilter PHP
 
1951
SetInputFilter PHP
 
1952
 
 
1953
and
 
1954
 
 
1955
AddType application/x-httpd-php .php
 
1956
 
 
1957
In the case we saw, one set of directives was in /etc/httpd/conf/httpd.conf,
 
1958
while the other set was in /etc/httpd/conf/addon-modules/php.conf.
 
1959
The recommended way is with AddType, so just comment out the first set of lines
 
1960
and restart Apache:
 
1961
 
 
1962
#SetOutputFilter PHP
 
1963
#SetInputFilter PHP
 
1964
 
 
1965
1.30 I get the error "navigation.php: Missing hash".
 
1966
 
 
1967
This problem is known to happen when the server is running Turck MMCache but
 
1968
upgrading MMCache to version 2.3.21 solves the problem.
 
1969
 
 
1970
1.31 Does phpMyAdmin support php5?
 
1971
 
 
1972
Yes.
 
1973
However, phpMyAdmin needs to be backwards compatible to php4. This is why
 
1974
phpMyAdmin disables the E_STRICT error_level in error_reporting settings.
 
1975
 
 
1976
1.32 Can I use HTTP authentication with IIS?
 
1977
 
 
1978
Yes. This procedure was tested with phpMyAdmin 2.6.1, PHP 4.3.9 in ISAPI mode
 
1979
under IIS 5.1.
 
1980
 
 
1981
 1. In your php.ini file, set cgi.rfc2616_headers = 0
 
1982
 2. In Web Site Properties -> File/Directory Security -> Anonymous Access
 
1983
    dialog box, check the Anonymous access checkbox and uncheck any other
 
1984
    checkboxes (i.e. uncheck Basic authentication, Integrated Windows
 
1985
    authentication, and Digest if it's enabled.) Click OK.
 
1986
 3. In Custom Errors, select the range of 401;1 through 401;5 and click the Set
 
1987
    to Default button.
 
1988
 
 
1989
1.33 Is there a problem with the mysqli extension when running PHP 5.0.4 on
 
1990
64-bit systems?
 
1991
 
 
1992
Yes. This problem affects phpMyAdmin ("Call to undefined function
 
1993
pma_reloadnavigation"), so upgrade your PHP to the next version.
 
1994
 
 
1995
1.34 Can I access directly to database or table pages?
 
1996
 
 
1997
Yes. Out of the box, you can use URLs like http://server/phpMyAdmin/index.php?
 
1998
db=database&table=table&target=script. Table and script parts are optional. If
 
1999
you want http://server/phpMyAdmin/database[/table][/script] URLs, you need to
 
2000
do some configuration. Following lines apply only for Apache web server. First
 
2001
make sure, that you have enabled some features within global configuration. You
 
2002
need Options FollowSymLinks and AllowOverride FileInfo enabled for directory
 
2003
where phpMyAdmin is installed and you need mod_rewrite to be enabled. Then you
 
2004
just need to create following .htaccess file in root folder of phpMyAdmin
 
2005
installation (don't forget to change directory name inside of it):
 
2006
 
 
2007
RewriteEngine On
 
2008
RewriteBase /path_to_phpMyAdmin
 
2009
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&target=$3 [R]
 
2010
RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R]
 
2011
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R]
 
2012
RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R]
 
2013
 
 
2014
1.35 Can I use HTTP authentication with Apache CGI?
 
2015
 
 
2016
Yes. However you need to pass authentication variable to CGI using following
 
2017
rewrite rule:
 
2018
 
 
2019
RewriteEngine On
 
2020
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
 
2021
 
 
2022
1.36 I get an error "500 Internal Server Error".
 
2023
 
 
2024
There can be many explanations to this and a look at your server's error log
 
2025
file might give a clue.
 
2026
 
 
2027
1.37 I run phpMyAdmin on cluster of different machines and password encryption
 
2028
in cookie auth doesn't work.
 
2029
 
 
2030
If your cluster consist of different architectures, PHP code used for
 
2031
encryption/decryption won't work correct. This is caused by use of pack/unpack
 
2032
functions in code. Only solution is to use mcrypt extension which works fine in
 
2033
this case.
 
2034
 
 
2035
Configuration
 
2036
 
 
2037
2.1 The error message "Warning: Cannot add header information - headers already
 
2038
sent by ..." is displayed, what's the problem?
 
2039
 
 
2040
Edit your config.inc.php file and ensure there is nothing (I.E. no blank lines,
 
2041
no spaces, no characters...) neither before the <?php tag at the beginning,
 
2042
neither after the ?> tag at the end.
 
2043
 
 
2044
2.2 phpMyAdmin can't connect to MySQL. What's wrong?
 
2045
 
 
2046
Either there is an error with your PHP setup or your username/password is
 
2047
wrong. Try to make a small script which uses mysql_connect and see if it works.
 
2048
If it doesn't, it may be you haven't even compiled MySQL support into PHP.
 
2049
 
 
2050
2.3 The error message "Warning: MySQL Connection Failed: Can't connect to local
 
2051
MySQL server through socket '/tmp/mysql.sock' (111) ..." is displayed. What can
 
2052
I do?
 
2053
 
 
2054
For RedHat users, Harald Legner suggests this on the mailing list:
 
2055
 
 
2056
On my RedHat-Box the socket of MySQL is /var/lib/mysql/mysql.sock. In your
 
2057
php.ini you will find a line
 
2058
 
 
2059
mysql.default_socket = /tmp/mysql.sock
 
2060
 
 
2061
change it to
 
2062
 
 
2063
mysql.default_socket = /var/lib/mysql/mysql.sock
 
2064
 
 
2065
Then restart apache and it will work.
 
2066
 
 
2067
Here is a fix suggested by Brad Ummer:
 
2068
 
 
2069
  * First, you need to determine what socket is being used by MySQL.
 
2070
    To do this, telnet to your server and go to the MySQL bin directory. In
 
2071
    this directory there should be a file named mysqladmin. Type ./mysqladmin
 
2072
    variables, and this should give you a bunch of info about your MySQL
 
2073
    server, including the socket (/tmp/mysql.sock, for example).
 
2074
  * Then, you need to tell PHP to use this socket.
 
2075
    To do this in phpMyAdmin, you need to complete the socket information in
 
2076
    the config.inc.php.
 
2077
    For example: $cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock';
 
2078
 
 
2079
    Please also make sure that the permissions of this file allow to be
 
2080
    readable by your webserver (i.e. '0755').
 
2081
 
 
2082
Have also a look at the corresponding section of the MySQL documentation.
 
2083
 
 
2084
2.4 Nothing is displayed by my browser when I try to run phpMyAdmin, what can I
 
2085
do?
 
2086
 
 
2087
Try to set the $cfg['OBGZip'] directive to FALSE in the phpMyAdmin
 
2088
configuration file. It helps sometime.
 
2089
Also have a look at your PHP version number: if it contains "4.0b..." it means
 
2090
you're running a beta version of PHP. That's not a so good idea, please upgrade
 
2091
to a plain revision.
 
2092
 
 
2093
2.5 Each time I want to insert or change a record or drop a database or a
 
2094
table, an error 404 (page not found) is displayed or, with HTTP or cookie
 
2095
authentication, I'm asked to log in again. What's wrong?
 
2096
 
 
2097
Check the value you set for the $cfg['PmaAbsoluteUri'] directive in the
 
2098
phpMyAdmin configuration file.
 
2099
 
 
2100
2.6 I get an "Access denied for user: 'root@localhost' (Using password: YES)
 
2101
"-error when trying to access a MySQL-Server on a host which is port-forwarded
 
2102
for my localhost.
 
2103
 
 
2104
When you are using a port on your localhost, which you redirect via
 
2105
port-forwarding to another host, MySQL is not resolving the localhost as
 
2106
expected.
 
2107
Erik Wasser explains: The solution is: if your host is "localhost" MySQL (the
 
2108
commandline tool 'mysql' as well) always tries to use the socket connection for
 
2109
speeding up things. And that doesn't work in this configuration with port
 
2110
forwarding.
 
2111
If you enter "127.0.0.1" as hostname, everything is right and MySQL uses the
 
2112
TCP connection.
 
2113
 
 
2114
2.7 Using and creating themes
 
2115
 
 
2116
Themes are configured with $cfg['ThemePath'], $cfg['ThemeManager'] and $cfg
 
2117
['ThemeDefault'].
 
2118
 
 
2119
Under $cfg['ThemePath'], you should not delete the directory "original" or its
 
2120
underlying structure, because this is the system theme used by phpMyAdmin.
 
2121
"original" contains all images and styles, for backwards compatibility and for
 
2122
all themes that would not include images or css-files.
 
2123
 
 
2124
If $cfg['ThemeManager'] is enabled, you can select your favorite theme on the
 
2125
main page. Your selected theme will be stored in a cookie.
 
2126
 
 
2127
 
 
2128
To create a theme:
 
2129
 
 
2130
  * make a new subdirectory (for example "your_theme_name") under $cfg
 
2131
    ['ThemePath'] (by default themes)
 
2132
  * copy the files and directories from "original" to "your_theme_name"
 
2133
  * edit the css-files in "your_theme_name/css"
 
2134
  * put your new images in "your_theme_name/img"
 
2135
  * edit layout.inc.php in "your_theme_name"
 
2136
  * edit info.inc.php in "your_theme_name" to contain your chosen theme name,
 
2137
    that will be visible in user interface
 
2138
  * make a new screenshot of your theme and save it under "your_theme_name/
 
2139
    screen.png"
 
2140
 
 
2141
In theme directory there is file info.inc.php which contains theme verbose
 
2142
name, theme generation and theme version. These versions and generations are
 
2143
enumerated from 1 and do not have any direct dependence on phpMyAdmin version.
 
2144
Themes within same generation should be backwards compatible - theme with
 
2145
version 2 should work in phpMyAdmin requiring version 1. Themes with different
 
2146
generation are incompatible.
 
2147
 
 
2148
If you do not want to use your own symbols and buttons, remove the directory
 
2149
"img" in "your_theme_name". phpMyAdmin will use the default icons and buttons
 
2150
(from the system-theme "original").
 
2151
 
 
2152
2.8 I get "Missing parameters" errors, what can I do?
 
2153
 
 
2154
Here are a few points to check:
 
2155
 
 
2156
  * In config.inc.php, try to leave the $cfg['PmaAbsoluteUri'] directive empty.
 
2157
    See also FAQ 4.7.
 
2158
  * Maybe you have a broken PHP installation or you need to upgrade your Zend
 
2159
    Optimizer. See http://bugs.php.net/bug.php?id=31134.
 
2160
  * If you are using Hardened PHP with the ini directive
 
2161
    varfilter.max_request_variables set to the default (200) or another low
 
2162
    value, you could get this error if your table has a high number of columns.
 
2163
    Adjust this setting accordingly. (Thanks to Klaus Dorninger for the hint).
 
2164
  * In the php.ini directive arg_separator.input, a value of ";" will cause
 
2165
    this error. Replace it with "&;".
 
2166
  * If you are using Hardened-PHP, you might want to increase request limits.
 
2167
  * The directory specified in the php.ini directive session.save_path does not
 
2168
    exist or is read-only.
 
2169
 
 
2170
Known limitations
 
2171
 
 
2172
3.1 When using HTTP authentication, an user who logged out can not log in again
 
2173
in with the same nick.
 
2174
 
 
2175
This is related to the authentication mechanism (protocol) used by phpMyAdmin.
 
2176
To bypass this problem: just close all the opened browser windows and then go
 
2177
back to phpMyAdmin. You should be able to log in again.
 
2178
 
 
2179
3.2 When dumping a large table in compressed mode, I get a memory limit error
 
2180
or a time limit error.
 
2181
 
 
2182
Compressed dumps are built in memory and because of this are limited to php's
 
2183
memory limit. For GZip/BZip2 exports this can be overcome since 2.5.4 using
 
2184
$cfg['CompressOnFly'] (enabled by default). Zip exports can not be handled this
 
2185
way, so if you need Zip files for larger dump, you have to use another way.
 
2186
 
 
2187
3.3 With InnoDB tables, I lose foreign key relationships when I rename or alter
 
2188
a table.
 
2189
 
 
2190
This seems to be a InnoDB bug (fixed in MySQL 3.23.50?).
 
2191
 
 
2192
3.4 I am unable to import dumps I created with the mysqldump tool bundled with
 
2193
the MySQL server distribution.
 
2194
 
 
2195
The problem is that older versions of mysqldump created invalid comments like
 
2196
this:
 
2197
 
 
2198
-- MySQL dump 8.22
 
2199
--
 
2200
-- Host: localhost Database: database
 
2201
---------------------------------------------------------
 
2202
-- Server version 3.23.54
 
2203
 
 
2204
The invalid part of the code is the horizontal line made of dashes that appears
 
2205
once in every dump created with mysqldump. If you want to run your dump you
 
2206
have to turn it into valid MySQL. This means, you have to add a whitespace
 
2207
after the first two dashes of the line or add a # before it:
 
2208
-- -------------------------------------------------------
 
2209
or
 
2210
#---------------------------------------------------------
 
2211
 
 
2212
3.5 When using nested folders there are some multiple hierarchies displayed in
 
2213
a wrong manner?! ($cfg['LeftFrameTableSeparator'])
 
2214
 
 
2215
Please note that you should not use the separating string multiple times
 
2216
without any characters between them, or at the beginning/end of your table
 
2217
name. If you have to, think about using another TableSeparator or disabling
 
2218
that feature
 
2219
 
 
2220
3.6 What is currently not supported in phpMyAdmin about InnoDB?
 
2221
 
 
2222
In Relation view, being able to choose a table in another database, or having
 
2223
more than one index field in the foreign key.
 
2224
 
 
2225
In Query-by-example (Query), automatic generation of the query LEFT JOIN from
 
2226
the foreign table.
 
2227
 
 
2228
 
 
2229
3.7 I have table with many (100+) fields and when I try to browse table I get
 
2230
series of errors like "Warning: unable to parse url". How can this be fixed?
 
2231
 
 
2232
Your table neither have a primary key nor an unique one, so we must use a long
 
2233
expression to identify this row. This causes problems to parse_url function.
 
2234
The workaround is to create a primary or unique key.
 
2235
 
 
2236
3.8 I cannot use (clickable) HTML-forms in fields where I put a
 
2237
MIME-Transformation onto!
 
2238
 
 
2239
Due to a surrounding form-container (for multi-row delete checkboxes), no
 
2240
nested forms can be put inside the table where phpMyAdmin displays the results.
 
2241
You can, however, use any form inside of a table if keep the parent
 
2242
form-container with the target to tbl_row_delete.php and just put your own
 
2243
input-elements inside. If you use a custom submit input field, the form will
 
2244
submit itself to the displaying page again, where you can validate the
 
2245
$HTTP_POST_VARS in a transformation. For a tutorial on how to effectively use
 
2246
transformations, see our Link section on the official phpMyAdmin-homepage.
 
2247
 
 
2248
3.9 I get error messages when using "--sql_mode=ANSI" for the MySQL server
 
2249
 
 
2250
When MySQL is running in ANSI-compatibility mode, there are some major
 
2251
differences in how SQL is structured (see http://dev.mysql.com/doc/mysql/en/
 
2252
ANSI_mode.html). Most important of all, the quote-character (") is interpreted
 
2253
as an identifier quote character and not as a string quote character, which
 
2254
makes many internal phpMyAdmin operations into invalid SQL statements. There is
 
2255
no workaround to this behaviour. News to this item will be posted in Bug report
 
2256
#816858
 
2257
 
 
2258
3.10 Homonyms and no primary key: When the results of a SELECT display more
 
2259
that one column with the same value (for example SELECT lastname from employees
 
2260
where firstname like 'A%' and two "Smith" values are displayed), if I click
 
2261
Edit I cannot be sure that I am editing the intended row.
 
2262
 
 
2263
Please make sure that your table has a primary key, so that phpMyAdmin can use
 
2264
it for the Edit and Delete links.
 
2265
 
 
2266
3.11 The number of records for InnoDB tables is not correct.
 
2267
 
 
2268
phpMyAdmin uses a quick method to get the row count, and this method only
 
2269
returns an approximate count in the case of InnoDB tables. See $cfg
 
2270
['MaxExactCount'] for a way to modify those results, but this could have a
 
2271
serious impact on performance.
 
2272
 
 
2273
3.12 What are the phpMyAdmin limitations for MySQL 3?
 
2274
 
 
2275
The number of records in queries containing COUNT and GROUP BY is not correctly
 
2276
calculated. Also, sorting results of a query like "SELECT * from table GROUP
 
2277
BY" ... is problematic.
 
2278
 
 
2279
3.13 I get an error when entering USE followed by a db name containing an
 
2280
hyphen.
 
2281
 
 
2282
The tests I have made with current MySQL 4.1.11 API shows that the API does not
 
2283
accept this syntax for the USE command. Enclosing the db name with backquotes
 
2284
works. For further confusion, no backquotes are needed with command-line mysql.
 
2285
 
 
2286
ISPs, multi-user installations
 
2287
 
 
2288
4.1 I'm an ISP. Can I setup one central copy of phpMyAdmin or do I need to
 
2289
install it for each customer.
 
2290
 
 
2291
Since version 2.0.3, you can setup a central copy of phpMyAdmin for all your
 
2292
users. The development of this feature was kindly sponsored by NetCologne GmbH.
 
2293
This requires a properly setup MySQL user management and phpMyAdmin HTTP or
 
2294
cookie authentication. See the install section on "Using HTTP authentication".
 
2295
 
 
2296
4.2 What's the preferred way of making phpMyAdmin secure against evil access.
 
2297
 
 
2298
This depends on your system.
 
2299
If you're running a server which cannot be accessed by other people, it's
 
2300
sufficient to use the directory protection bundled with your webserver (with
 
2301
Apache you can use .htaccess files, for example).
 
2302
If other people have telnet access to your server, you should use phpMyAdmin's
 
2303
HTTP or cookie authentication features.
 
2304
 
 
2305
Suggestions:
 
2306
 
 
2307
  * Your config.inc.php file should be chmod 660.
 
2308
  * All your phpMyAdmin files should be chown -R phpmy.apache, where phpmy is a
 
2309
    user whose password is only known to you, and apache is the group under
 
2310
    which Apache runs.
 
2311
  * You should use PHP safe mode, to protect from other users that try to
 
2312
    include your config.inc.php in their scripts.
 
2313
 
 
2314
4.3 I get errors about not being able to include a file in /lang or in /
 
2315
libraries.
 
2316
 
 
2317
Check php.ini, or ask your sysadmin to check it. The include_path must contain
 
2318
"." somewhere in it, and open_basedir, if used, must contain "." and "./lang"
 
2319
to allow normal operation of phpMyAdmin.
 
2320
 
 
2321
4.4 phpMyAdmin always gives "Access denied" when using HTTP authentication.
 
2322
 
 
2323
This could happen for several reasons:
 
2324
 
 
2325
  * $cfg['Servers'][$i]['controluser'] and/or $cfg['Servers'][$i]
 
2326
    ['controlpass'] are wrong.
 
2327
  * The username/password you specify in the login dialog are invalid.
 
2328
  * You have already setup a security mechanism for the phpMyAdmin-directory,
 
2329
    eg. a .htaccess file. This would interfere with phpMyAdmin's
 
2330
    authentication, so remove it.
 
2331
 
 
2332
4.5 Is it possible to let users create their own databases?
 
2333
 
 
2334
Starting with 2.2.5, in the user management page, you can enter a wildcard
 
2335
database name for a user (for example "joe%"), and put the privileges you want.
 
2336
For example, adding SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER
 
2337
would let a user create/manage his/her database(s).
 
2338
 
 
2339
4.6 How can I use the Host-based authentication additions?
 
2340
 
 
2341
If you have existing rules from an old .htaccess file, you can take them and
 
2342
add a username between the 'deny'/'allow' and 'from' strings. Using the
 
2343
username wildcard of '%' would be a major benefit here if your installation is
 
2344
suited to using it. Then you can just add those updated lines into the $cfg
 
2345
['Servers'][$i]['AllowDeny']['rules'] array.
 
2346
 
 
2347
If you want a pre-made sample, you can try this fragment. It stops the 'root'
 
2348
user from logging in from any networks other than the private network IP
 
2349
blocks.
 
2350
 
 
2351
//block root from logging in except from the private networks
 
2352
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
 
2353
$cfg['Servers'][$i]['AllowDeny']['rules'] = array(
 
2354
    'deny root from all',
 
2355
    'allow root from localhost',
 
2356
    'allow root from 10.0.0.0/8',
 
2357
    'allow root from 192.168.0.0/16',
 
2358
    'allow root from 172.16.0.0/12',
 
2359
    );
 
2360
 
 
2361
4.7 Authentication window is displayed more than once, why?
 
2362
 
 
2363
This happens if you are using a URL to start phpMyAdmin which is different than
 
2364
the one set in your $cfg['PmaAbsoluteUri']. For example, a missing "www", or
 
2365
entering with an IP address while a domain name is defined in the config file.
 
2366
 
 
2367
4.8 Which parameters can I use in the URL that starts phpMyAdmin?
 
2368
 
 
2369
When starting phpMyAdmin, you can use the db, pma_username, pma_password and
 
2370
server parameters. This last one can contain either the numeric host index
 
2371
(from $i of the configuration file) or one of the host names present in the
 
2372
configuration file. Using pma_username and pma_password has been tested along
 
2373
with the usage of 'cookie' auth_type.
 
2374
 
 
2375
Browsers or client OS
 
2376
 
 
2377
5.1 I get an out of memory error, and my controls are non-functional, when
 
2378
trying to create a table with more than 14 fields.
 
2379
 
 
2380
We could reproduce this problem only under Win98/98SE. Testing under WinNT4 or
 
2381
Win2K, we could easily create more than 60 fields.
 
2382
A workaround is to create a smaller number of fields, then come back to your
 
2383
table properties and add the other fields.
 
2384
 
 
2385
5.2 With Xitami 2.5b4, phpMyAdmin won't process form fields.
 
2386
 
 
2387
This is not a phpMyAdmin problem but a Xitami known bug: you'll face it with
 
2388
each script/website that use forms.
 
2389
Upgrade or downgrade your Xitami server.
 
2390
 
 
2391
5.3 I have problems dumping tables with Konqueror (phpMyAdmin 2.2.2).
 
2392
 
 
2393
With Konqueror 2.1.1: plain dumps, zip and GZip dumps work ok, except that the
 
2394
proposed file name for the dump is always 'tbl_dump.php'. Bzip2 dumps don't
 
2395
seem to work.
 
2396
With Konqueror 2.2.1: plain dumps work; zip dumps are placed into the user's
 
2397
temporary directory, so they must be moved before closing Konqueror, or else
 
2398
they disappear. GZip dumps give an error message.
 
2399
Testing needs to be done for Konqueror 2.2.2.
 
2400
 
 
2401
5.4 I can't use the cookie authentication mode because Internet Explorer never
 
2402
stores the cookies.
 
2403
 
 
2404
MS Internet Explorer seems to be really buggy about cookies, at least till
 
2405
version 6. And thanks to Andrew Zivolup we've traced also a PHP 4.1.1 bug in
 
2406
this area!
 
2407
Then, if you're running PHP 4.1.1, try to upgrade or downgrade... it may work!
 
2408
 
 
2409
5.5 In Internet Explorer 5.0, I get JavaScript errors when browsing my rows.
 
2410
 
 
2411
Upgrade to at least Internet Explorer 5.5 SP2.
 
2412
 
 
2413
5.6 In Internet Explorer 5.0, 5.5 or 6.0, I get an error (like "Page not
 
2414
found") when trying to modify a row in a table with many fields, or with a text
 
2415
field
 
2416
 
 
2417
Your table neither have a primary key nor an unique one, so we must use a long
 
2418
URL to identify this row. There is a limit on the length of the URL in those
 
2419
browsers, and this not happen in Netscape, for example. The workaround is to
 
2420
create a primary or unique key, or use another browser.
 
2421
 
 
2422
5.7 I refresh (reload) my browser, and come back to the welcome page.
 
2423
 
 
2424
Some browsers support right-clicking into the frame you want to refresh, just
 
2425
do this in the right frame.
 
2426
 
 
2427
5.8 With Mozilla 0.9.7 I have problems sending a query modified in the query
 
2428
box.
 
2429
 
 
2430
Looks like a Mozilla bug: 0.9.6 was OK. We will keep an eye on future Mozilla
 
2431
versions.
 
2432
 
 
2433
5.9 With Mozilla 0.9.? to 1.0 and Netscape 7.0-PR1 I can't type a whitespace in
 
2434
the SQL-Query edit area: the page scrolls down.
 
2435
 
 
2436
This is a Mozilla bug (see bug #26882 at BugZilla).
 
2437
 
 
2438
5.10 With Netscape 4.75 I get empty rows between each row of data in a CSV
 
2439
exported file.
 
2440
 
 
2441
This is a known Netscape 4.75 bug: it adds some line feeds when exporting data
 
2442
in octet-stream mode. Since we can't detect the specific Netscape version, we
 
2443
cannot workaround this bug.
 
2444
 
 
2445
5.11 Extended-ASCII characters like German umlauts are displayed wrong.
 
2446
 
 
2447
Please ensure that you have set your browser's character set to the one of the
 
2448
language file you have selected on phpMyAdmin's start page. Alternatively, you
 
2449
can try the auto detection mode that is supported by the recent versions of the
 
2450
most browsers.
 
2451
 
 
2452
5.12 Mac OS X: Safari browser changes special characters to "?".
 
2453
 
 
2454
This issue has been reported by a OS X user, who adds that Chimera, Netscape
 
2455
and Mozilla do not have this problem.
 
2456
 
 
2457
5.13 With Internet Explorer 5.5 or 6, and HTTP authentication type, I cannot
 
2458
manage two servers: I log in to the first one, then the other one, but if I
 
2459
switch back to the first, I have to log in on each operation.
 
2460
 
 
2461
This is a bug in Internet Explorer, other browsers do not behave this way.
 
2462
 
 
2463
5.14 Using Opera6, I can manage to get to the authentication, but nothing
 
2464
happens after that, only a blank screen.
 
2465
 
 
2466
Having $cfg['QueryFrameJS'] set o TRUE, this leads to a bug in Opera6, because
 
2467
it is not able to interpret frameset definitions written by JavaScript. Please
 
2468
upgrade your phpMyAdmin installtion or to Opera7 at least.
 
2469
 
 
2470
5.15 I have display problems with Safari.
 
2471
 
 
2472
Please upgrade to at least version 1.2.3.
 
2473
 
 
2474
5.16 With Internet Explorer, I get "Access is denied" Javascript errors. Or I
 
2475
cannot make phpMyAdmin work under Windows.
 
2476
 
 
2477
Please check the following points:
 
2478
 
 
2479
  * Maybe you have defined your PmaAbsoluteUri setting in config.inc.php to an
 
2480
    IP address and you are starting phpMyAdmin with a URL containing a domain
 
2481
    name, or the reverse situation.
 
2482
  * Security settings in IE and/or Microsoft Security Center are too high, thus
 
2483
    blocking scripts execution.
 
2484
  * The Windows Firewall is blocking Apache and MySQL. You must allow HTTP
 
2485
    ports (80 or 443) and MySQL port (usually 3306) in the "in" and "out"
 
2486
    directions.
 
2487
 
 
2488
5.17 With Firefox, I cannot delete rows of data or drop a database.
 
2489
 
 
2490
Many users have confirmed that the Tabbrowser Extensions plugin they installed
 
2491
in their Firefox is causing the problem.
 
2492
 
 
2493
Using phpMyAdmin
 
2494
 
 
2495
6.1 I can't insert new rows into a table / I can't create a table - MySQL
 
2496
brings up a SQL-error.
 
2497
 
 
2498
Examine the SQL error with care. Often the problem is caused by specifying a
 
2499
wrong field-type.
 
2500
Common errors include:
 
2501
 
 
2502
  * Using VARCHAR without a size argument
 
2503
  * Using TEXT or BLOB with a size argument
 
2504
 
 
2505
Also, look at the syntax chapter in the MySQL manual to confirm that your
 
2506
syntax is correct.
 
2507
 
 
2508
6.2 When I create a table, I click the Index checkbox for 2 fields and
 
2509
phpMyAdmin generates only one index with those 2 fields.
 
2510
 
 
2511
In phpMyAdmin 2.2.0 and 2.2.1, this is the way to create a multi-fields index.
 
2512
If you want two indexes, create the first one when creating the table, save,
 
2513
then display the table properties and click the Index link to create the other
 
2514
index.
 
2515
 
 
2516
6.3 How can I insert a null value into my table?
 
2517
 
 
2518
Since version 2.2.3, you have a checkbox for each field that can be null.
 
2519
Before 2.2.3, you had to enter "null", without the quotes, as the field's
 
2520
value. Since version 2.5.5, you have to use the checkbox to get a real NULL
 
2521
value, so if you enter "NULL" this means you want a literal NULL in the field,
 
2522
and not a NULL value (this works in PHP4).
 
2523
 
 
2524
6.4 How can I backup my database or table?
 
2525
 
 
2526
Click on a database or table name in the left frame, the properties will be
 
2527
displayed. Then on the menu, click "Export", you can dump the structure, the
 
2528
data, or both. This will generate standard SQL statements that can be used to
 
2529
recreate your database/table.
 
2530
 
 
2531
You will need to choose "Save as file", so that phpMyAdmin can transmit the
 
2532
resulting dump to your station. Depending on your PHP configuration, you will
 
2533
see options to compress the dump. See also the $cfg['ExecTimeLimit']
 
2534
configuration variable.
 
2535
 
 
2536
For additional help on this subject, look for the word "dump" in this document.
 
2537
 
 
2538
6.5 How can I restore (upload) my database or table using a dump? How can I run
 
2539
a ".sql" file?
 
2540
 
 
2541
Click on a database name in the left frame, the properties will be displayed.
 
2542
Select "Import" from the list of tabs in the right?hand frame (or "SQL" if your
 
2543
phpMyAdmin version is older than 2.7.0). In the "Location of the text file"
 
2544
section, type in the path to your dump filename, or use the Browse button. Then
 
2545
click Go.
 
2546
 
 
2547
With version 2.7.0, the import engine has been re?written, if possible it is
 
2548
suggested that you upgrade to take advantage of the new features.
 
2549
 
 
2550
For additional help on this subject, look for the word "upload" in this
 
2551
document.
 
2552
 
 
2553
6.6 How can I use the relation table in Query-by-example?
 
2554
 
 
2555
Here is an example with the tables persons, towns and countries, all located in
 
2556
the database mydb. If you don't have a pma_relation table, create it as
 
2557
explained in the configuration section. Then create the example tables:
 
2558
 
 
2559
CREATE TABLE REL_countries (
 
2560
    country_code char(1) NOT NULL default '',
 
2561
    description varchar(10) NOT NULL default '',
 
2562
    PRIMARY KEY (country_code)
 
2563
) TYPE=MyISAM;
 
2564
 
 
2565
INSERT INTO REL_countries VALUES ('C', 'Canada');
 
2566
 
 
2567
CREATE TABLE REL_persons (
 
2568
    id tinyint(4) NOT NULL auto_increment,
 
2569
    person_name varchar(32) NOT NULL default '',
 
2570
    town_code varchar(5) default '0',
 
2571
    country_code char(1) NOT NULL default '',
 
2572
    PRIMARY KEY (id)
 
2573
) TYPE=MyISAM;
 
2574
 
 
2575
INSERT INTO REL_persons VALUES (11, 'Marc', 'S', '');
 
2576
INSERT INTO REL_persons VALUES (15, 'Paul', 'S', 'C');
 
2577
 
 
2578
CREATE TABLE REL_towns (
 
2579
    town_code varchar(5) NOT NULL default '0',
 
2580
    description varchar(30) NOT NULL default '',
 
2581
    PRIMARY KEY (town_code)
 
2582
) TYPE=MyISAM;
 
2583
 
 
2584
INSERT INTO REL_towns VALUES ('S', 'Sherbrooke');
 
2585
INSERT INTO REL_towns VALUES ('M', 'Montr?al');
 
2586
 
 
2587
To setup appropriate links and display information:
 
2588
 
 
2589
  * on table "REL_persons" click Structure, then Relation view
 
2590
  * in Links, for "town_code" choose "REL_towns->code"
 
2591
  * in Links, for "country_code" choose "REL_countries->country_code"
 
2592
  * on table "REL_towns" click Structure, then Relation view
 
2593
  * in "Choose field to display", choose "description"
 
2594
  * repeat the two previous steps for table "REL_countries"
 
2595
 
 
2596
Then test like this:
 
2597
 
 
2598
  * Click on your db name in the left frame
 
2599
  * Choose "Query"
 
2600
  * Use tables: persons, towns, countries
 
2601
  * Click "Update query"
 
2602
  * In the fields row, choose persons.person_name and click the "Show" tickbox
 
2603
  * Do the same for towns.description and countries.descriptions in the other 2
 
2604
    columns
 
2605
  * Click "Update query" and you will see in the query box that the correct
 
2606
    joins have been generated
 
2607
  * Click "Submit query"
 
2608
 
 
2609
6.7 How can I use the "display field" feature?
 
2610
 
 
2611
Starting from the previous example, create the pma_table_info as explained in
 
2612
the configuration section, then browse your persons table, and move the mouse
 
2613
over a town code or country code.
 
2614
 
 
2615
See also FAQ 6.21 for an additional feature that "display field" enables:
 
2616
drop-down list of possible values.
 
2617
 
 
2618
6.8 How can I produce a PDF schema of my database?
 
2619
 
 
2620
First the configuration variables "relation", "table_coords" and "pdf_pages"
 
2621
have to be filled in.
 
2622
 
 
2623
Then you need to think about your schema layout. Which tables will go on which
 
2624
pages?
 
2625
 
 
2626
  * Select your database in the left frame.
 
2627
  * Choose "Operations" in the navigation bar at the top.
 
2628
  * Choose "Edit PDF Pages" near the bottom of the page.
 
2629
  * Enter a name for the first PDF page and click Go. If you like, you can use
 
2630
    the "automatic layout," which will put all your linked tables onto the new
 
2631
    page.
 
2632
  * Select the name of the new page (making sure the Edit radio button is
 
2633
    selected) and click Go.
 
2634
  * Select a table from the list, enter its coordinates and click Save.
 
2635
    Coordinates are relative; your diagram will be automatically scaled to fit
 
2636
    the page. When initially placing tables on the page, just pick any
 
2637
    coordinates -- say, 50x50. After clicking Save, you can then use the
 
2638
    graphical editor to position the element correctly.
 
2639
  * When you'd like to look at your PDF, first be sure to click the Save button
 
2640
    beneath the list of tables and coordinates, to save any changes you made
 
2641
    there. Then scroll all the way down, select the PDF options you want, and
 
2642
    click Go.
 
2643
  * Internet Explorer for Windows may suggest an incorrect filename when you
 
2644
    try to save a generated PDF. When saving a generated PDF, be sure that the
 
2645
    filename ends in ".pdf", for example "schema.pdf". Browsers on other
 
2646
    operating systems, and other browsers on Windows, do not have this problem.
 
2647
 
 
2648
6.9 phpMyAdmin is changing the type of one of my columns!
 
2649
 
 
2650
No, it's MySQL that is doing silent column type changing.
 
2651
 
 
2652
6.10 When creating a privilege, what happens with underscores in the database
 
2653
name?
 
2654
 
 
2655
If you do not put a backslash before the underscore, this is a wildcard grant,
 
2656
and the underscore means "any character". So, if the database name is
 
2657
"john_db", the user would get rights to john1db, john2db ...
 
2658
 
 
2659
If you put a backslash before the underscore, it means that the database name
 
2660
will have a real underscore.
 
2661
 
 
2662
6.11 What is the curious symbol ? in the statistics pages?
 
2663
 
 
2664
It means "average".
 
2665
 
 
2666
6.12 I want to understand some Export options.
 
2667
 
 
2668
Structure:
 
2669
 
 
2670
  * "Add DROP TABLE" will add a line telling MySQL to drop the table, if it
 
2671
    already exists during the import. It does NOT drop the table after your
 
2672
    export, it only affects the import file.
 
2673
  * "If Not Exists" will only create the table if it doesn't exist. Otherwise,
 
2674
    you may get an error if the table name exists but has a different
 
2675
    structure.
 
2676
  * "Add AUTO_INCREMENT value" ensures that AUTO_INCREMENT value (if any) will
 
2677
    be included in backup.
 
2678
  * "Enclose table and field names with backquotes" ensures that field and
 
2679
    table names formed with special characters are protected.
 
2680
  * "Add into comments" includes column comments, relations, and MIME types set
 
2681
    in the pmadb in the dump as SQL comments (/* xxx */).
 
2682
 
 
2683
Data:
 
2684
 
 
2685
  * "Complete inserts" adds the column names on every INSERT command, for
 
2686
    better documentation (but resulting file is bigger).
 
2687
  * "Extended inserts" provides a shorter dump file by using only once the
 
2688
    INSERT verb and the table name.
 
2689
  * "Delayed inserts" are best explained in the MySQL manual.
 
2690
  * "Ignore inserts" treats errors as a warning instead. Again, more info is
 
2691
    provided in the MySQL manual, but basically with this selected, invalid
 
2692
    values are adjusted and inserted rather than causing the entire statement
 
2693
    to fail.
 
2694
 
 
2695
6.13 I would like to create a database with a dot in its name.
 
2696
 
 
2697
This is a bad idea, because in MySQL the syntax "database.table" is the normal
 
2698
way to reference a database and table name. Worse, MySQL will usually let you
 
2699
create a database with a dot, but then you cannot work with it, nor delete it.
 
2700
 
 
2701
6.14 How do I set up the SQL Validator?
 
2702
 
 
2703
To use it, you need a very recent version of PHP, 4.3.0 recommended, with XML,
 
2704
PCRE and PEAR support. On your system command line, run "pear install
 
2705
Net_Socket Net_URL HTTP_Request Mail_Mime Net_DIME SOAP" to get the necessary
 
2706
PEAR modules for usage.
 
2707
On a more recent pear version, I had problems with the state of Net_DIME being
 
2708
beta, so this single command "pear -d preferred_state=beta install -a SOAP"
 
2709
installed all the needed modules.
 
2710
If you use the Validator, you should be aware that any SQL statement you submit
 
2711
will be stored anonymously (database/table/column names, strings, numbers
 
2712
replaced with generic values). The Mimer SQL Validator itself, is ? 2001
 
2713
Upright Database Technology. We utilize it as free SOAP service.
 
2714
 
 
2715
6.15 I want to add a BLOB field and put an index on it, but MySQL says "BLOB
 
2716
column '...' used in key specification without a key length".
 
2717
 
 
2718
The right way to do this, is to create the field without any indexes, then
 
2719
display the table structure and use the "Create an index" dialog. On this page,
 
2720
you will be able to choose your BLOB field, and set a size to the index, which
 
2721
is the condition to create an index on a BLOB field.
 
2722
 
 
2723
6.16 How can I simply move in page with plenty editing fields?
 
2724
 
 
2725
You can use Ctrl+arrows (Option+Arrows in Safari) for moving on most pages with
 
2726
many editing fields (table structure changes, row editing, etc.) (must be
 
2727
enabled in configuration - see. $cfg['CtrlArrowsMoving']). You can also have a
 
2728
look at the directive $cfg['DefaultPropDisplay'] ('vertical') and see if this
 
2729
eases up editing for you.
 
2730
 
 
2731
6.17 Transformations: I can't enter my own mimetype! WTF is this feature then
 
2732
useful for?
 
2733
 
 
2734
Slow down :). Defining mimetypes is of no use, if you can't put transformations
 
2735
on them. Otherwise you could just put a comment on the field. Because entering
 
2736
your own mimetype will cause serious syntax checking issues and validation,
 
2737
this introduces a high-risk false-user-input situation. Instead you have to
 
2738
initialize mimetypes using functions or empty mimetype definitions.
 
2739
Plus, you have a whole overview of available mimetypes. Who knows all those
 
2740
mimetypes by heart so he/she can enter it at will?
 
2741
 
 
2742
6.18 Bookmarks: Where can I store bookmarks? Why can't I see any bookmarks
 
2743
below the query box? What is this variable for?
 
2744
 
 
2745
Any query you have executed can be stored as a bookmark on the page where the
 
2746
results are displayed. You will find a button labeled 'Bookmark this query'
 
2747
just at the end of the page.
 
2748
As soon as you have stored a bookmark, it is related to the database you run
 
2749
the query on. You can now access a bookmark dropdown on each page, the query
 
2750
box appears on for that database.
 
2751
 
 
2752
Since phpMyAdmin 2.5.0 you are also able to store variables for the bookmarks.
 
2753
Just use the string /*[VARIABLE]*/ anywhere in your query. Everything which is
 
2754
put into the value input box on the query box page will replace the string "/*
 
2755
[VARIABLE]*/" in your stored query. Just be aware of that you HAVE to create a
 
2756
valid query, otherwise your query won't be even able to be stored in the
 
2757
database.
 
2758
Also remember, that everything else inside the /*[VARIABLE]*/ string for your
 
2759
query will remain the way it is, but will be stripped of the /**/ chars. So you
 
2760
can use:
 
2761
 
 
2762
/*, [VARIABLE] AS myname */
 
2763
 
 
2764
which will be expanded to
 
2765
 
 
2766
, VARIABLE as myname
 
2767
 
 
2768
in your query, where VARIABLE is the string you entered in the input box. If an
 
2769
empty string is provided, no replacements are made.
 
2770
 
 
2771
A more complex example. Say you have stored this query:
 
2772
 
 
2773
SELECT Name, Address FROM addresses WHERE 1 /* AND Name LIKE '%[VARIABLE]%' */
 
2774
 
 
2775
Say, you now enter "phpMyAdmin" as the variable for the stored query, the full
 
2776
query will be:
 
2777
 
 
2778
SELECT Name, Address FROM addresses WHERE 1 AND Name LIKE '%phpMyAdmin%'
 
2779
 
 
2780
You can use multiple occurrences of /*[VARIABLE]*/ in a single query.
 
2781
NOTE THE ABSENCE OF SPACES inside the "/**/" construct. Any spaces inserted
 
2782
there will be later also inserted as spaces in your query and may lead to
 
2783
unexpected results especially when using the variable expansion inside of a
 
2784
"LIKE ''" expression.
 
2785
Your initial query which is going to be stored as a bookmark has to yield at
 
2786
least one result row so you can store the bookmark. You may have that to work
 
2787
around using well positioned "/**/" comments.
 
2788
 
 
2789
6.19 How can I create simple L^AT[E]X document to include exported table?
 
2790
 
 
2791
You can simply include table in your L^AT[E]X documents, minimal sample
 
2792
document should look like following one (assuming you have table exported in
 
2793
file table.tex):
 
2794
 
 
2795
\documentclass{article} % or any class you want
 
2796
\usepackage{longtable}  % for displaying table
 
2797
\begin{document}        % start of document
 
2798
\include{table}         % including exported table
 
2799
\end{document}          % end of document
 
2800
 
 
2801
6.20 In MySQL 4, I see a lot of databases which are not mine, and cannot access
 
2802
them.
 
2803
 
 
2804
Upgrading to MySQL 4 usually gives users those global privileges: CREATE
 
2805
TEMPORARY TABLES, SHOW DATABASES, LOCK TABLES. Those privileges also enable
 
2806
users to see all the database names. See this bug report.
 
2807
 
 
2808
So if your users do not need those privileges, you can remove them and their
 
2809
databases list will shorten.
 
2810
 
 
2811
6.21 In edit/insert mode, how can I see a list of possible values for a field,
 
2812
based on some foreign table?
 
2813
 
 
2814
You have to setup appropriate links between the tables, and also setup the
 
2815
"display field" in the foreign table. See FAQ 6.6 for an example. Then, if
 
2816
there are 200 values or less in the foreign table, a drop-down list of values
 
2817
will be available. You will see two lists of values, the first list containing
 
2818
the key and the display field, the second list containing the display field and
 
2819
the key. The reason for this is to be able to type the first letter of either
 
2820
the key or the display field.
 
2821
 
 
2822
For 200 values or more, a distinct window will appear, to browse foreign key
 
2823
values and choose one.
 
2824
 
 
2825
6.22 Bookmarks: Can I execute a default bookmark automatically when entering
 
2826
Browse mode for a table?
 
2827
 
 
2828
Yes. If a bookmark has the same label as a table name, it will be executed.
 
2829
 
 
2830
6.23 Export: I heard phpMyAdmin can export Microsoft Excel files, how can I
 
2831
enable that?
 
2832
 
 
2833
Current version does support direct export to Microsoft Excel and Word versions
 
2834
2000 and newer. If you need export older versions, you can use CSV suitable for
 
2835
Microsoft Excel, which works out of the box or you can try native experimental
 
2836
MS Excel exporter. This export has several problems, most important are
 
2837
limitation of cell content to 255 chars and no support for charsets, so think
 
2838
carefully whether you want to enable this.. For enabling this you need to set
 
2839
$cfg['TempDir'] to place where web server user can write (for example './tmp')
 
2840
and install PEAR module Spreadsheet_Excel_Writer into php include path. The
 
2841
installation can be done by following command:
 
2842
 
 
2843
pear -d preferred_state=beta install -a Spreadsheet_Excel_Writer
 
2844
 
 
2845
First part of switches set we want to install beta version of that module (no
 
2846
stable version available yet) and then we tell pear we want to satisfy
 
2847
dependencies.
 
2848
 
 
2849
If you are running in PHP safe mode, you will have to set in php.ini the
 
2850
safe_mode_include_dir to the directory where your PEAR modules are located, for
 
2851
example:
 
2852
 
 
2853
safe_mode_include_dir = /usr/local/lib/php
 
2854
 
 
2855
To create the temporary directory on a UNIX-based system, you can do:
 
2856
 
 
2857
cd phpMyAdmin
 
2858
mkdir tmp
 
2859
chmod o+rwx tmp
 
2860
 
 
2861
6.24 Now that phpMyAdmin supports native MySQL 4.1.x column comments, what
 
2862
happens to my column comments stored in pmadb?
 
2863
 
 
2864
Automatic migration of a table's pmadb-style column comments to the native ones
 
2865
is done whenever you enter Structure page for this table.
 
2866
 
 
2867
phpMyAdmin project
 
2868
 
 
2869
7.1 I have found a bug. How do I inform developers?
 
2870
 
 
2871
Our Bug Tracker is located at http://sf.net/projects/phpmyadmin/ under the Bugs
 
2872
section.
 
2873
 
 
2874
But please first discuss your bug with other users:
 
2875
http://sf.net/projects/phpmyadmin/ (and choose Forums)
 
2876
 
 
2877
7.2 I want to translate the messages to a new language or upgrade an existing
 
2878
language, where do I start?
 
2879
 
 
2880
Always use the current SVN version of your language file. For a new language,
 
2881
start from english-iso-8859-1.inc.php. If you don't know how to get the SVN
 
2882
version, please ask one of the developers.
 
2883
Please note that we try not to use HTML entities like &eacute; in the
 
2884
translations, since we define the right character set in the file. With HTML
 
2885
entities, the text on JavaScript messages would not display correctly. However
 
2886
there are some entities that need to be there, for quotes ,non-breakable
 
2887
spaces, ampersands, less than, greater than.
 
2888
You can then put your translations, as a zip file to avoid losing special
 
2889
characters, on the sourceforge.net translation tracker.
 
2890
It would be a good idea to subscribe to the phpmyadmin-translators mailing
 
2891
list, because this is where we ask for translations of new messages.
 
2892
 
 
2893
7.3 I would like to help out with the development of phpMyAdmin. How should I
 
2894
proceed?
 
2895
 
 
2896
The following method is preferred for new developers:
 
2897
 
 
2898
 1. fetch the current SVN tree over anonymous SVN:
 
2899
    svn co https://svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyAdmin
 
2900
 2. add your stuff
 
2901
 3. generate patch with your changes: svn diff
 
2902
 4. put the patch inside the patch tracker of the phpMyAdmin project.
 
2903
 
 
2904
Write access to the SVN tree is granted only to experienced developers who have
 
2905
already contributed something useful to phpMyAdmin.
 
2906
Also, have a look at the Developers section.
 
2907
 
 
2908
Security
 
2909
 
 
2910
8.1 Where can I get information about the security alerts issued for
 
2911
phpMyAdmin?
 
2912
 
 
2913
Please refer to http://www.phpmyadmin.net/home_page/security.php
 
2914
 
 
2915
Developers Information
 
2916
 
 
2917
phpMyAdmin is Open Source, so you're invited to contribute to it. Many great
 
2918
features have been written by other people and you too can help to make
 
2919
phpMyAdmin a useful tool.
 
2920
 
 
2921
If you're planning to contribute source, please read the following information:
 
2922
 
 
2923
  * All files include libraries/header.inc.php (layout),. libraries/
 
2924
    common.lib.php (common functions) and config.inc.php.
 
2925
    Only configuration data should go in config.inc.php. Please keep it free
 
2926
    from other code.
 
2927
    Commonly used functions should be added to libraries/common.lib.php and
 
2928
    more specific ones may be added within a library stored into the libraries
 
2929
    sub-directory.
 
2930
  * Obviously, you're free to use whatever coding style you want. But please
 
2931
    try to keep your code as simple as possible: beginners are using phpMyAdmin
 
2932
    as an example application.
 
2933
    As far as possible, we want the scripts to be XHTML1.0 and CSS2 compliant
 
2934
    on one hand, they fit the PEAR coding standards on the other hand. Please
 
2935
    pay attention to this.
 
2936
  * Please try to keep up the file-naming conventions. Table-related stuff goes
 
2937
    to tbl_*.php, db-related code to db_*.php, server-related tools to
 
2938
    server_*.php and so on.
 
2939
  * Please don't use verbose strings in your code, instead add the string (at
 
2940
    least) to english-iso-8859-1.inc.php and print() it out.
 
2941
  * If you want to be really helpful, write an entry for the ChangeLog.
 
2942
  * The DBG extension (PHP Debugger DBG) is now supported by phpMyAdmin for
 
2943
    developers to better debug and profile their code.
 
2944
    Please see the $cfg['DBG']* configuration options for more information.
 
2945
    This is in memoriam of the Space Shuttle Columbia (STS-107) which was lost
 
2946
    during its re-entry into Earth's atmosphere and in memory of the brave men
 
2947
    and women who gave their lives for the people of Earth.
 
2948
 
 
2949
Credits
 
2950
 
 
2951
phpMyAdmin - Credits
 
2952
====================
 
2953
 
 
2954
CREDITS, in chronological order
 
2955
-------------------------------
 
2956
 
 
2957
- Tobias Ratschiller <tobias_at_ratschiller.com>
 
2958
    * creator of the phpmyadmin project
 
2959
    * maintainer from 1998 to summer 2000
 
2960
 
 
2961
- Marc Delisle <Marc.Delisle_at_cegepsherbrooke.qc.ca>
 
2962
    * multi-language version
 
2963
    * various fixes and improvements
 
2964
    * SQL analyser (most of it)
 
2965
    * current project maintainer
 
2966
 
 
2967
- Olivier M?ller <om_at_omnis.ch>
 
2968
    * started SourceForge phpMyAdmin project in March 2001
 
2969
    * sync'ed different existing CVS trees with new features and bugfixes
 
2970
    * multi-language improvements, dynamic language selection
 
2971
    * current project maintainer
 
2972
    * many bugfixes and improvements
 
2973
 
 
2974
- Lo?c Chapeaux <lolo_at_phpheaven.net>
 
2975
    * rewrote and optimized javascript, DHTML and DOM stuff
 
2976
    * rewrote the scripts so they fit the PEAR coding standards and
 
2977
      generate XHTML1.0 and CSS2 compliant codes
 
2978
    * improved the language detection system
 
2979
    * many bugfixes and improvements
 
2980
 
 
2981
- Robin Johnson <robbat2_at_users.sourceforge.net>
 
2982
    * database maintenance controls
 
2983
    * table type code
 
2984
    * Host authentication IP Allow/Deny
 
2985
    * DB-based configuration (Not completed)
 
2986
    * SQL parser and pretty-printer
 
2987
    * SQL validator
 
2988
    * many bugfixes and improvements
 
2989
 
 
2990
- Armel Fauveau <armel.fauveau_at_globalis-ms.com>
 
2991
    * bookmarks feature
 
2992
    * multiple dump feature
 
2993
    * gzip dump feature
 
2994
    * zip dump feature
 
2995
 
 
2996
- Geert Lund <glund_at_silversoft.dk>
 
2997
    * various fixes
 
2998
    * moderator of the phpMyAdmin former users forum at phpwizard.net
 
2999
 
 
3000
- Korakot Chaovavanich <korakot_at_iname.com>
 
3001
    * "insert as new row" feature
 
3002
 
 
3003
- Pete Kelly <webmaster_at_trafficg.com>
 
3004
    * rewrote and fix dump code
 
3005
    * bugfixes
 
3006
 
 
3007
- Steve Alberty <alberty_at_neptunlabs.de>
 
3008
    * rewrote dump code for PHP4
 
3009
    * mySQL table statistics
 
3010
    * bugfixes
 
3011
 
 
3012
- Benjamin Gandon <gandon_at_isia.cma.fr>
 
3013
    * main author of the version 2.1.0.1
 
3014
    * bugfixes
 
3015
 
 
3016
- Alexander M. Turek <me_at_derrabus.de>
 
3017
    * MySQL 4.0 / 4.1 / 5.0 compatibility
 
3018
    * abstract database interface (PMA_DBI) with MySQLi support
 
3019
    * privileges administration
 
3020
    * XML exports
 
3021
    * various features and fixes
 
3022
    * German language file updates
 
3023
 
 
3024
- Mike Beck <mike.beck_at_web.de>
 
3025
    * automatic joins in QBE
 
3026
    * links column in printview
 
3027
    * Relation view
 
3028
 
 
3029
- Michal ?iha? <michal_at_cihar.com>
 
3030
    * enhanced index creation/display feature
 
3031
    * feature to use a different charset for HTML than for MySQL
 
3032
    * improvements of export feature
 
3033
    * various features and fixes
 
3034
    * Czech language file updates
 
3035
 
 
3036
- Christophe Gesch? from the "MySQL Form Generator for PHPMyAdmin"
 
3037
  (http://sf.net/projects/phpmysqlformgen/)
 
3038
    * suggested the patch for multiple table printviews
 
3039
 
 
3040
- Garvin Hicking <me_at_supergarv.de>
 
3041
    * built the patch for vertical display of table rows
 
3042
    * built the Javascript based Query window + SQL history
 
3043
    * Improvement of column/db comments
 
3044
    * (MIME)-Transformations for columns
 
3045
    * Use custom alias names for Databases in left frame
 
3046
    * hierarchical/nested table display
 
3047
    * PDF-scratchboard for WYSIWYG-distribution of PDF relations
 
3048
    * new icon sets
 
3049
    * vertical display of column properties page
 
3050
    * some bugfixes, features, support, German language additions
 
3051
 
 
3052
- Yukihiro Kawada <kawada_at_den.fujifilm.co.jp>
 
3053
    * japanese kanji encoding conversion feature
 
3054
 
 
3055
- Piotr Roszatycki <d3xter_at_users.sourceforge.net> and Dan Wilson
 
3056
    * the Cookie authentication mode
 
3057
 
 
3058
- Axel Sander <n8falke_at_users.sourceforge.net>
 
3059
    * table relation-links feature
 
3060
 
 
3061
- Maxime Delorme <delorme.maxime_at_free.fr>
 
3062
    * PDF schema output, thanks also to Olivier Plathey for the
 
3063
      "FPDF" library (see http://www.fpdf.org/) and Steven Wittens
 
3064
      for the "UFPDF" library (see http://www.acko.net/node/56).
 
3065
 
 
3066
- Olof Edlund <olof.edlund_at_upright.se>
 
3067
    * SQL validator server
 
3068
 
 
3069
- Ivan R. Lanin <ivanlanin_at_users.sourceforge.net>
 
3070
    * phpMyAdmin logo (until June 2004)
 
3071
 
 
3072
- Mike Cochrane <mike_at_graftonhall.co.nz>
 
3073
    * blowfish library from the Horde project
 
3074
 
 
3075
- Marcel Tschopp <ne0x_at_users.sourceforge.net>
 
3076
    * mysqli support
 
3077
    * many bugfixes and improvements
 
3078
 
 
3079
- Michael Keck <mkkeck_at_users.sourceforge.net>
 
3080
    * redesign for 2.6.0
 
3081
    * phpMyAdmin sailboat logo (June 2004)
 
3082
 
 
3083
- Mathias Landh?u?er
 
3084
    * Representation at conferences
 
3085
 
 
3086
- Sebastian Mendel <cybot_tm_at_users.sourceforge.net>
 
3087
    * interface improvements
 
3088
    * various bugfixes
 
3089
 
 
3090
- Ivan A Kirillov
 
3091
    * new relations Designer
 
3092
 
 
3093
And also to the following people who have contributed minor changes,
 
3094
enhancements, bugfixes or support for a new language since version 2.1.0:
 
3095
 
 
3096
Bora Alioglu, Ricardo ?, Sven-Erik Andersen, Alessandro Astarita,
 
3097
P?ter Bakondy, Borges Botelho, Olivier Bussier, Neil Darlow,
 
3098
Mats Engstrom, Ian Davidson, Laurent Dhima, Kristof Hamann, Thomas Kl?ger,
 
3099
Lubos Klokner, Martin Marconcini, Girish Nair, David Nordenberg, Andreas Pauley,
 
3100
Bernard M. Piller, Laurent Haas, "Sakamoto", Yuval Sarna,
 
3101
www.securereality.com.au, Alexis Soulard, Alvar Soome, Siu Sun, Peter Svec,
 
3102
Michael Tacelosky, Rachim Tamsjadi, Kositer Uros,
 
3103
Lu?s V., Martijn W. van der Lee,
 
3104
Algis Vainauskas, Daniel Villanueva, Vinay, Ignacio Vazquez-Abrams, Chee Wai,
 
3105
Jakub Wilk, Thomas Michael Winningham, Vilius Zigmantas, "Manuzhai".
 
3106
 
 
3107
 
 
3108
Original Credits of Version 2.1.0
 
3109
---------------------------------
 
3110
 
 
3111
    This work is based on Peter Kuppelwieser's MySQL-Webadmin. It was his idea
 
3112
    to create a web-based interface to MySQL using PHP3. Although I have not
 
3113
    used any of his source-code, there are some concepts I've borrowed from
 
3114
    him. phpMyAdmin was created because Peter told me he wasn't going to
 
3115
    further develop his (great) tool.
 
3116
    Thanks go to
 
3117
    - Amalesh Kempf <ak-lsml_at_living-source.com> who contributed the
 
3118
      code for the check when dropping a table or database. He also suggested
 
3119
      that you should be able to specify the primary key on tbl_create.php3. To
 
3120
      version 1.1.1 he contributed the ldi_*.php3-set (Import text-files) as
 
3121
      well as a bug-report. Plus many smaller improvements.
 
3122
    - Jan Legenhausen <jan_at_nrw.net>: He made many of the changes that
 
3123
      were introduced in 1.3.0 (including quite significant ones like the
 
3124
      authentication). For 1.4.1 he enhanced the table-dump feature. Plus
 
3125
      bug-fixes and help.
 
3126
    - Marc Delisle <DelislMa_at_CollegeSherbrooke.qc.ca> made phpMyAdmin
 
3127
      language-independent by outsourcing the strings to a separate file. He
 
3128
      also contributed the French translation.
 
3129
    - Alexandr Bravo <abravo_at_hq.admiral.ru> who contributed
 
3130
      tbl_select.php3, a feature to display only some fields from a table.
 
3131
    - Chris Jackson <chrisj_at_ctel.net> added support for MySQL
 
3132
      functions in tbl_change.php3. He also added the
 
3133
      "Query by Example" feature in 2.0.
 
3134
    - Dave Walton <walton_at_nordicdms.com> added support for multiple
 
3135
      servers and is a regular contributor for bug-fixes.
 
3136
    - Gabriel Ash <ga244_at_is8.nyu.edu> contributed the random access
 
3137
      features for 2.0.6.
 
3138
    The following people have contributed minor changes, enhancements, bugfixes
 
3139
    or support for a new language:
 
3140
    Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann,
 
3141
    Alexander Leidinger, Kiko Albiol, Daniel C. Chao, Pavel Piankov,
 
3142
    Sascha Kettler, Joe Pruett, Renato Lins, Mark Kronsbein, Jannis Hermanns,
 
3143
    G. Wieggers.
 
3144
 
 
3145
    And thanks to everyone else who sent me email with suggestions, bug-reports
 
3146
    and or just some feedback.
 
3147
 
 
3148
Glossary
 
3149
 
 
3150
From Wikipedia, the free encyclopedia
 
3151
 
 
3152
  * .htaccess - the default name of Apache's directory-level configuration
 
3153
    file.
 
3154
  * Blowfish - a keyed, symmetric block cipher, designed in 1993 by Bruce
 
3155
    Schneier.
 
3156
  * Browser (Web Browser) - a software application that enables a user to
 
3157
    display and interact with text, images, and other information typically
 
3158
    located on a web page at a website on the World Wide Web.
 
3159
  * bzip2 - a free software/open source data compression algorithm and program
 
3160
    developed by Julian Seward.
 
3161
  * CGI (Common Gateway Interface) - an important World Wide Web technology
 
3162
    that enables a client web browser to request data from a program executed
 
3163
    on the Web server.
 
3164
  * Changelog - a log or record of changes made to a project.
 
3165
  * Client - a computer system that accesses a (remote) service on another
 
3166
    computer by some kind of network.
 
3167
  * column - a set of data values of a particular simple type, one for each row
 
3168
    of the table.
 
3169
  * Cookie - a packet of information sent by a server to a World Wide Web
 
3170
    browser and then sent back by the browser each time it accesses that
 
3171
    server.
 
3172
  * CSV - Comma-seperated values
 
3173
  * DB - look at Database.
 
3174
  * database - an organized collection of data.
 
3175
  * Engine - look at Storage Engines.
 
3176
  * extension - a PHP module that extends PHP with additional functionality.
 
3177
  * FAQ (Frequently Asked Questions) - a list of commonly asked question and
 
3178
    there answers.
 
3179
  * Field - one part of divided data/columns.
 
3180
  * foreign key - a field or group of fields in a database record that point to
 
3181
    a key field or group of fields forming a key of another database record in
 
3182
    some (usually different) table.
 
3183
  * FPDF (FreePDF) - the free PDF library
 
3184
  * GD Graphics Library - a library by Thomas Boutell and others for
 
3185
    dynamically manipulating images.
 
3186
  * GD2 - look at GD Graphics Library.
 
3187
  * gzip - gzip is short for GNU zip, a GNU free software file compression
 
3188
    program.
 
3189
  * host - any machine connected to a computer network, a node that has a
 
3190
    hostname.
 
3191
  * hostname - the unique name by which a network attached device is known on a
 
3192
    network.
 
3193
  * HTTP (HyperText Transfer Protocol) - the primary method used to transfer or
 
3194
    convey information on the World Wide Web.
 
3195
  * https - a HTTP-connection with additional security measures.
 
3196
  * IIS (Internet Information Services) - a set of Internet-based services for
 
3197
    servers using Microsoft Windows.
 
3198
  * Index - a feature that allows quick access to the rows in a table.
 
3199
  * IP (Internet Protocol) - a data-oriented protocol used by source and
 
3200
    destination hosts for communicating data across a packet-switched
 
3201
    internetwork.
 
3202
  * IP Address - a unique number that devices use in order to identify and
 
3203
    communicate with each other on a network utilizing the Internet Protocol
 
3204
    standard.
 
3205
  * ISAPI (Internet Server Application Programming Interface) - the API of
 
3206
    Internet Information Services (IIS).
 
3207
  * ISP (Internet service provider) - a business or organization that offers
 
3208
    users access to the Internet and related services.
 
3209
  * JPEG - a most commonly used standard method of lossy compression for
 
3210
    photographic images.
 
3211
  * JPG - look at JPEG.
 
3212
  * Key - look at index.
 
3213
  * L^AT[E]X - a document preparation system for the T[E]X typesetting program.
 
3214
  * Mac (Apple Macintosh) - line of personal computers is designed, developed,
 
3215
    manufactured, and marketed by Apple Computer.
 
3216
  * Mac OS X - the operating system which is included with all currently
 
3217
    shipping Apple Macintosh computers in the consumer and professional
 
3218
    markets.
 
3219
  * MCrypt - a cryptographic library.
 
3220
  * mcrypt - the MCrypt PHP extension.
 
3221
  * MIME (Multipurpose Internet Mail Extensions) - an Internet Standard for the
 
3222
    format of e-mail.
 
3223
  * module - some sort of extension for the Apache Webserver.
 
3224
  * MySQL - a multithreaded, multi-user, SQL (Structured Query Language)
 
3225
    Database Management System (DBMS).
 
3226
  * mysqli - the improved MySQL client PHP extension.
 
3227
  * mysql - the MySQL client PHP extension.
 
3228
  * OpenDocument - open standard for office documents.
 
3229
  * OS X - look at Mac OS X.
 
3230
  * PDF (Portable Document Format) - a file format developed by Adobe Systems
 
3231
    for representing two dimensional documents in a device independent and
 
3232
    resolution independent format.
 
3233
  * PEAR - the PHP Extension and Application Repository.
 
3234
  * PCRE (Perl Compatible Regular Expressions) - the perl-compatible regular
 
3235
    expression functions for PHP
 
3236
  * PHP - short for "PHP: Hypertext Preprocessor", is an open-source,
 
3237
    reflective programming language used mainly for developing server-side
 
3238
    applications and dynamic web content, and more recently, a broader range of
 
3239
    software applications.
 
3240
  * port - a connection through which data is sent and received.
 
3241
  * RFC - Request for Comments (RFC) documents are a series of memoranda
 
3242
    encompassing new research, innovations, and methodologies applicable to
 
3243
    Internet technologies.
 
3244
  * RFC 1952 - GZIP file format specification version 4.3
 
3245
  * Row (record, tulpel) - represents a single, implicitly structured data item
 
3246
    in a table.
 
3247
  * Server - a computer system that provides services to other computing
 
3248
    systems over a network.
 
3249
  * Storage Engines - handlers for different table types
 
3250
  * socket - a form of inter-process communication.
 
3251
  * SSL (Secure Sockets Layer) - a cryptographic protocol which provides secure
 
3252
    communication on the Internet.
 
3253
  * SQL - Structured Query Language
 
3254
  * table - a set of data elements (cells) that is organized, defined and
 
3255
    stored as horizontal rows and vertical columns where each item can be
 
3256
    uniquely identified by a label or key or by it?s position in relation to
 
3257
    other items.
 
3258
  * Table type
 
3259
  * tar - a type of archive file format: the Tape ARchive format.
 
3260
  * TCP (Transmission Control Protocol) - one of the core protocols of the
 
3261
    Internet protocol suite.
 
3262
  * UFPDF - Unicode/UTF-8 extension for FPDF
 
3263
  * URL (Uniform Resource Locator) - a sequence of characters, conforming to a
 
3264
    standardized format, that is used for referring to resources, such as
 
3265
    documents and images on the Internet, by their location.
 
3266
  * Webserver - A computer (program) that is responsible for accepting HTTP
 
3267
    requests from clients and serving them Web pages.
 
3268
  * XML (Extensible Markup Language) - a W3C-recommended general-purpose markup
 
3269
    language for creating special-purpose markup languages, capable of
 
3270
    describing many different kinds of data.
 
3271
  * ZIP - a popular data compression and archival format.
 
3272
  * zlib - an open-source, cross-platform data compression library by Jean-loup
 
3273
    Gailly and Mark Adler.
 
3274
 
 
3275
Valid XHTML 1.1 Valid CSS!
 
3276