Дозаливка
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,30 @@
|
||||
.. _copyright:
|
||||
|
||||
Copyright
|
||||
=========
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
Copyright (C) 1998-2000 Tobias Ratschiller <tobias_at_ratschiller.com>
|
||||
Copyright (C) 2001-2013 Marc Delisle <marc_at_infomarc.info>
|
||||
Olivier Müller <om_at_omnis.ch>
|
||||
Robin Johnson <robbat2_at_users.sourceforge.net>
|
||||
Alexander M. Turek <me_at_derrabus.de>
|
||||
Michal Čihař <michal_at_cihar.com>
|
||||
Garvin Hicking <me_at_supergarv.de>
|
||||
Michael Keck <mkkeck_at_users.sourceforge.net>
|
||||
Sebastian Mendel <cybot_tm_at_users.sourceforge.net>
|
||||
[check credits for more details]
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License version 2, as
|
||||
published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see `http://www.gnu.org/licenses/
|
||||
<http://www.gnu.org/licenses/>`_.
|
||||
@@ -0,0 +1,626 @@
|
||||
.. _credits:
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
|
||||
Credits, in chronological order
|
||||
+++++++++++++++++++++++++++++++
|
||||
|
||||
* Tobias Ratschiller <tobias\_at\_ratschiller.com>
|
||||
|
||||
* creator of the phpmyadmin project
|
||||
|
||||
* maintainer from 1998 to summer 2000
|
||||
|
||||
* Marc Delisle <marc\_at\_infomarc.info>
|
||||
|
||||
* multi-language version in December 1998
|
||||
|
||||
* various fixes and improvements
|
||||
|
||||
* :term:`SQL` analyser (most of it)
|
||||
|
||||
* current project maintainer
|
||||
|
||||
* maintains content on our website
|
||||
|
||||
* 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
|
||||
|
||||
* many bugfixes and improvements
|
||||
|
||||
* Loïc Chapeaux <lolo\_at\_phpheaven.net>
|
||||
|
||||
* rewrote and optimized javascript, DHTML and DOM stuff
|
||||
|
||||
* rewrote the scripts so they fit the :term:`PEAR` coding standards and
|
||||
generate XHTML1.0 and CSS2 compliant codes
|
||||
|
||||
* improved the language detection system
|
||||
|
||||
* many bugfixes and improvements
|
||||
|
||||
* Robin Johnson <robbat2\_at\_users.sourceforge.net>
|
||||
|
||||
* database maintenance controls
|
||||
|
||||
* table type code
|
||||
|
||||
* Host authentication :term:`IP` Allow/Deny
|
||||
|
||||
* DB-based configuration (Not completed)
|
||||
|
||||
* :term:`SQL` parser and pretty-printer
|
||||
|
||||
* :term:`SQL` validator
|
||||
|
||||
* many bugfixes and improvements
|
||||
|
||||
* Armel Fauveau <armel.fauveau\_at\_globalis-ms.com>
|
||||
|
||||
* bookmarks feature
|
||||
|
||||
* multiple dump feature
|
||||
|
||||
* gzip dump feature
|
||||
|
||||
* zip dump feature
|
||||
|
||||
* Geert Lund <glund\_at\_silversoft.dk>
|
||||
|
||||
* various fixes
|
||||
|
||||
* moderator of the phpMyAdmin former users forum at phpwizard.net
|
||||
|
||||
* Korakot Chaovavanich <korakot\_at\_iname.com>
|
||||
|
||||
* "insert as new row" feature
|
||||
|
||||
* Pete Kelly <webmaster\_at\_trafficg.com>
|
||||
|
||||
* rewrote and fix dump code
|
||||
|
||||
* bugfixes
|
||||
|
||||
* Steve Alberty <alberty\_at\_neptunlabs.de>
|
||||
|
||||
* rewrote dump code for PHP4
|
||||
|
||||
* mySQL table statistics
|
||||
|
||||
* bugfixes
|
||||
|
||||
* Benjamin Gandon <gandon\_at\_isia.cma.fr>
|
||||
|
||||
* main author of the version 2.1.0.1
|
||||
|
||||
* bugfixes
|
||||
|
||||
* Alexander M. Turek <me\_at\_derrabus.de>
|
||||
|
||||
* MySQL 4.0 / 4.1 / 5.0 compatibility
|
||||
|
||||
* abstract database interface (PMA\_DBI) with MySQLi support
|
||||
|
||||
* privileges administration
|
||||
|
||||
* :term:`XML` exports
|
||||
|
||||
* various features and fixes
|
||||
|
||||
* German language file updates
|
||||
|
||||
* Mike Beck <mike.beck\_at\_web.de>
|
||||
|
||||
* automatic joins in QBE
|
||||
|
||||
* links column in printview
|
||||
|
||||
* Relation view
|
||||
|
||||
* Michal Čihař <michal\_at\_cihar.com>
|
||||
|
||||
* enhanced index creation/display feature
|
||||
|
||||
* feature to use a different charset for HTML than for MySQL
|
||||
|
||||
* improvements of export feature
|
||||
|
||||
* various features and fixes
|
||||
|
||||
* Czech language file updates
|
||||
|
||||
* created current website for phpMyAdmin
|
||||
|
||||
* Christophe Gesché from the "MySQL Form Generator for PHPMyAdmin"
|
||||
(http://sf.net/projects/phpmysqlformgen/)
|
||||
|
||||
* suggested the patch for multiple table printviews
|
||||
|
||||
* Garvin Hicking <me\_at\_supergarv.de>
|
||||
|
||||
* built the patch for vertical display of table rows
|
||||
|
||||
* built the Javascript based Query window + :term:`SQL` history
|
||||
|
||||
* Improvement of column/db comments
|
||||
|
||||
* (MIME)-Transformations for columns
|
||||
|
||||
* Use custom alias names for Databases in left frame
|
||||
|
||||
* hierarchical/nested table display
|
||||
|
||||
* :term:`PDF`-scratchboard for WYSIWYG-
|
||||
distribution of :term:`PDF` relations
|
||||
|
||||
* new icon sets
|
||||
|
||||
* vertical display of column properties page
|
||||
|
||||
* some bugfixes, features, support, German language additions
|
||||
|
||||
* Yukihiro Kawada <kawada\_at\_den.fujifilm.co.jp>
|
||||
|
||||
* japanese kanji encoding conversion feature
|
||||
|
||||
* Piotr Roszatycki <d3xter\_at\_users.sourceforge.net> and Dan Wilson
|
||||
|
||||
* the Cookie authentication mode
|
||||
|
||||
* Axel Sander <n8falke\_at\_users.sourceforge.net>
|
||||
|
||||
* table relation-links feature
|
||||
|
||||
* Maxime Delorme <delorme.maxime\_at\_free.fr>
|
||||
|
||||
* :term:`PDF` schema output, thanks also to
|
||||
Olivier Plathey for the "FPDF" library (see <http://www.fpdf.org/>), Steven
|
||||
Wittens for the "UFPDF" library (see <http://www.acko.net/node/56>) and
|
||||
Nicola Asuni for the "TCPDF" library (see <http://www.tcpdf.org/>).
|
||||
|
||||
* Olof Edlund <olof.edlund\_at\_upright.se>
|
||||
|
||||
* :term:`SQL` validator server
|
||||
|
||||
* Ivan R. Lanin <ivanlanin\_at\_users.sourceforge.net>
|
||||
|
||||
* phpMyAdmin logo (until June 2004)
|
||||
|
||||
* Mike Cochrane <mike\_at\_graftonhall.co.nz>
|
||||
|
||||
* blowfish library from the Horde project (withdrawn in release 4.0)
|
||||
|
||||
* Marcel Tschopp <ne0x\_at\_users.sourceforge.net>
|
||||
|
||||
* mysqli support
|
||||
|
||||
* many bugfixes and improvements
|
||||
|
||||
* Nicola Asuni (Tecnick.com)
|
||||
|
||||
* TCPDF library (`http://www.tcpdf.org <http://www.tcpdf.org>`_)
|
||||
|
||||
* Michael Keck <mkkeck\_at\_users.sourceforge.net>
|
||||
|
||||
* redesign for 2.6.0
|
||||
|
||||
* phpMyAdmin sailboat logo (June 2004)
|
||||
|
||||
* Mathias Landhäußer
|
||||
|
||||
* Representation at conferences
|
||||
|
||||
* Sebastian Mendel <cybot\_tm\_at\_users.sourceforge.net>
|
||||
|
||||
* interface improvements
|
||||
|
||||
* various bugfixes
|
||||
|
||||
* Ivan A Kirillov
|
||||
|
||||
* new relations Designer
|
||||
|
||||
* Raj Kissu Rajandran (Google Summer of Code 2008)
|
||||
|
||||
* BLOBstreaming support (withdrawn in release 4.0)
|
||||
|
||||
* Piotr Przybylski (Google Summer of Code 2008, 2010 and 2011)
|
||||
|
||||
* improved setup script
|
||||
|
||||
* user preferences
|
||||
|
||||
* Drizzle support
|
||||
|
||||
* Derek Schaefer (Google Summer of Code 2009)
|
||||
|
||||
* Improved the import system
|
||||
|
||||
* Alexander Rutkowski (Google Summer of Code 2009)
|
||||
|
||||
* Tracking mechanism
|
||||
|
||||
* Zahra Naeem (Google Summer of Code 2009)
|
||||
|
||||
* Synchronization feature (removed in release 4.0)
|
||||
|
||||
* Tomáš Srnka (Google Summer of Code 2009)
|
||||
|
||||
* Replication support
|
||||
|
||||
* Muhammad Adnan (Google Summer of Code 2010)
|
||||
|
||||
* Relation schema export to multiple formats
|
||||
|
||||
* Lori Lee (Google Summer of Code 2010)
|
||||
|
||||
* User interface improvements
|
||||
|
||||
* ENUM/SET editor
|
||||
|
||||
* Simplified interface for export/import
|
||||
|
||||
* Ninad Pundalik (Google Summer of Code 2010)
|
||||
|
||||
* AJAXifying the interface
|
||||
|
||||
* Martynas Mickevičius (Google Summer of Code 2010)
|
||||
|
||||
* Charts
|
||||
|
||||
* Barrie Leslie
|
||||
|
||||
* BLOBstreaming support with PBMS PHP extension (withdrawn in release
|
||||
4.0)
|
||||
|
||||
* Ankit Gupta (Google Summer of Code 2010)
|
||||
|
||||
* Visual query builder
|
||||
|
||||
* Madhura Jayaratne (Google Summer of Code 2011)
|
||||
|
||||
* OpenGIS support
|
||||
|
||||
* Ammar Yasir (Google Summer of Code 2011)
|
||||
|
||||
* Zoom search
|
||||
|
||||
* Aris Feryanto (Google Summer of Code 2011)
|
||||
|
||||
* Browse-mode improvements
|
||||
|
||||
* Thilanka Kaushalya (Google Summer of Code 2011)
|
||||
|
||||
* AJAXification
|
||||
|
||||
* Tyron Madlener (Google Summer of Code 2011)
|
||||
|
||||
* Query statistics and charts for the status page
|
||||
|
||||
* Zarubin Stas (Google Summer of Code 2011)
|
||||
|
||||
* Automated testing
|
||||
|
||||
* Rouslan Placella (Google Summer of Code 2011 and 2012)
|
||||
|
||||
* Improved support for Stored Routines, Triggers and Events
|
||||
|
||||
* Italian translation updates
|
||||
|
||||
* Removal of frames, new navigation
|
||||
|
||||
* Dieter Adriaenssens
|
||||
|
||||
* Various bugfixes
|
||||
|
||||
* Dutch translation updates
|
||||
|
||||
* Alex Marin (Google Summer of Code 2012)
|
||||
|
||||
* New plugins and properties system
|
||||
|
||||
* Thilina Buddika Abeyrathna (Google Summer of Code 2012)
|
||||
|
||||
* Refactoring
|
||||
|
||||
* Atul Pratap Singh (Google Summer of Code 2012)
|
||||
|
||||
* Refactoring
|
||||
|
||||
* Chanaka Indrajith (Google Summer of Code 2012)
|
||||
|
||||
* Refactoring
|
||||
|
||||
* Yasitha Pandithawatta (Google Summer of Code 2012)
|
||||
|
||||
* Automated testing
|
||||
|
||||
* Jim Wigginton (phpseclib.sourceforge.net)
|
||||
|
||||
* phpseclib
|
||||
|
||||
* Bin Zu (Google Summer of Code 2013)
|
||||
|
||||
* Refactoring
|
||||
|
||||
* Supun Nakandala (Google Summer of Code 2013)
|
||||
|
||||
* Refactoring
|
||||
|
||||
* Mohamed Ashraf (Google Summer of Code 2013)
|
||||
|
||||
* AJAX error reporting
|
||||
|
||||
* Adam Kang (Google Summer of Code 2013)
|
||||
|
||||
* Automated testing
|
||||
|
||||
* Ayush Chaudhary (Google Summer of Code 2013)
|
||||
|
||||
* Automated testing
|
||||
|
||||
* Kasun Chathuranga (Google Summer of Code 2013)
|
||||
|
||||
* Interface improvements
|
||||
|
||||
|
||||
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,
|
||||
Péter Bakondy, Borges Botelho, Olivier Bussier, Neil Darlow, Mats
|
||||
Engstrom, Ian Davidson, Laurent Dhima, Kristof Hamann, Thomas Kläger,
|
||||
Lubos Klokner, Martin Marconcini, Girish Nair, David Nordenberg,
|
||||
Andreas Pauley, Bernard M. Piller, Laurent Haas, "Sakamoto", Yuval
|
||||
Sarna, www.securereality.com.au, Alexis Soulard, Alvar Soome, Siu Sun,
|
||||
Peter Svec, Michael Tacelosky, Rachim Tamsjadi, Kositer Uros, Luís V.,
|
||||
Martijn W. van der Lee, Algis Vainauskas, Daniel Villanueva, Vinay,
|
||||
Ignacio Vazquez-Abrams, Chee Wai, Jakub Wilk, Thomas Michael
|
||||
Winningham, Vilius Zigmantas, "Manuzhai".
|
||||
|
||||
|
||||
Translators
|
||||
+++++++++++
|
||||
|
||||
Following people have contributed to translation of phpMyAdmin:
|
||||
|
||||
* Arabic
|
||||
|
||||
* Abdullah Al-Saedi <abdullah.10\_at\_windowslive.com>
|
||||
|
||||
* Bulgarian
|
||||
|
||||
* stoyanster <stoyanster\_at\_gmail.com>
|
||||
|
||||
* Catalan
|
||||
|
||||
* Xavier Navarro <xvnavarro\_at\_gmail.com>
|
||||
|
||||
* Czech
|
||||
|
||||
* Michal Čihař <michal\_at\_cihar.com>
|
||||
|
||||
* Danish
|
||||
|
||||
* opensource <opensource\_at\_jth.net>
|
||||
* Jørgen Thomsen <opensource\_at\_jth.net>
|
||||
|
||||
* German
|
||||
|
||||
* mrbendig <mrbendig\_at\_mrbendig.com>
|
||||
* torsten.funck <torsten.funck\_at\_googlemail.com>
|
||||
* Sven Strickroth <email\_at\_cs-ware.de>
|
||||
* typo3 <typo3\_at\_dirk-weise.de>
|
||||
* Jo Michael <me\_at\_mynetx.net>
|
||||
|
||||
* Greek
|
||||
|
||||
* Panagiotis Papazoglou <papaz_p\_at\_yahoo.com>
|
||||
|
||||
* English (United Kingdom)
|
||||
|
||||
* Robert Readman <robert_readman\_at\_hotmail.com>
|
||||
|
||||
* Spanish
|
||||
|
||||
* Matías Bellone <matiasbellone\_at\_gmail.com>
|
||||
|
||||
* French
|
||||
|
||||
* Marc Delisle <marc\_at\_infomarc.info>
|
||||
|
||||
* Hindi
|
||||
|
||||
* u4663530 <u4663530\_at\_anu.edu.au>
|
||||
* rsedwardian <rsedwardian\_at\_gmail.com>
|
||||
|
||||
* Hungarian
|
||||
|
||||
* gergo314 <gergo314\_at\_gmail.com>
|
||||
|
||||
* Italian
|
||||
|
||||
* Rouslan Placella <rouslan\_at\_placella.com>
|
||||
|
||||
* Japanese
|
||||
|
||||
* Yuichiro <yuichiro\_at\_pop07.odn.ne.jp>
|
||||
|
||||
* Lithuanian
|
||||
|
||||
* Kęstutis <forkik\_at\_gmail.com>
|
||||
|
||||
* Norwegian Bokmål
|
||||
|
||||
* Sven-Erik Andersen <sven.erik.andersen\_at\_gmail.com>
|
||||
|
||||
* Dutch
|
||||
|
||||
* Dieter Adriaenssens <ruleant\_at\_users.sourceforge.net>
|
||||
* Herman van Rink <rink\_at\_initfour.nl>
|
||||
|
||||
* Polish
|
||||
|
||||
* Stanisław Krukowski <stankruk\_at\_neostrada.pl>
|
||||
* Marcin Kozioł <lord_dark\_at\_wp.pl>
|
||||
|
||||
* Portuguese
|
||||
|
||||
* JoaoTMDias <contacto\_at\_joaodias.me>
|
||||
|
||||
* Portuguese (Brazil)
|
||||
|
||||
* wiltave <wiltave\_at\_gmail.com>
|
||||
* emerson4br <emerson4br\_at\_gmail.com>
|
||||
|
||||
* Romanian
|
||||
|
||||
* alexukf <alex.ukf\_at\_gmail.com>
|
||||
|
||||
* Russian
|
||||
|
||||
* Victor Volkov <hanut\_at\_php-myadmin.ru>
|
||||
|
||||
* Sinhala
|
||||
|
||||
* Madhura Jayaratne <madhura.cj\_at\_gmail.com>
|
||||
|
||||
* Slovak
|
||||
|
||||
* Martin Lacina <martin\_at\_whistler.sk>
|
||||
|
||||
* Slovenian
|
||||
|
||||
* Domen <dbc334\_at\_gmail.com>
|
||||
|
||||
* Swedish
|
||||
|
||||
* stefan <stefan\_at\_inkopsforum.se>
|
||||
|
||||
* Tamil
|
||||
|
||||
* ysajeepan <ysajeepan\_at\_live.com>
|
||||
|
||||
* Telugu
|
||||
|
||||
* veeven <veeven\_at\_gmail.com>
|
||||
|
||||
* Thai
|
||||
|
||||
* kanitchet <kanichet\_at\_hotmail.com>
|
||||
|
||||
* Turkish
|
||||
|
||||
* Burak Yavuz <hitowerdigit\_at\_hotmail.com>
|
||||
|
||||
* Uighur
|
||||
|
||||
* gheni <gheni\_at\_yahoo.cn>
|
||||
|
||||
* Ukrainian
|
||||
|
||||
* typim <duke3d\_at\_ukr.net>
|
||||
* oleg-ilnytskyi <ukraine.oleg\_at\_gmail.com>
|
||||
|
||||
* Urdu
|
||||
|
||||
* Mehbooob Khan <mehboobbugti\_at\_gmail.com>
|
||||
|
||||
* Simplified Chinese
|
||||
|
||||
* shanyan baishui <Siramizu\_at\_gmail.com>
|
||||
|
||||
* Traditional Chinese
|
||||
|
||||
* star <star\_at\_origin.club.tw>
|
||||
|
||||
Documentation translators
|
||||
+++++++++++++++++++++++++
|
||||
|
||||
Following people have contributed to translation of phpMyAdmin documentation:
|
||||
|
||||
* Czech
|
||||
|
||||
* Michal Čihař <michal\_at\_cihar.com>
|
||||
|
||||
* Greek
|
||||
|
||||
* Panagiotis Papazoglou <papaz_p\_at\_yahoo.com>
|
||||
|
||||
* English (United Kingdom)
|
||||
|
||||
* Robert Readman <robert_readman\_at\_hotmail.com>
|
||||
|
||||
* French
|
||||
|
||||
* Cédric Corazza <cedric.corazza\_at\_wanadoo.fr>
|
||||
|
||||
* Japanese
|
||||
|
||||
* Yuichiro Takahashi <yuichiro\_at\_pop07.odn.ne.jp>
|
||||
|
||||
* Polish
|
||||
|
||||
* Stanisław Krukowski <stankruk\_at\_neostrada.pl>
|
||||
|
||||
* Portuguese (Brazil)
|
||||
|
||||
* mjaning <mjaning\_at\_gmail.com>
|
||||
|
||||
* Slovenian
|
||||
|
||||
* Domen <dbc334\_at\_gmail.com>
|
||||
|
||||
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 columns 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.
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
.. _developers:
|
||||
|
||||
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.
|
||||
|
||||
You can check out all the possibilities to contribute in the
|
||||
`contribute section on our website
|
||||
<http://www.phpmyadmin.net/home_page/improve.php>`_.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,406 @@
|
||||
.. _glossary:
|
||||
|
||||
Glossary
|
||||
========
|
||||
|
||||
From Wikipedia, the free encyclopedia
|
||||
|
||||
.. glossary::
|
||||
|
||||
.htaccess
|
||||
the default name of Apache's directory-level configuration file.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/.htaccess>
|
||||
|
||||
ACL
|
||||
Access Contol List
|
||||
|
||||
Blowfish
|
||||
a keyed, symmetric block cipher, designed in 1993 by Bruce Schneier.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Blowfish_(cipher)>
|
||||
|
||||
Browser
|
||||
a software application that enables a user to display and interact with text, images, and other information typically located on a web page at a website on the World Wide Web.
|
||||
|
||||
.. seealso:: <http://en.wikipedia.org/wiki/Web_browser>
|
||||
|
||||
bzip2
|
||||
a free software/open source data compression algorithm and program developed by Julian Seward.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Bzip2>
|
||||
|
||||
CGI
|
||||
Common Gateway Interface is an important World Wide Web technology that
|
||||
enables a client web browser to request data from a program executed on
|
||||
the Web server.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/CGI>
|
||||
|
||||
Changelog
|
||||
a log or record of changes made to a project.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Changelog>
|
||||
|
||||
Client
|
||||
a computer system that accesses a (remote) service on another computer by some kind of network.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Client_(computing)>
|
||||
|
||||
column
|
||||
a set of data values of a particular simple type, one for each row of the table.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Column_(database)>
|
||||
|
||||
Cookie
|
||||
a packet of information sent by a server to a World Wide Web browser and then sent back by the browser each time it accesses that server.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/HTTP_cookie>
|
||||
|
||||
CSV
|
||||
Comma- separated values
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Comma-separated_values>
|
||||
|
||||
DB
|
||||
look at :term:`database`
|
||||
|
||||
database
|
||||
an organized collection of data.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Database>
|
||||
|
||||
Engine
|
||||
look at :term:`storage engines`
|
||||
|
||||
extension
|
||||
a PHP module that extends PHP with additional functionality.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/extension>
|
||||
|
||||
FAQ
|
||||
Frequently Asked Questions is a list of commonly asked question and there
|
||||
answers.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/FAQ>
|
||||
|
||||
Field
|
||||
one part of divided data/columns.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Field_(computer_science)>
|
||||
|
||||
foreign key
|
||||
a column or group of columns in a database row that point to a key column
|
||||
or group of columns forming a key of another database row in some
|
||||
(usually different) table.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Foreign_key>
|
||||
|
||||
FPDF
|
||||
the free :term:`PDF` library
|
||||
|
||||
.. seealso:: <http://www.fpdf.org/>
|
||||
|
||||
GD
|
||||
Graphics Library by Thomas Boutell and others for dynamically manipulating images.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/GD_Graphics_Library>
|
||||
|
||||
GD2
|
||||
look at :term:`gd`
|
||||
|
||||
gzip
|
||||
gzip is short for GNU zip, a GNU free software file compression program.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Gzip>
|
||||
|
||||
host
|
||||
any machine connected to a computer network, a node that has a hostname.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Host>
|
||||
|
||||
hostname
|
||||
the unique name by which a network attached device is known on a network.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Hostname>
|
||||
|
||||
HTTP
|
||||
HyperText Transfer Protocol is the primary method used to transfer or
|
||||
convey information on the World Wide Web.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/HyperText_Transfer_Protocol>
|
||||
|
||||
https
|
||||
a :term:`HTTP`-connection with additional security measures.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Https:_URI_scheme>
|
||||
|
||||
IEC
|
||||
International Electrotechnical Commission
|
||||
|
||||
IIS
|
||||
Internet Information Services is a set of Internet-based services for
|
||||
servers using Microsoft Windows.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Internet_Information_Services>
|
||||
|
||||
Index
|
||||
a feature that allows quick access to the rows in a table.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Index_(database)>
|
||||
|
||||
IP
|
||||
Internet Protocol is a data-oriented protocol used by source and
|
||||
destination hosts for communicating data across a packet-switched
|
||||
internetwork.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Internet_Protocol>
|
||||
|
||||
IP Address
|
||||
a unique number that devices use in order to identify and communicate with each other on a network utilizing the Internet Protocol standard.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/IP_Address>
|
||||
|
||||
IPv6
|
||||
IPv6 (Internet Protocol version 6) is the latest revision of the
|
||||
Internet Protocol (:term:`IP`), designed to deal with the
|
||||
long-anticipated problem of its precedessor IPv4 running out of addresses.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/IPv6>
|
||||
|
||||
ISAPI
|
||||
Internet Server Application Programming Interface is the API of Internet Information Services (IIS).
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/ISAPI>
|
||||
|
||||
ISP
|
||||
Internet service provider is a business or organization that offers users
|
||||
access to the Internet and related services.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/ISP>
|
||||
|
||||
ISO
|
||||
International Standards Organisation
|
||||
|
||||
JPEG
|
||||
a most commonly used standard method of lossy compression for photographic images.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/JPEG>
|
||||
|
||||
JPG
|
||||
look at :term:`jpeg`
|
||||
|
||||
Key
|
||||
look at :term:`index`
|
||||
|
||||
LATEX
|
||||
a document preparation system for the TEX typesetting program.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/LaTeX>
|
||||
|
||||
Mac
|
||||
Apple Macintosh is line of personal computers is designed, developed, manufactured, and marketed by Apple Computer.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Mac>
|
||||
|
||||
Mac OS X
|
||||
the operating system which is included with all currently shipping Apple Macintosh computers in the consumer and professional markets.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Mac_OS_X>
|
||||
|
||||
MCrypt
|
||||
a cryptographic library.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/MCrypt>
|
||||
|
||||
mcrypt
|
||||
the MCrypt PHP extension.
|
||||
|
||||
.. seealso:: <http://php.net/mcrypt>
|
||||
|
||||
MIME
|
||||
Multipurpose Internet Mail Extensions is
|
||||
an Internet Standard for the format of e-mail.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/MIME>
|
||||
|
||||
module
|
||||
some sort of extension for the Apache Webserver.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/module>
|
||||
|
||||
MySQL
|
||||
a multithreaded, multi-user, SQL (Structured Query Language) Database Management System (DBMS).
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/MySQL>
|
||||
|
||||
mysqli
|
||||
the improved MySQL client PHP extension.
|
||||
|
||||
.. seealso:: <http://php.net/mysqli>
|
||||
|
||||
mysql
|
||||
the MySQL client PHP extension.
|
||||
|
||||
.. seealso:: <http://php.net/mysql>
|
||||
|
||||
OpenDocument
|
||||
open standard for office documents.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/OpenDocument>
|
||||
|
||||
OS X
|
||||
look at :term:`Mac OS X`.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/OS_X>
|
||||
|
||||
PDF
|
||||
Portable Document Format is a file format developed by Adobe Systems for
|
||||
representing two dimensional documents in a device independent and
|
||||
resolution independent format.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Portable_Document_Format>
|
||||
|
||||
PEAR
|
||||
the PHP Extension and Application Repository.
|
||||
|
||||
.. seealso:: <http://pear.php.net/>
|
||||
|
||||
PCRE
|
||||
Perl Compatible Regular Expressions is the perl-compatible regular
|
||||
expression functions for PHP
|
||||
|
||||
.. seealso:: <http://php.net/pcre>
|
||||
|
||||
PHP
|
||||
short for "PHP: Hypertext Preprocessor", is an open-source, reflective
|
||||
programming language used mainly for developing server-side applications
|
||||
and dynamic web content, and more recently, a broader range of software
|
||||
applications.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/PHP>
|
||||
|
||||
port
|
||||
a connection through which data is sent and received.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Port_(computing)>
|
||||
|
||||
RFC
|
||||
Request for Comments (RFC) documents are a series of memoranda
|
||||
encompassing new research, innovations, and methodologies applicable to
|
||||
Internet technologies.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Request_for_Comments>
|
||||
|
||||
RFC 1952
|
||||
GZIP file format specification version 4.3
|
||||
|
||||
.. seealso:: :rfc:`1952`
|
||||
|
||||
Row (record, tuple)
|
||||
represents a single, implicitly structured data item in a table.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Row_(database)>
|
||||
|
||||
Server
|
||||
a computer system that provides services to other computing systems over a network.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Server_(computing)>
|
||||
|
||||
Storage Engines
|
||||
handlers for different table types
|
||||
|
||||
.. seealso:: <http://dev.mysql.com/doc/en/storage-engines.html>
|
||||
|
||||
SOAP
|
||||
Simple Object Access Protocol is a protocol specification for exchanging
|
||||
structured information in the implementation of Web Services in computer
|
||||
networks.
|
||||
|
||||
.. seealso:: <http://en.wikipedia.org/wiki/SOAP>
|
||||
|
||||
socket
|
||||
a form of inter-process communication.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Socket#Computer_sockets>
|
||||
|
||||
SSL
|
||||
Secure Sockets Layer is a cryptographic protocol which provides secure
|
||||
communication on the Internet.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Secure_Sockets_Layer>
|
||||
|
||||
Stored procedure
|
||||
a subroutine available to applications accessing a relational database system
|
||||
|
||||
.. seealso:: <http://en.wikipedia.org/wiki/Stored_procedure>
|
||||
|
||||
SQL
|
||||
Structured Query Language
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/SQL>
|
||||
|
||||
table
|
||||
a set of data elements (cells) that is organized, defined and stored as
|
||||
horizontal rows and vertical columns where each item can be uniquely
|
||||
identified by a label or key or by it?s position in relation to other
|
||||
items.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Table_(database)>
|
||||
|
||||
tar
|
||||
a type of archive file format: the Tape ARchive format.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Tar_(file_format)>
|
||||
|
||||
TCP
|
||||
Transmission Control Protocol is one of the core protocols of the
|
||||
Internet protocol suite.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/TCP>
|
||||
|
||||
TCPDF
|
||||
Rewrite of :term:`UFPDF` with various improvements.
|
||||
|
||||
.. seealso:: <http://www.tcpdf.org/>
|
||||
|
||||
trigger
|
||||
a procedural code that is automatically executed in response to certain events on a particular table or view in a database
|
||||
|
||||
.. seealso:: <http://en.wikipedia.org/wiki/Database_trigger>
|
||||
|
||||
UFPDF
|
||||
Unicode/UTF-8 extension for :term:`FPDF`
|
||||
|
||||
.. seealso:: <http://www.acko.net/node/56>
|
||||
|
||||
URL
|
||||
Uniform Resource Locator is a sequence of characters, conforming to a
|
||||
standardized format, that is used for referring to resources, such as
|
||||
documents and images on the Internet, by their location.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/URL>
|
||||
|
||||
Webserver
|
||||
A computer (program) that is responsible for accepting HTTP requests from clients and serving them Web pages.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Webserver>
|
||||
|
||||
XML
|
||||
Extensible Markup Language is a W3C-recommended general- purpose markup
|
||||
language for creating special-purpose markup languages, capable of
|
||||
describing many different kinds of data.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/XML>
|
||||
|
||||
ZIP
|
||||
a popular data compression and archival format.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/ZIP_(file_format)>
|
||||
|
||||
zlib
|
||||
an open-source, cross- platform data compression library by Jean-loup Gailly and Mark Adler.
|
||||
|
||||
.. seealso:: <http://www.wikipedia.org/wiki/Zlib>
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
.. phpMyAdmin documentation master file, created by
|
||||
sphinx-quickstart on Wed Sep 26 14:04:48 2012.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
Welcome to phpMyAdmin's documentation!
|
||||
======================================
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
intro
|
||||
require
|
||||
setup
|
||||
config
|
||||
user
|
||||
faq
|
||||
developers
|
||||
vendors
|
||||
copyright
|
||||
credits
|
||||
glossary
|
||||
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`search`
|
||||
* :ref:`glossary`
|
||||
@@ -0,0 +1,68 @@
|
||||
.. _intro:
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
phpMyAdmin can manage a whole MySQL server (needs a super-user) as
|
||||
well as 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.
|
||||
|
||||
|
||||
Supported features
|
||||
------------------
|
||||
|
||||
Currently phpMyAdmin can:
|
||||
|
||||
* browse and drop databases, tables, views, columns and indexes
|
||||
* display multiple results sets through stored procedures or queries
|
||||
* create, copy, drop, rename and alter databases, tables, columns and
|
||||
indexes
|
||||
* maintenance server, databases and tables, with proposals on server
|
||||
configuration
|
||||
* execute, edit and bookmark any :term:`SQL`-statement, even batch-queries
|
||||
* load text files into tables
|
||||
* create [#f1]_ and read dumps of tables
|
||||
* export [#f1]_ data to various formats: :term:`CSV`, :term:`XML`, :term:`PDF`,
|
||||
:term:`ISO`/:term:`IEC` 26300 - :term:`OpenDocument` Text and Spreadsheet, Microsoft
|
||||
Word 2000, and LATEX formats
|
||||
* import data and :term:`MySQL` structures from :term:`OpenDocument` spreadsheets, as
|
||||
well as :term:`XML`, :term:`CSV`, and :term:`SQL` files
|
||||
* administer multiple servers
|
||||
* manage MySQL users and privileges
|
||||
* check referential integrity in MyISAM tables
|
||||
* using Query-by-example (QBE), create complex queries automatically
|
||||
connecting required tables
|
||||
* create :term:`PDF` graphics of your
|
||||
database layout
|
||||
* search globally in a database or a subset of it
|
||||
* transform stored data into any format using a set of predefined
|
||||
functions, like displaying BLOB-data as image or download-link
|
||||
* track changes on databases, tables and views
|
||||
* support InnoDB tables and foreign keys see :ref:`faq3_6`
|
||||
* support mysqli, the improved MySQL extension see :ref:`faq1_17`
|
||||
* create, edit, call, export and drop stored procedures and functions
|
||||
* create, edit, export and drop events and triggers
|
||||
* communicate in `62 different languages
|
||||
<http://www.phpmyadmin.net/home_page/translations.php>`_
|
||||
|
||||
|
||||
A word about users
|
||||
------------------
|
||||
|
||||
Many people have difficulty understanding the concept of user
|
||||
management with regards to phpMyAdmin. When a user logs in to
|
||||
phpMyAdmin, that username and password are passed directly to MySQL.
|
||||
phpMyAdmin does no account management on its own (other than allowing
|
||||
one to manipulate the MySQL user account information); all users must
|
||||
be valid MySQL users.
|
||||
|
||||
.. rubric:: Footnotes
|
||||
|
||||
.. [#f1]
|
||||
|
||||
phpMyAdmin can compress (:term:`Zip`, :term:`GZip` or :term:`RFC 1952`
|
||||
formats) dumps and :term:`CSV` exports if you use PHP with
|
||||
:term:`Zlib` support (``--with-zlib``).
|
||||
Proper support may also need changes in :file:`php.ini`.
|
||||
@@ -0,0 +1,18 @@
|
||||
Other sources of information
|
||||
============================
|
||||
|
||||
Printed Book
|
||||
------------
|
||||
|
||||
The definitive guide to using phpMyAdmin is the book Mastering phpMyAdmin for
|
||||
Effective MySQL Management by Marc Delisle. You can get information on that
|
||||
book and other officially endorsed `books at the phpMyAdmin site`_.
|
||||
|
||||
.. _books at the phpMyAdmin site: http://www.phpmyadmin.net/home_page/docs.php?books
|
||||
|
||||
Tutorials
|
||||
---------
|
||||
|
||||
Third party tutorials and articles are listed on our `wiki page`_.
|
||||
|
||||
.. _wiki page: http://wiki.phpmyadmin.net/pma/Articles
|
||||
@@ -0,0 +1,50 @@
|
||||
User management
|
||||
===============
|
||||
|
||||
User management is the process of controlling which users are allowed to
|
||||
connect to the MySQL server and what permissions they have on each database.
|
||||
phpMyAdmin does not handle user management, rather it passes the username and
|
||||
password on to MySQL, which then determines whether a user is permitted to
|
||||
perform a particular action. Within phpMyAdmin, administrators have full
|
||||
control over creating users, viewing and editing privileges for existing users,
|
||||
and removing users.
|
||||
|
||||
Within phpMyAdmin, user management is controlled via the :guilabel:`Users` link
|
||||
from the main page. Users can be created, edited, and removed.
|
||||
|
||||
Creating a new user
|
||||
-------------------
|
||||
|
||||
To create a new user, click the :guilabel:`Add a new user` link near the bottom
|
||||
of the :guilabel:`Users` page (you must be a "superuser", e.g., user "root").
|
||||
Use the textboxes and drop-downs to configure the user to your particular
|
||||
needs. You can then select whether to create a database for that user and grant
|
||||
specific global privileges. Once you've created the user (by clicking Go), you
|
||||
can define that user's permissions on a specific database (don't grant global
|
||||
privileges in that case). In general, users do not need any global privileges
|
||||
(other than USAGE), only permissions for their specific database.
|
||||
|
||||
Editing an existing user
|
||||
------------------------
|
||||
|
||||
To edit an existing user, simply click the pencil icon to the right of that
|
||||
user in the :guilabel:`Users` page. You can then edit their global- and
|
||||
database-specific privileges, change their password, or even copy those
|
||||
privileges to a new user.
|
||||
|
||||
Deleting a user
|
||||
---------------
|
||||
|
||||
From the :guilabel:`Users` page, check the checkbox for the user you wish to
|
||||
remove, select whether or not to also remove any databases of the same name (if
|
||||
they exist), and click Go.
|
||||
|
||||
Assigning privileges to user for a specific database
|
||||
----------------------------------------------------
|
||||
|
||||
Users are assigned to databases by editing the user record (from the
|
||||
:guilabel:`Users` link on the home page) not from within the :guilabel:`Users`
|
||||
link under the table. If you are creating a user specifically for a given table
|
||||
you will have to create the user first (with no global privileges) and then go
|
||||
back and edit that user to add the table and privileges for the individual
|
||||
table.
|
||||
@@ -0,0 +1,53 @@
|
||||
.. _require:
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
Web server
|
||||
----------
|
||||
|
||||
Since, phpMyAdmin's interface is based entirely in your browser, you'll need a
|
||||
web server (such as Apache, :term:`IIS`) to install phpMyAdmin's files into.
|
||||
|
||||
PHP
|
||||
---
|
||||
|
||||
* You need PHP 5.3.0 or newer, with ``session`` support, the Standard PHP Library
|
||||
(SPL) extension, JSON support, and the ``mbstring`` extension.
|
||||
|
||||
* To support uploading of ZIP files, you need the PHP ``zip`` extension.
|
||||
|
||||
* You need GD2 support in PHP to display inline thumbnails of JPEGs
|
||||
("image/jpeg: inline") with their original aspect ratio.
|
||||
|
||||
* When using the cookie authentication (the default), the `mcrypt
|
||||
<http://www.php.net/mcrypt>`_ extension is strongly suggested for most
|
||||
users and is **required** for 64–bit machines. Not using mcrypt will
|
||||
cause phpMyAdmin to load pages significantly slower.
|
||||
|
||||
* To support upload progress bars, see :ref:`faq2_9`.
|
||||
|
||||
* To support XML and Open Document Spreadsheet importing, you need the
|
||||
`libxml <http://www.php.net/libxml>`_ extension.
|
||||
|
||||
* Performance suggestion: install the ``ctype`` extension.
|
||||
|
||||
.. seealso:: :ref:`faq1_31`, :ref:`authentication_modes`
|
||||
|
||||
Database
|
||||
--------
|
||||
|
||||
phpMyAdmin supports MySQL-compatible databases.
|
||||
|
||||
* MySQL 5.5 or newer
|
||||
* MariaDB 5.5 or newer
|
||||
* Drizzle
|
||||
|
||||
.. seealso:: :ref:`faq1_17`
|
||||
|
||||
Web browser
|
||||
-----------
|
||||
|
||||
To access phpMyAdmin you need a web browser with cookies and javascript
|
||||
enabled.
|
||||
|
||||
@@ -0,0 +1,493 @@
|
||||
.. _setup:
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
phpMyAdmin does not apply any special security methods to the MySQL
|
||||
database server. It is still the system administrator's job to grant
|
||||
permissions on the MySQL databases properly. phpMyAdmin's :guilabel:`Users`
|
||||
page can be used for this.
|
||||
|
||||
.. warning::
|
||||
|
||||
:term:`Mac` users should note that if you are on a version before
|
||||
:term:`Mac OS X`, StuffIt unstuffs with :term:`Mac` formats. So you'll have
|
||||
to resave as in BBEdit to Unix style ALL phpMyAdmin scripts before
|
||||
uploading them to your server, as PHP seems not to like :term:`Mac`-style
|
||||
end of lines character ("``\r``").
|
||||
|
||||
Linux distributions
|
||||
+++++++++++++++++++
|
||||
|
||||
phpMyAdmin is included in most Linux distributions. It is recommended to use
|
||||
distribution packages when possible - they usually provide integration to your
|
||||
distribution and you will automatically get security updates from your distribution.
|
||||
|
||||
|
||||
Debian
|
||||
------
|
||||
|
||||
Debian's package repositories include a phpMyAdmin package, but be aware that
|
||||
the configuration file is maintained in ``/etc/phpmyadmin`` and may differ in
|
||||
some ways from the official phpMyAdmin documentation.
|
||||
|
||||
OpenSUSE
|
||||
--------
|
||||
|
||||
OpenSUSE already comes with phpMyAdmin package, just install packages from
|
||||
the `openSUSE Build Service <http://software.opensuse.org/package/phpMyAdmin>`_.
|
||||
|
||||
Ubuntu
|
||||
------
|
||||
|
||||
Ubuntu ships phpMyAdmin package, however if you want to use recent version, you
|
||||
can use packages from
|
||||
`PPA for Michal Čihař <https://launchpad.net/~nijel/+archive/phpmyadmin>`_.
|
||||
|
||||
Gentoo
|
||||
------
|
||||
|
||||
Gentoo ships the phpMyAdmin package, both in a near stock configuration as well
|
||||
as in a ``webapp-config`` configuration. Use ``emerge dev-db/phpmyadmin`` to
|
||||
install.
|
||||
|
||||
Mandriva
|
||||
--------
|
||||
|
||||
Mandriva ships the phpMyAdmin package in their ``contrib`` branch and can be
|
||||
installed via the usual Control Center.
|
||||
|
||||
Fedora
|
||||
------
|
||||
|
||||
Fedora ships the phpMyAdmin package, but be aware that the configuration file
|
||||
is maintained in ``/etc/phpMyAdmin/`` and may differ in some ways from the
|
||||
official phpMyAdmin documentation.
|
||||
|
||||
Red Hat Enterprise Linux
|
||||
------------------------
|
||||
|
||||
Red Hat Enterprise Linux itself and thus derivatives like CentOS don't
|
||||
ship phpMyAdmin, but the Fedora-driven repository
|
||||
`Extra Packages for Enterprise Linux (EPEL) <http://fedoraproject.org/wiki/EPEL>`_
|
||||
is doing so, if it's
|
||||
`enabled <http://fedoraproject.org/wiki/EPEL/FAQ#howtouse>`_.
|
||||
But be aware that the configuration file is maintained in
|
||||
``/etc/phpMyAdmin/`` and may differ in some ways from the
|
||||
official phpMyAdmin documentation.
|
||||
|
||||
|
||||
Installing on Windows
|
||||
+++++++++++++++++++++
|
||||
|
||||
The easiest way to get phpMyAdmin on Windows is using third party products
|
||||
which include phpMyAdmin together with a database and web server such as
|
||||
`XAMPP <http://www.apachefriends.org/en/xampp.html>`_.
|
||||
|
||||
You can find more of such options at `Wikipedia <https://en.wikipedia.org/wiki/List_of_AMP_packages>`_.
|
||||
|
||||
|
||||
.. _quick_install:
|
||||
|
||||
Quick Install
|
||||
+++++++++++++
|
||||
|
||||
#. Choose an appropriate distribution kit from the phpmyadmin.net
|
||||
Downloads page. Some kits contain only the English messages, others
|
||||
contain all languages. We'll assume you chose a kit whose name
|
||||
looks like ``phpMyAdmin-x.x.x -all-languages.tar.gz``.
|
||||
#. Untar or unzip the distribution (be sure to unzip the subdirectories):
|
||||
``tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz`` in your
|
||||
webserver's document root. If you don't have direct access to your
|
||||
document root, put the files in a directory on your local machine,
|
||||
and, after step 4, transfer the directory on your web server using,
|
||||
for example, ftp.
|
||||
#. Ensure that all the scripts have the appropriate owner (if PHP is
|
||||
running in safe mode, having some scripts with an owner different from
|
||||
the owner of other scripts will be a problem). See :ref:`faq4_2` and
|
||||
:ref:`faq1_26` for suggestions.
|
||||
#. Now you must configure your installation. There are two methods that
|
||||
can be used. Traditionally, users have hand-edited a copy of
|
||||
:file:`config.inc.php`, but now a wizard-style setup script is provided
|
||||
for those who prefer a graphical installation. Creating a
|
||||
:file:`config.inc.php` is still a quick way to get started and needed for
|
||||
some advanced features.
|
||||
|
||||
|
||||
Manually creating the file
|
||||
--------------------------
|
||||
|
||||
To manually create the file, simply use your text editor to create the
|
||||
file :file:`config.inc.php` (you can copy :file:`config.sample.inc.php` to get
|
||||
minimal configuration file) in the main (top-level) phpMyAdmin
|
||||
directory (the one that contains :file:`index.php`). phpMyAdmin first
|
||||
loads :file:`libraries/config.default.php` and then overrides those values
|
||||
with anything found in :file:`config.inc.php`. If the default value is
|
||||
okay for a particular setting, there is no need to include it in
|
||||
:file:`config.inc.php`. You'll need a few directives to get going, a
|
||||
simple configuration may look like this:
|
||||
|
||||
.. code-block:: xml+php
|
||||
|
||||
|
||||
<?php
|
||||
$cfg['blowfish_secret'] = 'ba17c1ec07d65003'; // use here a value of your choice
|
||||
|
||||
$i=0;
|
||||
$i++;
|
||||
$cfg['Servers'][$i]['auth_type'] = 'cookie';
|
||||
?>
|
||||
|
||||
Or, if you prefer to not be prompted every time you log in:
|
||||
|
||||
.. code-block:: xml+php
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
$i=0;
|
||||
$i++;
|
||||
$cfg['Servers'][$i]['user'] = 'root';
|
||||
$cfg['Servers'][$i]['password'] = 'cbb74bc'; // use here your password
|
||||
$cfg['Servers'][$i]['auth_type'] = 'config';
|
||||
?>
|
||||
|
||||
For a full explanation of possible configuration values, see the
|
||||
:ref:`config` of this document.
|
||||
|
||||
.. index:: Setup script
|
||||
|
||||
.. _setup_script:
|
||||
|
||||
Using Setup script
|
||||
------------------
|
||||
|
||||
Instead of manually editing :file:`config.inc.php`, you can use the `Setup
|
||||
Script <setup/>`_. First you must manually create a folder ``config``
|
||||
in the phpMyAdmin directory. This is a security measure. On a
|
||||
Linux/Unix system you can use the following commands:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
|
||||
cd phpMyAdmin
|
||||
mkdir config # create directory for saving
|
||||
chmod o+rw config # give it world writable permissions
|
||||
|
||||
And to edit an existing configuration, copy it over first:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
|
||||
cp config.inc.php config/ # copy current configuration for editing
|
||||
chmod o+w config/config.inc.php # give it world writable permissions
|
||||
|
||||
On other platforms, simply create the folder and ensure that your web
|
||||
server has read and write access to it. :ref:`faq1_26` can help with
|
||||
this.
|
||||
|
||||
Next, open ``setup/`` in your browser. If you have an existing configuration,
|
||||
use the ``Load`` button to bring its content inside the setup panel.
|
||||
Note that **changes are not saved to disk until explicitly choose ``Save``**
|
||||
from the *Configuration* area of the screen. Normally the script saves the new
|
||||
:file:`config.inc.php` to the ``config/`` directory, but if the webserver does
|
||||
not have the proper permissions you may see the error "Cannot load or
|
||||
save configuration." Ensure that the ``config/`` directory exists and
|
||||
has the proper permissions - or use the ``Download`` link to save the
|
||||
config file locally and upload it (via FTP or some similar means) to the
|
||||
proper location.
|
||||
|
||||
Once the file has been saved, it must be moved out of the ``config/``
|
||||
directory and the permissions must be reset, again as a security
|
||||
measure:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
|
||||
mv config/config.inc.php . # move file to current directory
|
||||
chmod o-rw config.inc.php # remove world read and write permissions
|
||||
rm -rf config # remove not needed directory
|
||||
|
||||
Now the file is ready to be used. You can choose to review or edit the
|
||||
file with your favorite editor, if you prefer to set some advanced
|
||||
options which the setup script does not provide.
|
||||
|
||||
#. If you are using the ``auth_type`` "config", it is suggested that you
|
||||
protect the phpMyAdmin installation directory because using config
|
||||
does not require a user to enter a password to access the phpMyAdmin
|
||||
installation. Use of an alternate authentication method is
|
||||
recommended, for example with HTTP–AUTH in a :term:`.htaccess` file or switch to using
|
||||
``auth_type`` cookie or http. See the :ref:`faqmultiuser`
|
||||
for additional information, especially :ref:`faq4_4`.
|
||||
#. Open the `main phpMyAdmin directory <index.php>`_ in your browser.
|
||||
phpMyAdmin should now display a welcome screen and your databases, or
|
||||
a login dialog if using :term:`HTTP` or
|
||||
cookie authentication mode.
|
||||
#. You should deny access to the ``./libraries`` and ``./setup/lib``
|
||||
subfolders in your webserver configuration. For Apache you can use
|
||||
supplied :term:`.htaccess` file in that folder, for other webservers, you should
|
||||
configure this yourself. Such configuration prevents from possible
|
||||
path exposure and cross side scripting vulnerabilities that might
|
||||
happen to be found in that code.
|
||||
#. It is generally good idea to protect public phpMyAdmin installation
|
||||
against access by robots as they usually can not do anything good
|
||||
there. You can do this using ``robots.txt`` file in root of your
|
||||
webserver or limit access by web server configuration, see
|
||||
:ref:`faq1_42`.
|
||||
|
||||
.. index::
|
||||
single: Configuration storage
|
||||
single: phpMyAdmin configuration storage
|
||||
single: pmadb
|
||||
|
||||
.. _linked-tables:
|
||||
|
||||
phpMyAdmin configuration storage
|
||||
++++++++++++++++++++++++++++++++
|
||||
|
||||
For a whole set of new features (bookmarks, comments, :term:`SQL`-history,
|
||||
tracking mechanism, :term:`PDF`-generation, column contents transformation,
|
||||
etc.) you need to create a set of special tables. Those tables can be located
|
||||
in your own database, or in a central database for a multi-user installation
|
||||
(this database would then be accessed by the controluser, so no other user
|
||||
should have rights to it).
|
||||
|
||||
Please look at your ``./examples/`` directory, where you should find a
|
||||
file called *create\_tables.sql*. (If you are using a Windows server,
|
||||
pay special attention to :ref:`faq1_23`).
|
||||
|
||||
If you already had this infrastructure and upgraded to MySQL 4.1.2 or
|
||||
newer, please use :file:`examples/upgrade_tables_mysql_4_1_2+.sql`
|
||||
and then create new tables by importing
|
||||
:file:`examples/create_tables.sql`.
|
||||
|
||||
You can use your phpMyAdmin to create the tables for you. Please be
|
||||
aware that you may need special (administrator) privileges to create
|
||||
the database and tables, and that the script may need some tuning,
|
||||
depending on the database name.
|
||||
|
||||
After having imported the :file:`examples/create_tables.sql` file, you
|
||||
should specify the table names in your :file:`config.inc.php` file. The
|
||||
directives used for that can be found in the :ref:`config`. You will also need to
|
||||
have a controluser with the proper rights to those tables (see section
|
||||
:ref:`authentication_modes` below).
|
||||
|
||||
.. _upgrading:
|
||||
|
||||
Upgrading from an older version
|
||||
+++++++++++++++++++++++++++++++
|
||||
|
||||
Simply copy :file:`config.inc.php` from your previous installation into
|
||||
the newly unpacked one. Configuration files from old versions may
|
||||
require some tweaking as some options have been changed or removed.
|
||||
For compatibility with PHP 6, remove a
|
||||
``set_magic_quotes_runtime(0);`` statement that you might find near
|
||||
the end of your configuration file.
|
||||
|
||||
You should **not** copy :file:`libraries/config.default.php` over
|
||||
:file:`config.inc.php` because the default configuration file is version-
|
||||
specific.
|
||||
|
||||
If you have upgraded your MySQL server from a version previous to 4.1.2 to
|
||||
version 5.x or newer and if you use the phpMyAdmin configuration storage, you
|
||||
should run the :term:`SQL` script found in
|
||||
:file:`examples/upgrade_tables_mysql_4_1_2+.sql`.
|
||||
|
||||
.. index:: Authentication mode
|
||||
|
||||
.. _authentication_modes:
|
||||
|
||||
Using authentication modes
|
||||
++++++++++++++++++++++++++
|
||||
|
||||
:term:`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. Nevertheless be aware that MS
|
||||
Internet Explorer seems to be really buggy about cookies, at least till version
|
||||
6. Even in a **single-user environment**, you might prefer to use :term:`HTTP`
|
||||
or cookie mode so that your user/password pair are not in clear in the
|
||||
configuration file.
|
||||
|
||||
:term:`HTTP` and cookie authentication
|
||||
modes are more secure: the MySQL login information does not need to be
|
||||
set in the phpMyAdmin configuration file (except possibly for the
|
||||
:config:option:`$cfg['Servers'][$i]['controluser']`).
|
||||
However, keep in mind that the password travels in plain text, unless
|
||||
you are using the HTTPS protocol. In cookie mode, the password is
|
||||
stored, encrypted with the blowfish algorithm, in a temporary cookie.
|
||||
|
||||
.. note:
|
||||
|
||||
This section is only applicable if your MySQL server is running
|
||||
with ``--skip-show-database``.
|
||||
|
||||
For ':term:`HTTP`' and 'cookie' modes, phpMyAdmin needs a controluser that has
|
||||
**only** the ``SELECT`` privilege on the *`mysql`.`user` (all columns except
|
||||
`Password`)*, *`mysql`.`db` (all columns)*, *`mysql`.`host` (all columns)* and
|
||||
*`mysql`.`tables\_priv` (all columns except `Grantor` and `Timestamp`)* tables.
|
||||
You must specify the details for the controluser in the :file:`config.inc.php`
|
||||
file under the :config:option:`$cfg['Servers'][$i]['controluser']` and
|
||||
:config:option:`$cfg['Servers'][$i]['controlpass']` settings. The following
|
||||
example assumes you want to use ``pma`` as the controluser and ``pmapass`` as
|
||||
the controlpass, but **this is only an example: use something else in your
|
||||
file!** Input these statements from the phpMyAdmin :term:`SQL` Query window or
|
||||
mysql command–line client. Of course you have to replace ``localhost`` with the
|
||||
webserver's host if it's not the same as the MySQL server's one.
|
||||
|
||||
.. code-block:: mysql
|
||||
|
||||
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
|
||||
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,
|
||||
Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
|
||||
Execute_priv, Repl_slave_priv, Repl_client_priv
|
||||
) ON mysql.user TO 'pma'@'localhost';
|
||||
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
|
||||
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
|
||||
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
|
||||
ON mysql.tables_priv TO 'pma'@'localhost';
|
||||
|
||||
If you want to use the many new relation and bookmark features:
|
||||
|
||||
.. code-block:: mysql
|
||||
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';
|
||||
|
||||
(this of course requires that your :ref:`linked-tables` be set up).
|
||||
|
||||
Then each of the *true* users should be granted a set of privileges
|
||||
on a set of particular databases. Normally you shouldn't give global
|
||||
privileges to an ordinary user, unless you understand the impact of those
|
||||
privileges (for example, you are creating a superuser).
|
||||
For example, to grant the user *real_user* with all privileges on
|
||||
the database *user_base*:
|
||||
|
||||
.. code-block:: mysql
|
||||
|
||||
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 authentication mode, you don't need to fill the
|
||||
user/password fields inside the :config:option:`$cfg['Servers']`.
|
||||
|
||||
.. index:: pair: HTTP; Authentication mode
|
||||
|
||||
HTTP authentication mode
|
||||
------------------------
|
||||
|
||||
* Uses :term:`HTTP` Basic authentication
|
||||
method and allows you to log in as any valid MySQL user.
|
||||
* Is supported with most PHP configurations. For :term:`IIS` (:term:`ISAPI`)
|
||||
support using :term:`CGI` PHP see :ref:`faq1_32`, for using with Apache
|
||||
:term:`CGI` see :ref:`faq1_35`.
|
||||
* See also :ref:`faq4_4` about not using the :term:`.htaccess` mechanism along with
|
||||
':term:`HTTP`' authentication mode.
|
||||
|
||||
.. index:: pair: Cookie; Authentication mode
|
||||
|
||||
.. _cookie:
|
||||
|
||||
Cookie authentication mode
|
||||
--------------------------
|
||||
|
||||
* You can use this method as a replacement for the :term:`HTTP` authentication
|
||||
(for example, if you're running :term:`IIS`).
|
||||
* Obviously, the user must enable cookies in the browser, but this is
|
||||
now a requirement for all authentication modes.
|
||||
* With this mode, the user can truly log out of phpMyAdmin and log in
|
||||
back with the same username.
|
||||
* If you want to log in to arbitrary server see :config:option:`$cfg['AllowArbitraryServer']` directive.
|
||||
* As mentioned in the :ref:`require` section, having the ``mcrypt`` extension will
|
||||
speed up access considerably, but is not required.
|
||||
|
||||
.. index:: pair: Signon; Authentication mode
|
||||
|
||||
Signon authentication mode
|
||||
--------------------------
|
||||
|
||||
* This mode is a convenient way of using credentials from another
|
||||
application to authenticate to phpMyAdmin.
|
||||
* The other application has to store login information into session
|
||||
data.
|
||||
|
||||
.. seealso::
|
||||
:config:option:`$cfg['Servers'][$i]['auth_type']`,
|
||||
:config:option:`$cfg['Servers'][$i]['SignonSession']`,
|
||||
:config:option:`$cfg['Servers'][$i]['SignonScript']`,
|
||||
:config:option:`$cfg['Servers'][$i]['SignonURL']`
|
||||
|
||||
|
||||
.. index:: pair: Config; Authentication mode
|
||||
|
||||
Config authentication mode
|
||||
--------------------------
|
||||
|
||||
* This mode is the less secure one because it requires you to fill the
|
||||
:config:option:`$cfg['Servers'][$i]['user']` and
|
||||
:config:option:`$cfg['Servers'][$i]['password']`
|
||||
fields (and as a result, anyone who can read your :file:`config.inc.php`
|
||||
can discover your username and password). But you don't need to setup
|
||||
a "controluser" here: using the :config:option:`$cfg['Servers'][$i]['only_db']` might be enough.
|
||||
* In the :ref:`faqmultiuser` section, there is an entry explaining how
|
||||
to protect your configuration file.
|
||||
* For additional security in this mode, you may wish to consider the
|
||||
Host authentication :config:option:`$cfg['Servers'][$i]['AllowDeny']['order']`
|
||||
and :config:option:`$cfg['Servers'][$i]['AllowDeny']['rules']` configuration directives.
|
||||
* Unlike cookie and http, does not require a user to log in when first
|
||||
loading the phpMyAdmin site. This is by design but could allow any
|
||||
user to access your installation. Use of some restriction method is
|
||||
suggested, perhaps a :term:`.htaccess` file with the HTTP-AUTH directive or disallowing
|
||||
incoming HTTP requests at one’s router or firewall will suffice (both
|
||||
of which are beyond the scope of this manual but easily searchable
|
||||
with Google).
|
||||
|
||||
.. index:: pair: Swekey; Authentication mode
|
||||
|
||||
.. _swekey:
|
||||
|
||||
Swekey authentication mode
|
||||
--------------------------
|
||||
|
||||
The Swekey is a low cost authentication USB key that can be used in
|
||||
web applications. When Swekey authentication is activated, phpMyAdmin
|
||||
requires the users's Swekey to be plugged before entering the login
|
||||
page (currently supported for cookie authentication mode only). Swekey
|
||||
Authentication is disabled by default. To enable it, add the following
|
||||
line to :file:`config.inc.php`:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey.conf';
|
||||
|
||||
You then have to create the ``swekey.conf`` file that will associate
|
||||
each user with their Swekey Id. It is important to place this file
|
||||
outside of your web server's document root (in the example, it is
|
||||
located in ``/etc``). A self documented sample file is provided in the
|
||||
``examples`` directory. Feel free to use it with your own users'
|
||||
information. If you want to purchase a Swekey please visit
|
||||
`http://phpmyadmin.net/auth\_key <http://phpmyadmin.net/auth_key>`_
|
||||
since this link provides funding for phpMyAdmin.
|
||||
|
||||
.. seealso:: :config:option:`$cfg['Servers'][$i]['auth_swekey_config']`
|
||||
|
||||
|
||||
Securing your phpMyAdmin installation
|
||||
+++++++++++++++++++++++++++++++++++++
|
||||
|
||||
The phpMyAdmin team tries hardly to make the application secure, however there
|
||||
are always ways to make your installation more secure:
|
||||
|
||||
* remove ``setup`` directory from phpMyAdmin, you will probably not
|
||||
use it after initial setup
|
||||
* properly choose authentication method - :ref:`cookie`
|
||||
is probably the best choice for shared hosting
|
||||
* in case you don't want all MySQL users to be able to access
|
||||
phpMyAdmin, you can use :config:option:`$cfg['Servers'][$i]['AllowDeny']['rules']` to limit them
|
||||
* consider hiding phpMyAdmin behind authentication proxy, so that
|
||||
MySQL credentials are not all users need to login
|
||||
* if you are afraid of automated attacks, enabling Captcha by
|
||||
:config:option:`$cfg['CaptchaLoginPublicKey']` and
|
||||
:config:option:`$cfg['CaptchaLoginPrivateKey']` might be an option.
|
||||
@@ -0,0 +1,138 @@
|
||||
.. _transformations:
|
||||
|
||||
Transformations
|
||||
===============
|
||||
|
||||
.. _transformationsintro:
|
||||
|
||||
Introduction
|
||||
++++++++++++
|
||||
|
||||
To enable transformations, you have to setup the ``column_info``
|
||||
table and the proper directives. Please see the :ref:`config` on how to do so.
|
||||
|
||||
You can apply different transformations to the contents of each
|
||||
column. The transformation will take the content of each column and
|
||||
transform it with certain rules defined in the selected
|
||||
transformation.
|
||||
|
||||
Say you have a column 'filename' which contains a filename. Normally
|
||||
you would see in phpMyAdmin only this filename. Using transformations
|
||||
you can transform that filename into a HTML link, so you can click
|
||||
inside of the phpMyAdmin structure on the column's link and will see
|
||||
the file displayed in a new browser window. Using transformation
|
||||
options you can also specify strings to append/prepend to a string or
|
||||
the format you want the output stored in.
|
||||
|
||||
For a general overview of all available transformations and their
|
||||
options, you can consult your *<www.your-host.com>/<your-install-
|
||||
dir>/transformation\_overview.php* installation.
|
||||
|
||||
For a tutorial on how to effectively use transformations, see our
|
||||
`Link section <http://www.phpmyadmin.net/home_page/docs.php>`_ on the
|
||||
official phpMyAdmin homepage.
|
||||
|
||||
.. _transformationshowto:
|
||||
|
||||
Usage
|
||||
+++++
|
||||
|
||||
Go to your *tbl\_structure.php* page (i.e. reached through clicking on
|
||||
the 'Structure' link for a table). There click on "Change" (or change
|
||||
icon) and there you will see three new fields at the end of the line.
|
||||
They are called 'MIME-type', 'Browser transformation' and
|
||||
'Transformation options'.
|
||||
|
||||
* The field 'MIME-type' is a drop-down field. Select the MIME-type that
|
||||
corresponds to the column's contents. Please note that transformations
|
||||
are inactive as long as no MIME-type is selected.
|
||||
* The field 'Browser transformation' is a drop-down field. You can
|
||||
choose from a hopefully growing amount of pre-defined transformations.
|
||||
See below for information on how to build your own transformation.
|
||||
There are global transformations and mimetype-bound transformations.
|
||||
Global transformations can be used for any mimetype. They will take
|
||||
the mimetype, if necessary, into regard. Mimetype-bound
|
||||
transformations usually only operate on a certain mimetype. There are
|
||||
transformations which operate on the main mimetype (like 'image'),
|
||||
which will most likely take the subtype into regard, and those who
|
||||
only operate on a specific subtype (like 'image/jpeg'). You can use
|
||||
transformations on mimetypes for which the function was not defined
|
||||
for. There is no security check for you selected the right
|
||||
transformation, so take care of what the output will be like.
|
||||
* The field 'Transformation options' is a free-type textfield. You have
|
||||
to enter transform-function specific options here. Usually the
|
||||
transforms can operate with default options, but it is generally a
|
||||
good idea to look up the overview to see which options are necessary.
|
||||
Much like the ENUM/SET-Fields, you have to split up several options
|
||||
using the format 'a','b','c',...(NOTE THE MISSING BLANKS). This is
|
||||
because internally the options will be parsed as an array, leaving the
|
||||
first value the first element in the array, and so forth. If you want
|
||||
to specify a MIME character set you can define it in the
|
||||
transformation\_options. You have to put that outside of the pre-
|
||||
defined options of the specific mime-transform, as the last value of
|
||||
the set. Use the format "'; charset=XXX'". If you use a transform, for
|
||||
which you can specify 2 options and you want to append a character
|
||||
set, enter "'first parameter','second parameter','charset=us-ascii'".
|
||||
You can, however use the defaults for the parameters: "'','','charset
|
||||
=us-ascii'".
|
||||
|
||||
.. _transformationsfiles:
|
||||
|
||||
File structure
|
||||
++++++++++++++
|
||||
|
||||
All specific transformations for mimetypes are defined through class
|
||||
files in the directory 'libraries/plugins/transformations/'. Each of
|
||||
them extends a certain transformation abstract class declared in
|
||||
libraries/plugins/transformations/abstract.
|
||||
|
||||
They are stored in files to ease up customization and easy adding of
|
||||
new transformations.
|
||||
|
||||
Because the user cannot enter own mimetypes, it is kept sure that
|
||||
transformations always work. It makes no sense to apply a
|
||||
transformation to a mimetype the transform-function doesn't know to
|
||||
handle.
|
||||
|
||||
There is a file called '*transformations.lib.php*' that provides some
|
||||
basic functions which can be included by any other transform function.
|
||||
|
||||
The file name convention is ``[Mimetype]_[Subtype]_[Transformation
|
||||
Name].class.php``, while the abtract class that it extends has the
|
||||
name ``[Transformation Name]TransformationsPlugin``. All of the
|
||||
methods that have to be implemented by a transformations plug-in are:
|
||||
|
||||
#. getMIMEType() and getMIMESubtype() in the main class;
|
||||
#. getName(), getInfo() and applyTransformation() in the abstract class
|
||||
it extends.
|
||||
|
||||
The getMIMEType(), getMIMESubtype() and getName() methods return the
|
||||
name of the MIME type, MIME Subtype and transformation accordingly.
|
||||
getInfo() returns the transformation's description and possible
|
||||
options it may receive and applyTransformation() is the method that
|
||||
does the actual work of the transformation plug-in.
|
||||
|
||||
Please see the libraries/plugins/transformations/TEMPLATE and
|
||||
libraries/plugins/transformations/TEMPLATE\_ABSTRACT files for adding
|
||||
your own transformation plug-in. You can also generate a new
|
||||
transformation plug-in (with or without the abstract transformation
|
||||
class), by using
|
||||
:file:`libraries/plugins/transformations/generator_plugin.sh` or
|
||||
:file:`libraries/plugins/transformations/generator_main_class.sh`.
|
||||
|
||||
The applyTransformation() method always gets passed three variables:
|
||||
|
||||
#. **$buffer** - Contains the text inside of the column. This is the
|
||||
text, you want to transform.
|
||||
#. **$options** - Contains any user-passed options to a transform
|
||||
function as an array.
|
||||
#. **$meta** - Contains an object with information about your column. The
|
||||
data is drawn from the output of the `mysql\_fetch\_field()
|
||||
<http://www.php.net/mysql_fetch_field>`_ function. This means, all
|
||||
object properties described on the `manual page
|
||||
<http://www.php.net/mysql_fetch_field>`_ are available in this
|
||||
variable and can be used to transform a column accordingly to
|
||||
unsigned/zerofill/not\_null/... properties. The $meta->mimetype
|
||||
variable contains the original MIME-type of the column (i.e.
|
||||
'text/plain', 'image/jpeg' etc.)
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
User Guide
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
transformations
|
||||
privileges
|
||||
other
|
||||
@@ -0,0 +1,34 @@
|
||||
Distributing and packaging phpMyAdmin
|
||||
=====================================
|
||||
|
||||
This document is intended to give advices to people who want to
|
||||
redistribute phpMyAdmin inside other software package such as Linux
|
||||
distribution or some all in one package including web server and MySQL
|
||||
server.
|
||||
|
||||
Generally you can customize some basic aspects (paths to some files and
|
||||
behavior) in :file:`libraries/vendor_config.php`.
|
||||
|
||||
For example if you want setup script to generate config file in var, change
|
||||
``SETUP_CONFIG_FILE`` to :file:`/var/lib/phpmyadmin/config.inc.php` and you
|
||||
will also probably want to skip directory writable check, so set
|
||||
``SETUP_DIR_WRITABLE`` to false.
|
||||
|
||||
External libraries
|
||||
------------------
|
||||
|
||||
phpMyAdmin includes several external libraries, you might want to
|
||||
replace them with system ones if they are available, but please note
|
||||
that you should test whether version you provide is compatible with the
|
||||
one we ship.
|
||||
|
||||
Currently known list of external libraries:
|
||||
|
||||
js/jquery
|
||||
jQuery js framework and various jQuery based libraries.
|
||||
|
||||
libraries/php-gettext
|
||||
php-gettext library
|
||||
libraries/tcpdf
|
||||
tcpdf library, stripped down of not needed files
|
||||
|
||||
Reference in New Issue
Block a user