935 lines
42 KiB
Plaintext
935 lines
42 KiB
Plaintext
|
||
phpMyAdmin 2.2.3 Documentation
|
||
|
||
* Official phpMyAdmin project homepage [
|
||
http://www.phpwizard.net/projects/phpMyAdmin/ ]
|
||
* Sourceforge phpMyAdmin download page [
|
||
http://phpmyadmin.sourceforge.net/ ]
|
||
* Local documents:
|
||
+ Version history: ChangeLog
|
||
+ General notes: README
|
||
+ License: LICENSE
|
||
* Documentation version: $Id: Documentation.html,v 1.122 2002/01/06
|
||
19:04:25 lem9 Exp $
|
||
______________________________________________________________________
|
||
|
||
Top - Requirements - Introduction - Installation -
|
||
Configuration - FAQ - Developers - Credits
|
||
______________________________________________________________________
|
||
|
||
Requirements
|
||
|
||
* PHP3 or PHP4: phpMyAdmin widely uses the 'str_replace()' php
|
||
function that was added in PHP 3.0.6, but was buggy up until
|
||
PHP 3.0.8. Then you should not run this script with PHP3 < 3.0.8.
|
||
PHP also needs to be compiled with MySQL support;
|
||
* MySQL (tested with 3.21.x, 3.22.x and 3.23.x);
|
||
* a web-browser (doh!).
|
||
______________________________________________________________________
|
||
|
||
Top - Requirements - Introduction - Installation -
|
||
Configuration - FAQ - Developers - Credits
|
||
______________________________________________________________________
|
||
|
||
Introduction
|
||
|
||
phpMyAdmin can manage a whole MySQL-server (needs a super-user) but
|
||
also a single database. To accomplish the latter you'll need a
|
||
properly set up MySQL-user who can read/write only the desired
|
||
database. It's up to you to look up the appropriate part in the MySQL
|
||
manual. Currently phpMyAdmin can:
|
||
* create and drop databases
|
||
* create, copy, drop and alter tables
|
||
* delete, edit and add fields
|
||
* execute any SQL-statement, even batch-queries
|
||
* manage keys on fields
|
||
* load text files into tables
|
||
* create (*) and read dumps of tables
|
||
* export (*) and import data to CSV values
|
||
* administer multiple servers and single databases
|
||
* communicate in more than 20 different languages
|
||
|
||
(*) phpMyAdmin can compress (Zip, GZip -RFC 1952- or Bzip2 formats)
|
||
dumps and CSV exports if you use PHP4 >= 4.0.4 with Zlib support
|
||
(--with-zlib) and/or Bzip2 support (--with-bz2).
|
||
______________________________________________________________________
|
||
|
||
Top - Requirements - Introduction - Installation -
|
||
Configuration - FAQ - Developers - Credits
|
||
______________________________________________________________________
|
||
|
||
Installation
|
||
|
||
NOTE: phpMyAdmin does not apply any special security methods to the
|
||
MySQL database server. It is still the sysadmin's job to grant
|
||
permissions on the MySQL databases properly.
|
||
|
||
Warning for Mac users: php seems not to like Mac end of lines
|
||
character ("\r") and Stuffit unstuffs with Mac formats, of course.
|
||
So you'll have to resave as in Bbedit to unix style ALL phpMyAdmin
|
||
scripts before uploading them to your server.
|
||
|
||
Quick Install:
|
||
1. Untar or unzip the distribution (be sure to unzip the
|
||
subdirectories): tar xzvf phpMyAdmin_x.x.x.tar.gz
|
||
2. Open the file config.inc.php3 in your favourite editor and change
|
||
the values for host, user and password to fit your environment.
|
||
Have a look at Configuration section for an explanation of all
|
||
values.
|
||
3. It is recommended that you protect the directory in which you
|
||
installed phpMyAdmin (unless it's on a closed intranet, or you
|
||
wish to use http or cookie authentication), for example with
|
||
HTTP-AUTH (in a .htaccess file). See the FAQ section for
|
||
additional information.
|
||
4. Open the file <www.your-host.com>/<your-install-dir>/index.php3 in
|
||
your browser. phpMyAdmin should now display a welcome screen and
|
||
your databases, or a login dialog if using http or cookie
|
||
authentication mode.
|
||
|
||
Upgrading from an older version:
|
||
* Please do not copy your older config.inc.php3 over the new one: it
|
||
may offer new configuration variables, and the new version may
|
||
depend on these for normal behavior. It is suggested instead to
|
||
insert your site values in the new one.
|
||
|
||
Using authentication modes:
|
||
* Http and cookie authentication modes are recommended in a
|
||
multi-user environment where you want to give users access to
|
||
their own database and don't want them to play around with others.
|
||
* Http and cookie authentication modes are secure: the MySQL
|
||
password does not need to be set in the phpMyAdmin configuration
|
||
file. (except for the "standard user" -see the Configuration
|
||
section-).
|
||
In cookie mode, we send the password in a temporary cookie, so
|
||
most browsers should not store the password in their cookie file.
|
||
* For 'http' and 'cookie' modes, phpMyAdmin needs a stduser that has
|
||
only the SELECT privilege on the mysql.user (all columns except
|
||
"Password"), mysql.db (all columns) & mysql.tables_priv (all
|
||
columns except "Grantor" & "Timestamp") tables.
|
||
You must specify the details for the stduser in the
|
||
config.inc.php3 file under the $cfgServers[n]['stduser'] &
|
||
$cfgServers[n]['stdpass'] settings.
|
||
To create the control account (<stduser> and <stdpass> have to be
|
||
replaced by your own values, of course):
|
||
|
||
GRANT USAGE ON mysql.* TO '<stduser>'@'localhost' IDENTIFIED BY
|
||
'<stdpass>';
|
||
GRANT SELECT (Host, User, Select_priv, Insert_priv, Update_priv,
|
||
Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv,
|
||
Process_priv, File_priv, Grant_priv, References_priv, Index_priv,
|
||
Alter_priv) ON mysql.user TO '<stduser>'@'localhost';
|
||
GRANT SELECT ON mysql.db TO '<stduser>'@'localhost';
|
||
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv) ON
|
||
mysql.tables_priv TO '<stduser>'@'localhost';
|
||
... and if you want to use the bookmark feature:
|
||
GRANT SELECT, INSERT, DELETE ON <bookmark_db>.<bookmark_table> TO
|
||
'<stduser>'@'localhost';
|
||
* Then each of the true users should be granted of a set of
|
||
privileges on a set of perticular databases but shouldn't have any
|
||
global privileges. For example, to grant the user real_user with
|
||
all privileges on the database user_base:
|
||
GRANT ALL PRIVILEGES ON user_base.* TO 'real_user'@localhost
|
||
IDENTIFIED BY 'real_password';
|
||
What the user may now do is controlled entirely by the MySQL user
|
||
management system.
|
||
With http or cookie auth mode, you don't need to fill the
|
||
user/password fields inside the $cfgServers array.
|
||
|
||
'http' authentication mode:
|
||
* Was called 'advanced' in versions before 2.2.3.
|
||
* Introduced in 1.3.0, it uses Basic HTTP authentication method and
|
||
allows you to login as any valid MySQL user.
|
||
* Is only supported with PHP running as an Apache module, not with
|
||
cgi.
|
||
|
||
'cookie' authentication mode:
|
||
* You can use this method as a replacement for the http
|
||
authentication (for example, if you're running IIS).
|
||
* Obviously, the user must enable cookies in the browser.
|
||
* With this mode, the use can truly logout of phpMyAdmin and login
|
||
back with the same username.
|
||
|
||
'config' authentication mode:
|
||
* This mode is the less secure one because it requires you to fill
|
||
the $cfgServers[n]['user'] and $cfgServers[n]['password'] fields.
|
||
But usually you don't need to setup a "standard user" here: using
|
||
the $cfgServers[n]['only_db'] might be enough.
|
||
In the ISP FAQ section, there is an entry explaining how to
|
||
protect your configuration file.
|
||
______________________________________________________________________
|
||
|
||
Top - Requirements - Introduction - Installation -
|
||
Configuration - FAQ - Developers - Credits
|
||
______________________________________________________________________
|
||
|
||
Configuration
|
||
|
||
Warning for Mac users: php seems not to like Mac end of lines
|
||
character ("\r"). So ensure you choose the option that allows to use
|
||
the *nix end of line character ("\n") in your text editor before
|
||
registering a script you have modified.
|
||
|
||
All configurable data is placed in config.inc.php3.
|
||
|
||
$cfgPmaAbsoluteUri string
|
||
Sets here the complete url (with full path) to your phpMyAdmin
|
||
version. E.g.
|
||
http://www.your_web.net/path_to_your_phpMyAdmin_directory/.
|
||
Don't forget the slash at the end of your url.
|
||
|
||
$cfgServers array
|
||
Since version 1.4.2, phpMyAdmin supports the administration of
|
||
multiple MySQL servers. Therefore, a $cfgServers-array has been
|
||
added which contains the login information for the different
|
||
servers. $cfgServers[1]['host'] contains the hostname of the
|
||
first server, $cfgServers[2]['host'] the hostname of the second
|
||
server, etc. If you have only one server to administer, simply
|
||
leave free the hostname of the other $cfgServer-entries.
|
||
|
||
$cfgServers[n]['host'] string
|
||
The hostname of your n-th MySQL-server. E.g. localhost.
|
||
|
||
$cfgServers[n]['port'] string
|
||
The port-number of your n-th MySQL-server. Default is 3306
|
||
(leave blank).
|
||
|
||
$cfgServers[n]['socket'] string
|
||
The path to the socket to use. Leave blank for default.
|
||
To use the socket feature you must run php 3.0.10 or more.
|
||
|
||
$cfgServers[n]['connect_type'] string
|
||
What type connection to use with the MySQL server. Your options
|
||
are 'socket' & 'tcp'. It defaults to 'tcp' as that is nearly
|
||
guarenteed to be available on all MySQL servers, while sockets
|
||
are not supported on some platforms.
|
||
|
||
$cfgServers[n]['stduser'] string
|
||
$cfgServers[n]['stdpass'] string
|
||
When using http or cookie authentication modes (or 'config'
|
||
authentication mode since phpMyAdmin 2.2.1), you need to supply
|
||
the details of a MySQL account that has SELECT privilege on the
|
||
mysql.user (all columns except "Password"), mysql.db (all
|
||
columns) & mysql.tables_priv (all columns except "Grantor" &
|
||
"Timestamp") tables. This account is used to check what
|
||
databases the user will see at login.
|
||
Please see the install section on "Using http authentication"
|
||
for more information.
|
||
Note that if you try login to phpMyAdmin with this "stduser",
|
||
you could get some errors, depending the exact privileges you
|
||
gave to the "stduser". phpMyAdmin does not support a direct
|
||
login with the "stduser".
|
||
|
||
$cfgServers[n]['auth_type'] string ['http'|'cookie'|'config']
|
||
Whether config or cookie or http authentication should be used
|
||
for this server.
|
||
|
||
+ 'config' authentication ($auth_type = 'config') is the plain
|
||
old way: username and password are stored in config.inc.php3.
|
||
+ 'cookie' authentication mode ($auth_type = 'cookie') as
|
||
introduced in 2.2.3 allows you to log in as any valid MySQL
|
||
user with the help of... cookies. Log name and password are
|
||
stored in cookies during the session and password is deleted
|
||
when it ends.
|
||
+ 'http' authentication (was called 'advanced' in older
|
||
versions) ($auth_type = 'http') as introduced in 1.3.0 allows
|
||
you to log in as any valid MySQL user via HTTP-Auth.
|
||
|
||
Please see the install section on "Using authentication modes"
|
||
for more information.
|
||
|
||
$cfgServers[n]['user'] string
|
||
$cfgServers[n]['password'] string
|
||
The user/password-pair which phpMyAdmin will use to connect to
|
||
this MySQL-server. The password is not needed when http or
|
||
cookie authentication is used, and should be empty.
|
||
|
||
$cfgServers[n]['only_db'] string or array
|
||
If set to a(an array of) database name(s), only this(these)
|
||
database(s) will be shown to the user. Since phpMyAdmin 2.2.1,
|
||
this/these database(s) name(s) may contain MySQL wilcards
|
||
characters ("_" and "%"): if you want to use literal instances
|
||
of these characters, escape them (ie use 'my\_db' and not
|
||
'my_db').
|
||
This setting is an efficient way to lower the server charge
|
||
since the latter does not need to send MySQL requests to build
|
||
the available database list. But it does not replace the
|
||
privileges rules of the MySQL database server. If set, it just
|
||
means only these databases will be displayed but not at all
|
||
other databases can't be used.
|
||
|
||
$cfgServers[n]['verbose'] string
|
||
Only useful when using phpMyAdmin with multiple server entries.
|
||
If set, this string will be displayed instead of the hostname
|
||
in the pulldown menu on the main page. This can be useful if
|
||
you want to show only certain databases on your system, for
|
||
example.
|
||
|
||
$cfgServers[n]['bookmarkdb'] string
|
||
$cfgServers[n]['bookmarktable'] string
|
||
Since release 2.2.0 phpMyAdmin allows to bookmark queries. This
|
||
can be useful for queries you often run.
|
||
To use this functionality you have to:
|
||
|
||
+ create a table following this scheme:
|
||
CREATE TABLE bookmark (
|
||
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
||
dbase varchar(255) NOT NULL,
|
||
user varchar(255) NOT NULL,
|
||
label varchar(255) NOT NULL,
|
||
query text NOT NULL,
|
||
PRIMARY KEY (id)
|
||
);
|
||
+ then complete the two variables $cfgServers[n]['bookmarkdb']
|
||
and $cfgServers[n]['bookmarktable'] with the database and
|
||
table names you've choosen so phpMyAdmin will be able to find
|
||
the bookmarks.
|
||
|
||
Note that stduser must have SELECT, INSERT and DELETE
|
||
privileges on the bookmark table. Here is a query to set up
|
||
those privileges:
|
||
GRANT SELECT,INSERT,DELETE ON <bookmarkdb>.<bookmarktable> to
|
||
'stduser'@localhost;
|
||
|
||
$cfgServerDefault integer
|
||
If you have more than one server configured, you can set
|
||
$cfgServerDefault to any one of them to autoconnect to that
|
||
server when phpMyAdmin is started, or set it to 0 to be given a
|
||
list of servers without logging in.
|
||
If you have only one server configured, $cfgServerDefault MUST
|
||
be set to that server.
|
||
|
||
$cfgOBGzip boolean
|
||
Defines whether to use gzip output buffering for increased
|
||
speed in HTTP transfers.
|
||
|
||
$cfgPersistentConnections boolean
|
||
Whether persistent connections should be used or not
|
||
(mysql_connect or mysql_pconnect).
|
||
|
||
$cfgExecTimeLimit integer [number of seconds]
|
||
Set the number of seconds a script is allowed to run. If
|
||
seconds is set to zero, no time limit is imposed.
|
||
This setting is used while importing/exporting dump files but
|
||
has no effect when PHP is running in safe mode.
|
||
|
||
$cfgSkipLockedTables boolean
|
||
Mark used tables and make it possible to show databases with
|
||
locked tables (since 3.23.30).
|
||
|
||
$cfgShowSQL boolean
|
||
Defines whether sql-queries generated by phpMyAdmin should be
|
||
displayed or not.
|
||
|
||
$cfgAllowUserDropDatabase boolean
|
||
Defines whether standard users (non administrator) are allowed
|
||
to delete their own database or not. If set as FALSE, the link
|
||
"Drop Database" will not be shown, and even a "DROP DATABASE
|
||
mydatabase" will be rejected. Quite practical for ISP's with
|
||
many customers.
|
||
|
||
$cfgConfirm boolean
|
||
Whether a warning ("Are your really sure..") should be
|
||
displayed when you're about to loose data.
|
||
|
||
$cfgShowTooltip boolean
|
||
Defines whether to display table comment as tooltip in left
|
||
frame or not.
|
||
|
||
$cfgShowMysqlInfo boolean
|
||
$cfgShowMysqlVars boolean
|
||
$cfgShowPhpInfo boolean
|
||
Defines whether to display the "MySQL runtime information",
|
||
"MySQL system variables" and "PHP information" links or not for
|
||
simple users at the starting main (right) frame. This setting
|
||
does not check MySQL commands entered directly.
|
||
Please note that to block the usage of phpinfo() in scripts,
|
||
you have to put this in your php.ini:
|
||
disable_functions = phpinfo()
|
||
|
||
$cfgShowStats boolean
|
||
Defines whether to display space usage and statistics about
|
||
databases and tables or not.
|
||
Note that statistics requires at least MySQL 3.23.3 and that,
|
||
at this date, MySQL doesn't return such information for
|
||
Berkeley DB tables.
|
||
|
||
$cfgShowBlob boolean
|
||
Defines whether BLOB fields are shown when browsing a table's
|
||
content or not.
|
||
|
||
$cfgNavigationBarIconic boolean
|
||
Defines whether navigation bar buttons contain text or symbols
|
||
only.
|
||
|
||
$cfgShowAll boolean
|
||
Defines whether an user should be displayed a "show all
|
||
(records)" button in browse mode or not.
|
||
|
||
$cfgMaxRows integer
|
||
Number of rows displayed when browsing a resultset. If the
|
||
resultset contains more rows, Previous/Next links will be
|
||
shown.
|
||
|
||
$cfgOrder string [DESC|ASC|SMART]
|
||
Defines whether fields are displayed in ascending (ASC) order,
|
||
in descending (DESC) order or in a "smart" (SMART) order -ie
|
||
descending order for fields of type TIME, DATE, DATETIME &
|
||
TIMESTAMP, ascending order else- by default.
|
||
|
||
$cfgProtectBinary boolean
|
||
Defines whether BLOB or BINARY fields are protected from
|
||
edition when browsing a table's content or not. Valid values
|
||
are:
|
||
- FALSE to allow edition of all fields;
|
||
- blob to allow edition of all fields except BLOBS;
|
||
- all to disallow edition of all BINARY or BLOB fields.
|
||
|
||
$cfgZipDump boolean
|
||
$cfgGZipDump boolean
|
||
$cfgBZipDump boolean
|
||
Defines whether to allow the use of zip/gzip/bzip compression
|
||
when creating a dump file or not.
|
||
|
||
$cfgManualBaseShort string
|
||
If set to an URL which points to the MySQL documentation (on
|
||
short pages), appropriate help links are generated.
|
||
|
||
$cfgDefaultLang string
|
||
Defines the default language to use, if not browser-defined or
|
||
user-defined.
|
||
See the select_lang.inc.php3 script to know the valid values
|
||
for this setting.
|
||
|
||
$cfgLang string
|
||
Force: always use this language (must be defined in the
|
||
select_lang.inc.php3 script).
|
||
|
||
$cfgLeftWidth integer
|
||
Left frame width in pixel.
|
||
|
||
$cfgLeftBgColor string [HTML color]
|
||
$cfgRightBgColor string [HTML color]
|
||
The background colors (HTML) used for both the frames.
|
||
|
||
$cfgLeftPointerColor string [HTML color]
|
||
The color (HTML) used for the pointer in the left frame (does
|
||
not work with NS4).
|
||
|
||
$cfgBorder integer
|
||
The size of a table's border.
|
||
|
||
$cfgThBgcolor string [HTML color]
|
||
The color (HTML) used for table headers.
|
||
|
||
$cfgBgcolorOne string [HTML color]
|
||
The color (HTML) #1 for table rows.
|
||
|
||
$cfgBgcolorTwo string [HTML color]
|
||
The color (HTML) #2 for table rows.
|
||
|
||
$cfgBrowsePointerColor string [HTML color]
|
||
The color (HTML) used for the pointer in browse mode (does not
|
||
work with NS4).
|
||
|
||
$cfgTextareaCols integer
|
||
$cfgTextareaRows integer
|
||
Number of columns and rows for the textareas.
|
||
|
||
$cfgLimitChars integer
|
||
Maximal number of Chars showed in a TEXT OR a BLOB field on
|
||
browse view. Can be turned off by a toggle button on the browse
|
||
page.
|
||
|
||
$cfgModifyDeleteAtLeft boolean
|
||
$cfgModifyDeleteAtRight boolean
|
||
Defines the place where modify and delete links would be put
|
||
when tables contents are displayed (you may have them displayed
|
||
both at the left and at the right). "Left" and "right" are
|
||
parsed as "top" and "bottom" with vertical display mode.
|
||
|
||
$cfgDefaultDisplay string
|
||
There are 2 display modes: horizontal and vertical. Define
|
||
which one is displayed by default.
|
||
|
||
$cfgRepeatCells integer
|
||
Repeat the headers every X cells, or 0 to deactivate.
|
||
|
||
$cfgColumnTypes array
|
||
All possible types of a MySQL column. In most cases you don't
|
||
need to edit this.
|
||
|
||
$cfgAttributeTypes array
|
||
Possible attributes for fields. In most cases you don't need to
|
||
edit this.
|
||
|
||
$cfgFunctions array
|
||
A list of functions MySQL supports. In most cases you don't
|
||
need to edit this.
|
||
______________________________________________________________________
|
||
|
||
Top - Requirements - Introduction - Installation -
|
||
Configuration - FAQ - Developers - Credits
|
||
______________________________________________________________________
|
||
|
||
FAQ - Frequently Asked Questions
|
||
|
||
[Server]
|
||
|
||
I'm running php 4+ and my server is crashing each time a specific
|
||
action is required or phpMyAdmin sends a blank page or a page full of
|
||
cryptic characters to my browser, what can I do?
|
||
There are some known php bugs with output buffering and compression.
|
||
Try to set the $cfgOBGzip directive to FALSE in your config.inc.php or
|
||
.php3 file and the zlib.output_compression directive to Off in your
|
||
php configuration file.
|
||
|
||
My Apache server crashes when using phpMyAdmin.
|
||
You should first try the latest versions of Apache (and possibly
|
||
MySQL).
|
||
See also the other FAQ entry about php bugs with output buffering.
|
||
If your server keeps crashing, please ask for help in the various
|
||
Apache support groups.
|
||
|
||
Using phpMyAdmin on IIS, I'm displayed the error message: "The
|
||
specified CGI application misbehaved by not returning a complete set
|
||
of HTTP headers...."
|
||
You just forgot to read the install.txt file from the php
|
||
distribution. Have a look at the last message in this bug report from
|
||
the official php bug database.
|
||
|
||
Using phpMyAdmin on IIS, I'm facing crashes and/or many error messages
|
||
with the http or advanced authentication mode.
|
||
This is a known problem with the php ISAPI filter: it's not so stable.
|
||
For some more information and complete testings see the messages
|
||
posted by Andr<64> B. aka "djdeluxe76" in this thread from the phpWizard
|
||
forum.
|
||
Please use instead the cookie authentication mode.
|
||
|
||
I can't use phpMyAdmin on PWS: nothing is displayed!
|
||
This seems to be a PWS bug. Filippo Simoncini found a workaroud (at
|
||
this time there is no better fix): remove or comment the DOCTYPE
|
||
declarations (3 lines) from the scripts header.inc.php3, index.php3,
|
||
left.php3 and libraries/common.lib.php3.
|
||
|
||
How can I GZip or Bzip a dump or a CSV export. It seems to not work?
|
||
These features are based on the gzencode() and bzcompress() php
|
||
functions to be more independent of the platform (Unix/Windows, Safe
|
||
Mode or not, and so on). So, you must have PHP4 >= 4.0.4 and
|
||
Zlib/Bzip2 support (--with-zlib and --with-bz2).
|
||
|
||
I cannot insert a text file in a table, and I get an error about safe
|
||
mode being in effect.
|
||
Your uploaded file is saved by PHP in the "upload dir", as defined in
|
||
php.ini by the variable upload_tmp_dir (usually the system default is
|
||
/tmp).
|
||
We recommend the following setup for Apache servers running in safe
|
||
mode, to enable uploads of files while being reasonably secure:
|
||
* create a separate directory for uploads: mkdir /tmp/php
|
||
* give ownership to the Apache server's user.group: chown
|
||
apache.apache /tmp/php
|
||
* give proper permission: chmod 600 /tmp/php
|
||
* put upload_tmp_dir = /tmp/php in php.ini
|
||
* restart Apache
|
||
|
||
I'm having troubles when uploading files. In general file uploads
|
||
don't work on my system and uploaded files have a Content-Type: header
|
||
in the first line.
|
||
It's not really phpMyAdmin related but RedHat 7.0. You have a RedHat
|
||
7.0 and you updated your php rpm to php-4.0.4pl1-3.i386.rpm, didn't
|
||
you?
|
||
So the problem is that this package has a serious bug that was
|
||
corrected ages ago in php (2001-01-28: see php's bug tracking system
|
||
for more details). The problem is that the bugged package is still
|
||
available though it was corrected (see redhat's bugzilla for more
|
||
details).
|
||
So please download the fixed package and the problem should go away.
|
||
And that fixes the \r\n problem with file uploads!
|
||
|
||
I'm having troubles when uploading files with phpMyAdmin running on a
|
||
secure server. My browser is Internet Explorer and I'm using the
|
||
Apache server.
|
||
As suggested by "Rob M" in the phpWizard forum, add this line to your
|
||
httpd.conf:
|
||
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
|
||
It seems to clear up many problems between IE and SSL.
|
||
|
||
[Configuration]
|
||
|
||
The error message "Warning: Cannot add header information - headers
|
||
already sent by ..." is displayed, what's the problem?
|
||
Edit your config.inc.php or .php3 file and ensure there is nothing (ie
|
||
no blank lines, no spaces, no characters...) neither before the <?php
|
||
tag at the beginning, neither after the ?> tag at the end.
|
||
|
||
phpMyAdmin can't connect to MySQL. What's wrong?
|
||
Either there is an error with your PHP setup or your username/password
|
||
is wrong. Try to make a small script which uses mysql_connect and see
|
||
if it works. If it doesn't, it may be you haven't even compiled MySQL
|
||
support into PHP.
|
||
|
||
The error message "Warning: MySQL Connection Failed: Can't connect to
|
||
local MySQL server through socket '/tmp/mysql.sock' (111)...") is
|
||
displayed. What can I do?
|
||
Here is a fix suggested by Brad Ummer in the phpwizard forum:
|
||
* First, you need to determine what socket is being used by MySQL.
|
||
To do this, telnet to your server and go to the MySQL bin
|
||
directory. In this directory there should be a file named
|
||
mysqladmin. Type ./mysqladmin variables, and this should give you
|
||
a bunch of info about your MySQL server, including the socket
|
||
(/tmp/mysql.sock, for example).
|
||
* Then, you need to tell PHP to use this socket.
|
||
Assuming you are using PHP 3.0.10 or better, you can specify the
|
||
socket to use when you open the connection. To do this in
|
||
phpMyAdmin, you need to complete the socket information in the
|
||
config.inc.php3.
|
||
For example: $cfgServers[n]['socket'] = '/tmp/mysql.sock';
|
||
|
||
Have also a look at the corresponding section of the MySQL
|
||
documentation.
|
||
|
||
Nothing is displayed by my browser when I try to run phpMyAdmin, what
|
||
can I do?
|
||
Try to set the $cfgOBGZip directive to FALSE in the phpMyAdmin
|
||
configuration file. It helps sometime.
|
||
Also have a look at your php version number: if it contains "4.0b..."
|
||
it means you're running a beta version of PHP. That's not a so good
|
||
idea, please upgrade to a plain revision.
|
||
|
||
Each time I want to insert or change a record or drop a database or a
|
||
table, an error 404 (page not found) is displayed or, with http or
|
||
cookie authentication, I'm asked to login again. What's wrong?
|
||
Check the value you set for the $cfgPmaAbsoluteUri directive in the
|
||
phpMyAdmin configuration file.
|
||
|
||
[Known limitations]
|
||
|
||
When using http authentication, an user who logged out can not relog
|
||
in with the same nick.
|
||
This is related to the authentication mechanism (protocol) used by
|
||
phpMyAdmin. We plan to change it as soon as we may find enough free
|
||
time to do it, but you can bypass this problem: just close all the
|
||
opened browser windows and then go back to phpMyAdmin. You should be
|
||
able to logs in again.
|
||
|
||
[ISPs]
|
||
|
||
I'm an ISP. Can I setup one central copy of phpMyAdmin or do I need to
|
||
install it for each customer?
|
||
Since version 2.0.3, you can setup a central copy of phpMyAdmin for
|
||
all your users. The development of this feature was kindly sponsored
|
||
by NetCologne GmbH. This requires a properly setup MySQL user
|
||
management and phpMyAdmin http authentication. See the install section
|
||
on "Using http authentication".
|
||
|
||
What's the preferred way of making phpMyAdmin secure against evil
|
||
access?
|
||
This depends on your system.
|
||
If you're running a server which cannot be accessed by other people,
|
||
it's sufficient to use the directory protection bundled with your
|
||
webserver (with Apache you can use .htaccess files, for example).
|
||
If other people have telnet access to your server, you should use
|
||
phpMyAdmin's http authentication feature.
|
||
Suggestions:
|
||
* Your config.inc.php3 file should be chmod 660.
|
||
* All your phpMyAdmin files should be chown phpmy.apache, where
|
||
phpmy is a user whose password is only known to you, and apache is
|
||
the group under which Apache runs.
|
||
* You should use PHP safe mode, to protect from other users that try
|
||
to include your config.inc.php3 in their scripts.
|
||
|
||
I get errors about not being able to include a file in /lang
|
||
Check php.ini, or ask your sysadmin to check it. The include_path must
|
||
contain "." somewhere in it, and open_basedir, if used, must contain
|
||
"." and "./lang" to allow normal operation of phpMyAdmin.
|
||
|
||
phpMyAdmin always gives "Access denied" when using http
|
||
authentication.
|
||
This could happen for several reasons:
|
||
* $cfgServers[n]['stduser'] and/or $cfgServers[n]['stdpass'] are
|
||
wrong.
|
||
* The username/password you specify in the login-dialog are invalid.
|
||
* You have already setup a security mechanism for the
|
||
phpMyAdmin-directory, eg. a .htaccess file. This would interfere
|
||
with phpMyAdmin's authentication, so remove it.
|
||
|
||
[Browsers or client OS]
|
||
|
||
I get an out of memory error, and my controls are non-functional, when
|
||
trying to create a table with more than 14 fields.
|
||
We could reproduce this problem only under Win98/98SE. Testing under
|
||
WinNT4 or Win2K, we could easily create more than 60 fields.
|
||
A workaround is to create a smaller number of fields, then come back
|
||
to your table properties and add the other fields.
|
||
|
||
With Xitami 2.5b4, phpMyAdmin won't process form fields.
|
||
This is not a phpMyAdmin problem but a Xitami known bug: you'll face
|
||
it with each script/website that use forms.
|
||
Upgrade or downgrade your Xitami server.
|
||
|
||
I have problems dumping tables with Konqueror (phpMyAdmin 2.2.2)
|
||
With Konqueror 2.1.1: plain dumps, zip and gzip dumps work ok, except
|
||
that the proposed file name for the dump is always 'tbl_dump.php'.
|
||
Bzip2 dumps don't seem to work.
|
||
With Konqueror 2.2.1: plain dumps work; zip dumps are placed into the
|
||
user's temporary directory, so they must be moved before closing
|
||
Konqueror, or else they disappear. Gzip dumps give an error message.
|
||
Testing needs to be done for Konqueror 2.2.2.
|
||
|
||
I refresh (reload) my browser, and come back to the welcome page.
|
||
Some browsers support right-clicking into the frame you want to
|
||
refresh, just do this in the right frame.
|
||
|
||
[Using phpMyAdmin]
|
||
|
||
I can't insert new rows into a table - MySQL brings up a SQL-error.
|
||
Examine the SQL error with care. I've found that many programmers
|
||
specifying a wrong field-type.
|
||
Common errors include:
|
||
* Using VARCHAR without a size argument
|
||
* Using TEXT or BLOB with a size argument
|
||
|
||
Also, look at the syntax chapter in the MySQL manual to confirm that
|
||
your syntax is correct.
|
||
|
||
When I create a table, I click the Index checkbox for 2 fields and
|
||
phpMyAdmin generates only one index with those 2 fields.
|
||
In phpMyAdmin 2.2.0 and 2.2.1, this is the way to create a
|
||
multi-fields index. If you want two indexes, create the first one when
|
||
creating the table, save, then display the table properties and click
|
||
the Index link to create the other index.
|
||
|
||
How can I insert a null value into my table?
|
||
Since version 2.2.3, you have a checkbox for each field that can be
|
||
null. Before 2.2.3, you had to enter "null", without the quotes, as
|
||
the field's value.
|
||
|
||
[phpMyAdmin project]
|
||
|
||
I have found a bug. How do I inform developers?
|
||
Our Bug Tracker is located at
|
||
http://sourceforge.net/projects/phpmyadmin/ under the Bugs section.
|
||
But please first discuss your bug with other users:
|
||
http://sourceforge.net/projects/phpmyadmin/ (and choose Forums)
|
||
http://www.phpwizard.net/projects/phpMyAdmin/ (and choose Support
|
||
Forum)
|
||
|
||
I want to translate the messages to a new language or upgrade an
|
||
existing language, where do I start?
|
||
Always use the current cvs version of your language file. For a new
|
||
language, start from english.inc.php3. If you don't know how to get
|
||
the cvs version, please ask one of the developers. It would be a good
|
||
idea to subscribe to the phpmyadmin-translators discussion list,
|
||
because this is where we ask for translations of new messages. You can
|
||
then send your translations to the sourceforge.net translation
|
||
tracker.
|
||
|
||
I would like to help out with the development of phpMyAdmin. How
|
||
should I proceed?
|
||
The following method is preferred for new developers:
|
||
* fetch the current CVS tree over anonymous CVS:
|
||
cvs
|
||
-d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmy
|
||
admin login
|
||
[Password: simply press the Enter key]
|
||
cvs -z3
|
||
-d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmy
|
||
admin checkout phpMyAdmin
|
||
[This will create a new sub-directory named phpMyAdmin]
|
||
* add your stuff
|
||
* put the modified files (tar'ed and gzip'ed) inside the patch
|
||
tracker of the phpMyAdmin SourceForge account.
|
||
|
||
Write access to the CVS tree is granted only to experienced developers
|
||
who have already contributed something useful to phpMyAdmin.
|
||
Also, have a look at the Developers section.
|
||
______________________________________________________________________
|
||
|
||
Top - Requirements - Introduction - Installation -
|
||
Configuration - FAQ - Developers - Credits
|
||
______________________________________________________________________
|
||
|
||
Developers Information
|
||
|
||
phpMyAdmin is Open Source, so you're invited to contribute to it. Many
|
||
great features have been written by other people and you too can help
|
||
to make phpMyAdmin a useful tool.
|
||
|
||
If you're planning to contribute source, please read the following
|
||
information:
|
||
* All files include header.inc.php3 (layout),
|
||
libraries/common.lib.php3 (common functions) and config.inc.php3.
|
||
All configuration data belongs in config.inc.php3. Please keep it
|
||
free from other code.
|
||
Commonly used functions should be added to libraries/lib.inc.php3
|
||
and more specific ones may be added within a library stored into
|
||
the libraries sub-directory.
|
||
* Obviously, you're free to use whatever coding style you want. But
|
||
please try to keep your code as simple as possible: beginners are
|
||
using phpMyAdmin as an example application.
|
||
By the way, we're currently updating all the scripts so they will
|
||
be XHTML1.0 and CSS2 compliant on one hand, they will fit PEAR
|
||
coding standards on the other hand. Please pay attention to this.
|
||
* Please try to keep up the file-naming conventions. Table-related
|
||
stuff goes to tbl_*.php3, db-related code to db_*.php3 and so on.
|
||
* Please don't use verbose strings in your code, instead add the
|
||
string (at least) to english.inc.php3 and print() it out.
|
||
* If you want to be really helpful, write an entry for the
|
||
ChangeLog.
|
||
|
||
IMPORTANT: With 1.4.1, development has switched to CVS. The following
|
||
method is preferred for new developers:
|
||
* fetch the current CVS tree over anonymous CVS:
|
||
cvs
|
||
-d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmy
|
||
admin login
|
||
[Password: simply press the Enter key]
|
||
cvs -z3
|
||
-d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmy
|
||
admin checkout phpMyAdmin
|
||
[This will create a new sub-directory named phpMyAdmin]
|
||
* add your stuff
|
||
* put the modified files (tar'ed and gzip'ed) inside the patch
|
||
tracker of the phpMyAdmin SourceForge account
|
||
(http://sourceforge.net/projects/phpmyadmin/)
|
||
|
||
Write access to the CVS tree is granted only to developers who have
|
||
already contributed something useful to phpMyAdmin. If you're
|
||
interested in that, please contact us using the phpmyadmin-devel
|
||
mailing list.
|
||
______________________________________________________________________
|
||
|
||
Top - Requirements - Introduction - Installation -
|
||
Configuration - FAQ - Developers - Credits
|
||
______________________________________________________________________
|
||
|
||
Credits
|
||
|
||
|
||
phpMyAdmin - Credits
|
||
====================
|
||
|
||
CREDITS, in chronological order
|
||
-------------------------------
|
||
|
||
[tr] - Tobias Ratschiller <tobias_at_phpwizard.net>
|
||
* creator of the phpmyadmin project
|
||
* maintainer from 1998 to summer 2000
|
||
|
||
[md] - Marc Delisle <DelislMa_at_CollegeSherbrooke.qc.ca>
|
||
* multi-language version
|
||
* various fixes and improvements
|
||
|
||
[om] - Olivier M<>ller <om_at_omnis.ch>
|
||
* started SourceForge phpMyAdmin project in March 2001
|
||
* sync'ed different existing CVS trees with new features and bugfixes
|
||
* multi-language improvements, dynamic language selection
|
||
* current project maintainer, with Marc and Loic
|
||
|
||
[lc] - Lo<4C>c Chapeaux <lolo_at_phpheaven.net>
|
||
* rewrote and optimized javascript, DHTML and DOM stuff
|
||
* started to rewrite the scripts so they fit the PEAR coding standards
|
||
and generate XHTML1.0 and CSS2 compliant codes
|
||
* improved the language detection system
|
||
* many bugfixes and improvements
|
||
|
||
[rj] - Robin Johnson <robbat2_at_users.sourceforge.net>
|
||
* database maintence controls
|
||
* table type code
|
||
|
||
[af] - Armel Fauveau <armel.fauveau_at_globalis-ms.com>
|
||
* bookmarks feature
|
||
* multiple dump feature
|
||
* gzip dump feature
|
||
* zip dump feature
|
||
|
||
[gl] - Geert Lund <glund_at_silversoft.dk>
|
||
* various fixes
|
||
* moderator of the phpMyAdmin users forum at phpwizard.net
|
||
|
||
[kc] - Korakot Chaovavanich <korakot_at_iname.com>
|
||
* "insert as new row" feature
|
||
|
||
[pk] - Pete Kelly <webmaster_at_trafficg.com>
|
||
* rewrote and fix dump code
|
||
* bugfixes
|
||
|
||
[sa] - Steve Alberty <alberty_at_neptunlabs.de>
|
||
* rewrote dump code for PHP4
|
||
* mySQL table statistics
|
||
* bugfixes
|
||
|
||
[bg] - Benjamin Gandon <gandon_at_isia.cma.fr>
|
||
* main author of the version 2.1.0.1
|
||
* bugfixes
|
||
|
||
|
||
Thanks to those guy who send us some major improvements to merge into the
|
||
code since version 2.1.0:
|
||
- Michal Cihar who implemented the enhanced
|
||
index creation/display feature.
|
||
- Christophe Gesch<63> from the "MySQL Form Generator for PHPMyAdmin"
|
||
(http://sourceforge.net/projects/phpmysqlformgen/) who suggested the patch
|
||
for multiple table printviews.
|
||
- Garvin Hicking who builds the patch for vertical
|
||
display of table rows.
|
||
- Piotr Roszatycki and Dan Wilson, for the
|
||
Cookie authentication mode.
|
||
|
||
And also to the following people who have contributed minor changes,
|
||
enhancements, bugfixes or support for a new language since version 2.1.0:
|
||
Bora Alioglu, Ricardo ?, Sven-Erik Andersen, Alessandro Astarita, Borges Botelh
|
||
o,
|
||
Olivier Bussier, Neil Darlow, Kristof Hamann, Thomas Kl<4B>ger, Lubos Klokner,
|
||
Martin Marconcini, Girish Nair, David Nordenberg, Bernard M. Piller,
|
||
Laurent Haas, "Sakamoto", www.securereality.com.au,
|
||
Michael Tacelosky, Daniel Villanueva, Vinay, Ignacio Vazquez-Abrams,
|
||
Chee Wai, Jakub Wilk, Thomas Michael Winningham.
|
||
|
||
|
||
Original Credits of Version 2.1.0
|
||
---------------------------------
|
||
|
||
This work is based on Peter Kuppelwieser's MySQL-Webadmin. It was his idea
|
||
to create a web-based interface to MySQL using PHP3. Although I have not
|
||
used any of his source-code, there are some concepts I've borrowed from
|
||
him. phpMyAdmin was created because Peter told me he wasn't going to
|
||
further develop his (great) tool.
|
||
Thanks go to
|
||
- Amalesh Kempf <ak-lsml_at_living-source.com> who contributed the
|
||
code for the check when dropping a table or database. He also suggested
|
||
that you should be able to specify the primary key on tbl_create.php3. To
|
||
version 1.1.1 he contributed the ldi_*.php3-set (Import text-files) as
|
||
well as a bug-report. Plus many smaller improvements.
|
||
- Jan Legenhausen <jan_at_nrw.net>: He made many of the changes that
|
||
were introduced in 1.3.0 (including quite significant ones like the
|
||
authentication). For 1.4.1 he enhanced the table-dump feature. Plus
|
||
bug-fixes and help.
|
||
- Marc Delisle <DelislMa_at_CollegeSherbrooke.qc.ca> made phpMyAdmin
|
||
language-independent by outsourcing the strings to a separate file. He
|
||
also contributed the French translation.
|
||
- Alexandr Bravo <abravo_at_hq.admiral.ru> who contributed
|
||
tbl_select.php3, a feature to display only some fields from a table.
|
||
- Chris Jackson <chrisj_at_ctel.net> added support for MySQL
|
||
functions in tbl_change.php3. He also added the
|
||
"Query by Example" feature in 2.0.
|
||
- Dave Walton <walton_at_nordicdms.com> added support for multiple
|
||
servers and is a regular contributor for bug-fixes.
|
||
- Gabriel Ash <ga244_at_is8.nyu.edu> contributed the random access
|
||
features for 2.0.6.
|
||
The following people have contributed minor changes, enhancements, bugfixes
|
||
or support for a new language:
|
||
Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann,
|
||
Alexander Leidinger, Kiko Albiol, Daniel C. Chao, Pavel Piankov,
|
||
Sascha Kettler, Joe Pruett, Renato Lins, Mark Kronsbein, Jannis Hermanns,
|
||
G. Wieggers.
|
||
|
||
And thanks to everyone else who sent me email with suggestions, bug-reports
|
||
and or just some feedback.
|
||
______________________________________________________________________
|
||
|
||
Top - Requirements - Introduction - Installation -
|
||
Configuration - FAQ - Developers - Credits
|
||
______________________________________________________________________
|
||
|
||
Valid XHTML 1.0! Valid CSS!
|