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