Руководство. Технические требования phpMyAdmin 1) PHP - должен быть установлен PHP 5.2.0 или выше, с поддержкой сессий и стандартной (SPL) библиотекой PHP; - для поддержки загрузки ZIP-файлов, необходимо установить расширение Zip для PHP; - для отображения внутристрочных jpeg-пиктограмм ("image/jpeg: inline") в правильных пропорциях, понадобится также поддержка библиотеки GD2 в PHP; - если для аутентификации используются куки, наличие PHP библиотеки mcrypt на сервере является самым правильным решением для большинства пользователей: корректная работа на 64-битных машинах, ускорение не только фазы авторизации, но и других процессов, запускаемых через phpMyAdmin. 2) MySQL 5.0 или позднее; 3) Веб-браузер с включенными куками. phpMyAdmin может управлять как целым MySQL сервером (для этого необходимы права супер-пользователя), так и отдельной базой данных. Возможно мультипользовательское использование (см. мануал MySQL "Добавление новых пользователей в MySQL"). В последнем случае пользователи могут пользоваться только назначенным им базами. В данный момент phpMyAdmin позволяет: создавать и удалять базы данных создавать, копировать, удалять, переименовывать и изменять таблицы осуществлять сопровождение таблиц удалять, править и добавлять поля выполнять SQL-запросы, в том числе пакетные SQL-запросы управлять ключами загружать текстовые файлы в таблицы создавать (*) и просматривать дампы таблиц экспортировать (*) данные в форматах CSV, XML, PDF, ISO/IEC 26300 OpenDocument Text and Spreadsheet, Word, Excel и LATEX администрирование нескольких серверов управлять пользователями MySQL и привилегиями проверять целостность ссылочных данных в таблицах MyISAM использовать запрос по образцу (Query-by-example - QBE), создавать комплексные запросы, автоматически соединяясь с указанными таблицами создавать графическую схему базы данных в формате PDF осуществлять поиск в базе данных или в её разделах модифицировать хранимые данные в различные форматы, использующиеся в предустановленных функциях, например, отображение BLOB-данных как изображений или как загружаемые ссылки и т.д. поддерживает InnoDB таблицы и внешние ключи (см. FAQ 3.6) поддерживает mysqli, улучшенное расширение MySQL (см. FAQ 1.17) переведен более чем на 50 языков Слово о пользователях: Многие люди имеют неправильное общее представление о пользовательском управлении в отношении phpMyAdmin. phpMyAdmin не хранит информацию об учетных записях mysql-пользователей, и не управляет ими самостоятельно (ему лишь разрешается управлять информацией учетной записи). Когда пользователь входит в phpMyAdmin, то логин и пароль передаются непосредственно MySQL-серверу. Поэтому имя пользователя и пароль должны быть действительными (валидными) для MySQL (см. "MySQL Usernames and Passwords"). (*) phpMyAdmin может упаковывать (Zip, GZip -RFC 1952- или Bzip2 форматы) дампы и осуществлять CSV-экспорт если вы используете PHP с поддержкой Zlib (--with-zlib) и/или поддержкой Bzip2 (--with-bz2). Для включения поддержки Zlib и/или Bzip2 могут также понадобиться изменения в php.ini. Внимание! phpMyAdmin не предоставляет собственных методов обеспечения безопасности MySQL-сервера. Предоставление привилегий в базе данных MySQL - прерогатива системного администратора. Страница phpMyAdmin's "Privileges" может быть использована именно для этого. Предупреждение для пользователей Mac: если у вас установлена версия MacOS до OS X, StuffIt разархивируйте с помощью Mac-архиваторов. Пересохраните с помощью BBEdit в стиле Unix ВСЕ скрипты phpMyAdmin перед копированием их на сервер, т.к. PHP по-видимому не любит Macсимволы переноса строки ("\r") Быстрая установка 1. Распакуйте дистрибутив в корневую директорию вашего веб-сервера (убедитесь, что поддиректории распакованы тоже): tar -xzvf phpMyAdmin_x.x.x.tar.gz. Если Вы не имеете прямого доступа к корню вашего веб-пространства, распакуйте файлы в директорию на локальной машине и, после 3-го шага, скопируйте директорию на веб-сервер, например, через ftp. 2. Убедитесь, что все скрипты имеют соответствующего владельца (если PHP запущен в безопасном режиме, наличие нескольких скриптов, принадлежащих разным владельцам, вызовет проблему в работе). Смотри FAQ 4.2 и FAQ 1.26. 3. Теперь Вы должны создать конфигурационный файл (config.inc.php). Создание конфигурационного файла - необходимое условие прежде всего для запуска phpMyAdmin, а также необходимо для задания некоторых возможностей. Эта задача может быть выполнена двумя разными способами. Традиционно, пользователи могут вручную отредактировать копию файла config.inc.php. Кроме этого, пользователи, предпочитающие графическую инсталляцию, могут воспользоваться мастером установки (скриптом инсталляции). Для того, чтобы вручную создать конфигурационный файл, достаточно простейшего текстового редактора, с помощью которого нужно создать файл config.inc.php. Для упрощения задачи, Вы можете скопировать в текстовый редактор содержимое файла config.sample.inc.php - образца рабочей конфигурации, содержащей минимальное количество конфигурационных переменных. Созданный файл необходимо поместить в главную директорию phpMyAdmin (ту, которая содержит index.php). phpMyAdmin сперва загружает libraries/config.default.php, а затем подменяет значения прописанных в нем переменных теми, что находит в config.inc.php. Если значение по умолчанию (тех переменных, что определены в libraries/config.default.php) Вас устраивает, тогда нет необходимости включать его в config.inc.php. Для запуска phpMyAdmin вам понадобятся как минимум несколько директив, простейшая конфигурация может выглядеть так: <?php $cfg['blowfish_secret'] = 'ba17c1ec07d65003'; // use here a value of your choice $i=0; $i++; $cfg['Servers'][$i]['auth_type'] = 'cookie'; ?> Или, если вы не хотите вводить каждый раз логин/пароль (данная конфигурация не рекомендуется из соображений безопасности), конфигурационный файл может выглядеть так: <?php $i=0; $i++; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'cbb74bc'; // use here your password ?> Для более полного ознакомления с функциями и описаниями значений всех конфигурационных переменных читайте раздел документации "Конфигурирование". Вместо ручного редактирования файла config.inc.php, Вы можете использовать скрипт установки. Прежде всего, вам необходимо вручную создать в главной директории phpMyAdmin папку 'config'. Это - мера безопасности. При работе под ОС Linux/Unix Вы можете использовать следующие команды: cd phpMyAdmin mkdir config # создает директорию для хранения chmod o+rw config # дает всем пользователям права на запись в неё Для редактирования уже существующего конфигурационного файла, можно воспользоваться следующими командами: cp config.inc.php config/ # копирует текущую конфигурацию для редактирования chmod o+w config/config.inc.php # дает всем пользователям права на запись в неё На других платформах, просто создайте директорию и убедитесь, что Ваш веб-сервер имеет права на чтение и запись в неё. FAQ 1.26 может помочь в этом случае. Затем, откройте в браузере scripts/setup.php. Помните, что изменения не будут сохранены на диск до тех пор, пока не будет нажата кнопка "Save" в блоке "Configuration". Если все хорошо, то скрипт сохранит новый config.inc.php в директорию config/, но если веб-сервер не имеет необходимых прав, Вы можете увидеть сообщение об ошибке "Cannot load or save configuration". В таком случае, убедитесь, что директория config/ создана и имеет необходимые права, либо воспользуйтесь ссылкой "Download" для сохранения конфигурационного файла на локальный диск и последующей закачки (например, через FTP) на сервер. Как только файл был сохранен, необходимо переместить его из директории config/ в главную директорию phpMyAdmin и в целях безопасности сбросить права на него: mv config/config.inc.php . # перемещает файл в текущую директорию chmod o-rw config.inc.php # отменяет права на чтение и запись для всех остальных пользователей Теперь файл готов к использованию. Вы можете просмотреть и отредактировать конфигурационный файл в текстовом редакторе, если потребуется установка некоторых расширенных опций, настройка которых не предусмотрена скриптом установки. 4. Если Вы собираетесь использовать "config" аутентификацию (auth_type), необходимо защитить директорию в которую был установлен phpMyAdmin от несанкционированного доступа, потому что данный режим позволяет любому пользователю получить доступ к phpMyAdmin без предварительного ввода логина/пароля. Рекомендуются альтернативные методы аутентификации, например, HTTP-AUTH (с помощью .htaccess файла), либо использованием одного из двух других методов аутентификации: cookie или http. См. подраздел FAQ "Мультипользовательская установка" для дополнительной информации, особенно обратите внимание на FAQ 4.4. 5. Откройте главную директорию phpMyAdmin в вашем браузере. Должно появиться окно приветствия phpMyAdmin и Ваши базы данных, или окно ввода логина, в случае использования режима HTTP- или cookie-аутентификации. 6. Вы должны запретить доступ к субдиректории ./libraries средствами вашего веб-сервера. В случае использования веб-сервера Apache для защиты директории Вы можете использовать файл .htaccess. При использовании других веб-серверов вы должны запретить доступ к директории ./libraries самостоятельно. Подобная конфигурирование - превентивная мера на случай обнаружения уязвимостей: возможного раскрытия пути (path exposure) и межсайтового выполнения сценариев (Cross-site Scripting, XSS). Linked-tables infrastructure (Инфраструктура связанных таблиц) Для использования многих опций (закладок, комментариев, SQL-истории, PDF-схем, преобразования содержимого полей, и т.д.) необходимо создать набор специальных таблиц. Эти таблицы могут находиться как в Вашей базе данных, так и в центральной базе при многопользовательской системе (в этом случае данная БД может быть доступна только для пользователя controluser, соответственно, другие пользователи не имеют прав на неё). Зайдите в директорию scripts/, здесь вы найдете файл create_tables.sql. (Если используете Windows сервер, обратите особое внимание на FAQ 1.24). Если у Вас установлена версия MySQL сервера 4.1.2 или более позднее, используйте вместо вышеуказанного файла create_tables_mysql_4_1_2+.sql, для новой инсталляции. Если у вас уже есть готовая инфраструктура и вы обновляете MySQL до версии 4.1.2 или выше, используйте upgrade_tables_mysql_4_1_2+.sql. Вы можете использовать phpMyAdmin для создания баз данных и таблиц, для этого необходимо обладать администраторскими привилегиями на создание баз данных и таблиц, в связи с чем скрипту может понадобиться небольшая настройка (указание названия базы данных). После импорта create_tables.sql, Вы должны определить названия таблиц в файле config.inc.php, с помощью директив, описанных в разделе "Конфигурирование". Кроме этого необходимо обладать правами controluser на данные таблицы (см. ниже, раздел "Использование режима аутентификации"). Обновление старой версии Просто скопируйте конфигурационный файл ./config.inc.php от предыдущей версии в директорию куда был распакован phpMyAdmin. Конфигурационные файлы из очень старых версий (2.3.0 or older) могут потребовать некоторых настроек, т.к. некоторые опции были изменены или удалены. Не рекомендуется использовать (копировать) файл libraries/config.default.php вместо config.inc.php, т.к. файл config.default.php является специфичным для каждой версии. Если Вы обновили свой MySQL-сервер с версии старше, чем 4.1.2 до версии 4.1.2 или новее,и используете инфраструктуру связанных таблиц, тогда необходимо запустить SQL-скрипт, который находится в scripts/upgrade_tables_mysql_4_1_2+.sql. Использование режимов аутентификации Режимы HTTP- и cookie- аутентификации рекомендуются при многопользовательской среде, где вы можете разрешать доступ пользователям к своим базам данных и запрещать им выходить за пределы своего окружения. Необходимо иметь ввиду, что Internet Explorer имеет некоторые проблемы при работе с куками, вплоть до 6-й версии. PHP 4.1.1 также имеет некоторые проблемы в этой области! Даже в однопользовательской среде, вы можете использовать режим HTTP- или cookieаутентификации, чтобы не указывать в конфигурационном файле пару "логин/пароль". Режимы HTTP и cookie аутентификации более безопасны, т.к. нет необходимости хранить учетную информацию MySQL в конфигурационном файле phpMyAdmin (исключение для controluser). Тем не менее, помните, что в режиме HTTP-аутентификации пароль передается незашифрованным обычным текстом, за исключением того случая когда используется HTTPS протокол. В режиме cookie-аутентификации пароль хранится зашифрованным с помощью алгоритма blowfish во временных куках. Внимание: начиная с phpMyAdmin 2.6.1, эта секция актуальна только в том случае если версия Вашего MySQL выше, чем 4.1.2, или сервер запущен с параметром --skip-showdatabase. При использовании 'HTTP' и 'cookie' режимов phpMyAdmin, рекомендуется завести пользователя (controluser), который должен обладать правами только на выборку (SELECT) из следующих таблиц: mysql.user (все столбцы за исключением "Password"), mysql.db (все столбцы), mysql.host (все столбцы) и mysql.tables_priv (все столбцы за исключением "Grantor" и "Timestamp"). 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'; Необходимо установить настройки для controluser в файле config.inc.php в следующих секциях: $cfg['Servers'][$i]['controluser'] и $cfg['Servers'][$i]['controlpass']. В нижеприведенном примере, в обучающих целях используются следующие значения для: 'controluser' - 'pma', 'pmapass' - 'controlpass'. Но на практике используйте другие значения в своих файлах! Разумеется, localhost в случае необходимости нужно заменить на реальное имя веб-сервера. Если вы используете старую версию MySQL (ниже 4.0.2), замените первый запрос GRANT SELECT следующим образом: 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 'pma'@'localhost'; ... и если Вы хотите использовать возможности закладок и связей: GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost'; (конечно, подразумевается, что должна быть настроена инфраструктура связанных таблиц). Разумеется, вышеприведенный запрос работает только в том случае, если рабочая версия MySQL поддерживает команду GRANT (поддерживается начиная с версии 3.22.11). После этого каждый из истинных пользователей будет наделен соответствующими привилегиями для отдельных баз данных. Как правило, глобальные привилегии не даются обычным пользователям, за исключением того случая, если без них не обойтись и вы четко представляете себе последствия назначения данных привилегий (например, вам надо создать суперпользователя). Например, чтобы наделить пользователя 'real_user' всеми привилегиями в базе данных `user_base`: GRANT ALL PRIVILEGES ON user_base.* TO 'real_user'@localhost IDENTIFIED BY 'real_password'; Все, что теперь пользователь может, полностью контролируется пользовательской системой управления MySQL. При использовании режимов HTTP или cookie аутентификации, вам не нужно заполнять поля user/password внутри массива $cfg['Servers']. 'http' - аутентификация Использует HTTP Basic режим аутентификации и позволяет вход в систему как действительному пользователю MySQL. Данный режим поддерживается большинством конфигураций PHP. Для получения дополнительной информации о настройке http-аутентификации на серверах где PHP установлен как CGI-модуль см. FAQ 1.33 - для серверов IIS (ISAPI), FAQ 1.36 - для Apache. Смотрите также FAQ 4.4 о том, что не стоит использовать .htaccess механизм совместно с http-аутентификацией. 'cookie' - аутентификация Вы можете использовать этот метод как альтернативу HTTP-аутентификации (например, если запущен IIS). Разумеется, пользователь должен разрешить браузеру использовать куки. Теперь это необходимое требование для всех методов аутентификации В этом режиме, после прохождения первичной идентификации phpMyAdmin создает на компьютере пользователя cookie-файл, содержащий логин и пароль пользователя, который будет автоматически подставляться при следующих сеансах. При использовании данного режима пользователь может завершить сеанс phpMyAdmin и авторизоваться под другим именем. Если вы собираетесь проходить процедуру идентификации на произвольном сервере обратите внимание на директиву $cfg['AllowArbitraryServer']. Как указано в секции "Технические требования", наличие PHP библиотеки mcrypt на сервере способно ускорить фазу авторизации, но наличие её не обязательно. 'config' - аутентификация Этот режим обеспечивает минимальную безопасность, т.к. требует от Вас заполнения полей $cfg['Servers'][$i]['user'] и $cfg['Servers'][$i]['password'] (и как результат, каждый кто может читать Ваш config.inc.php может узнать Ваши логин и проль для подключения к MySQL-серверу). Но при использовании данного режима пропадает необходимость создания "controluser"а: использования $cfg['Servers'][$i]['only_db'] может быть достаточно В разделе FAQ "Многопользовательская установка, есть пункт, объясняющий как защитить конфигурационный файл phpMyAdmin. Для дополнительной безопасности в данном режиме, Вы можете использовать Hostидентификацию, а также конфигурационные директивы: $cfg['Servers'][$i]['AllowDeny']['order'] и $cfg['Servers'][$i]['AllowDeny']['rules']. При использовании config-аутентификации пользователю при попытке запуска phpMyAdmin не предлагается ввести логин и пароль, как это происходит при использовании cookie- и http-аутентификации. Это сделано умышлено, но в то же время это позволяет любому пользователю получить доступ к phpMyAdmin. В связи с этим будет целесообразным использование некоторых методов ограничения доступа, например, использования .htaccess файла с HTTP-AUTH директивой, или запрещения входящих HTTP запросов с помощью маршрутизатора или брандмауэра будет достаточно (эти два способа не рассматриваются в данном руководстве, но с помощью поисковиков можно найти исчерпывающую информацию по данной теме). Предупреждение для пользователей Mac: PHP по-видимому не любит Mac символы переноса строки ("\r"). Таким образом, выбирайте в вашем текстовом редакторе опцию, позволяющую использовать *nix-овый перенос строки ("\n"), перед сохранением модифицированного скрипта. Примечание: Почти все конфигурируемые данные находятся в файле config.inc.php. Параметры, которые относятся к дизайну (цвета, например) находятся в файле themes/themename/layout.inc.php. Для изменения шапки и основания страниц необходимо откорректировать файлы config.footer.inc.php и config.header.inc.php. $cfg['PmaAbsoluteUri'] строка Установите здесь полный URL директории где установлен phpMyAdmin. Например, http://www.your_web.net/path_to_your_phpMyAdmin_directory/. Начиная с версии 2.3.0, можно проигнорировать эту переменную и поставить в этой строке пробел - в большинстве случаев phpMyAdmin автоматически определяет правильный параметр. Подробнее читайте в конфигурационном файле. Не забудьте поставить слэш в конце указанного Вами URL. URL должен содержать только допустимые символы, и помните, что на некоторых серверах путь регистрозависим. Если Вы получаете ошибку при автоопределении пути, пожалуйста отправьте сообщение об ошибке с помощью bug tracker, чтобы разработчики могли исправить код. $cfg['PmaNoRelation_DisableWarning'] булево выражение Начиная с версии 2.3.0 phpMyAdmin предлагает множество возможностей для работы с головной / подчиненными (master / foreign) таблицами (см. $cfg['Servers'][$i]['pmadb']). Если у Вас не получается настроить работу с головной и подчиненными таблицами, посмотрите страницу "Структура" ("Structure") вашей базы. Здесь Вы найдете ссылку, которая проанализирует почему эта опция недоступна. Если Вы не хотите использовать эту опцию установите значение TRUE чтобы предотвратить появление подобных сообщений. $cfg['blowfish_secret'] строка Начиная с версии 2.5.2, 'cookie' auth_type (cookie-аутентификация) использует алгоритм blowfish для шифрования пароля. Если вы используете 'cookie' auth_type, введите здесь случайную идентификационную фразу, которая будет использоваться в работе алгоритма 'blowfish'. Максимальный размер фразы 46 символов. $cfg['Servers'] массив Начиная с версии 1.4.2, phpMyAdmin поддерживает администрирование нескольких MySQL серверов. Поэтому, был добавлен массив $cfg['Servers'], который содержит информацию об учетных записях для серверов. Первый $cfg['Servers'][$i]['host'] содержит имя хоста первого сервера, второй $cfg['Servers'][$i]['host'] - имя хоста второго сервера, и т.д. Если вы администрируете только один сервер, просто оставьте пустыми остальные $cfg['Server']-записи. $cfg['Servers'][$i]['host'] строка Имя хоста или IP адрес $i-го MySQL-сервера. Например, localhost. $cfg['Servers'][$i]['port'] строка Номер порта $i-го MySQL-сервера. По умолчанию (если специально не указывается) поддставляется значение 3306. Если Вы используете "localhost" в качестве имени хоста, MySQL игнорирует номер этого порта и соединяется с сокетом, так что если Вы хотите соединиться с портом отличным от предлагаемого по умолчанию, используйте "127.0.0.1" или реальное имя хоста в $cfg['Servers'][$i]['host']. $cfg['Servers'][$i]['socket'] строка Путь к сокету. По умолчанию запись не заполнена. $cfg['Servers'][$i]['ssl'] булево выражение Определяет использовать ли SSL для соединения с MySQL-сервером. По умолчанию FALSE $cfg['Servers'][$i]['connect_type'] строка Определяет тип соединения с MySQL сервером. Возможные варианты 'socket' и 'tcp'. По умолчанию ставится 'tcp' т.к. таким образом, гарантируется работоспособность практически на всех MySQL-серверах, в то время как сокеты не поддерживаются некоторыми платформами. Чтобы использовать режим сокетов, ваш MySQL сервер должен быть на той же самой машине, что и сам веб-сервер. $cfg['Servers'][$i]['extension'] строка Какое php MySQL-расширение использовать для соединения. Корректные варианты: mysql : классическое MySQL расширение, является рекомендованным и устанавливается по умолчанию. mysqli : усовершенствованное расширение MySQL. Это расширение стало доступно с php 5.0.0 и рекомендуется для соединения с сервером, на котором запущен MySQL 4.1.x $cfg['Servers'][$i]['compress'] булево выражение Определяет использовать ли сжатый протокол для соединения MySQL сервера или нет. Эта опция требует чтобы версия PHP >= 4.3.0. $cfg['Servers'][$i]['controluser'] строка $cfg['Servers'][$i]['controlpass'] строка Заметка: начиная с phpMyAdmin 2.6.1, конфигурирование controluser для разрешения HTTP и cookie аутентификации возможно только для MySQL серверов старше чем 4.1.2. Этот специальный аккаунт используется для 2 различных целей: реализовать реляционные возможности (см. $cfg['Servers'][$i]['pmadb']) и, для MySQL сервера >= 4.1.2, чтобы допустить многопользовательскую установку (режим http или cookie-аутентификации). При использовании режима HTTP или cookie-аутентификации (либо configаутентификации, начиная с phpMyAdmin версии 2.2.1), необходимо предоставить подробности об MySQL аккаунте, который имеет привилегию SELECT для таблиц mysql.user (все столбцы за исключением "Password"), mysql.db (все столбцы) и mysql.tables_priv (все столбцы за исключением "Grantor" & "Timestamp"). Этот аккаунт используется для задания базы данных которую пользователь увидит при идентификации. Ознакомьтесь с разделом "Использование режимов аутентификации" для получения дополнительной информации. Обратите внимание, что если вы пытаетесь начать сеанс с phpMyAdmin как "controluser", Вы можете получить ряд ошибок, в зависимости от того какие привилегии вы дали "controluser". phpMyAdmin не поддерживает напрямую учетную запись для "controluser". В phpMyAdmin до версии 2.2.5, он назывался "stduser/stdpass". $cfg['Servers'][$i]['auth_type'] строка ['http'|'cookie'|'config'|'signon'] Для сервера может быть использована http-, cookie-, config- или signon-аутентификация. 'config'-аутентификация ($auth_type = 'config') это старый простой метод: username и password хранятся в config.inc.php. 'cookie'-аутентификация ($auth_type = 'cookie') этот метод, внедрен с версии 2.2.3 и позволяет идентифицировать множество MySQL пользователей с помощью кук. Логин и пароль хранятся в куках в течение сессии, по завершении которой пароль удаляется. Этот режим позволяет вам регистрировать произвольные сервера, если $cfg['AllowArbitraryServer'] разрешена. 'http'-аутентификация (была названа 'расширенной' в старших версиях) ($auth_type = 'http') используется с 1.3.0 разрешает регистрировать MySQL пользователей посредством HTTP-аутентификации 'signon'-аутентификация ($auth_type = 'signon') доступна начиная с версии 2.10.0, и позволяет проходить регистрацию с помощью приготовленной заранее php сессии. Этот метод может быть удобным, т.к. пользователь пройдя авторизацию один раз, может переключаться между приложениями, без повторной авторизации. Пример пути по которому инициализируется сессия для 'signon'-аутентификации: scripts/signon.php. Для использования данного метода, Вам необходимо определить значения для конфигурационных переменных session name и signon URL. Ознакомьтесь с разделом "Использование режимов аутентификации" для получения дополнительной информации. $cfg['Servers'][$i]['user'] строка $cfg['Servers'][$i]['password'] строка Пара user/password, которую phpMyAdmin использует для соединения с MySQL-сервером. Эта пара user/password не нужна, если используется HTTP или cookie-аутентификация - в этом случае она должна быть пустой. $cfg['Servers'][$i]['nopassword'] булево выражение Разрешает попытку авторизироваться без пароля, в случае неудачной авторизации с использованием пароля. Эта опция может использоваться совместно с httpаутентификацией, когда phpMyAdmin использует имя пользователя из 'user', а пароль для соединения с MySQL пустой. Сначала осуществляется попытка авторизации с использованием пароля, если она завершается неудачно - осуществляется попытка подключения к MySQL-серверу без пароля. $cfg['Servers'][$i]['only_db'] строка или массив Если задать (если несколько - массив) имя/имена базы данных, то пользователю будут доступны только эта/эти база/бызы данных. Начиная с phpMyAdmin 2.2.1, имена баз данных могут содержать символы обобщения MySQL ("_" и "%"): если вы хотите использовать эти символы предварите их слешем (например, надо писать так: 'my\_db', а так писать не надо: 'my_db'). Эта настройка - эффективный способ снизить нагрузку на сервер, так как последнему не придется послать запросы на получение списка доступных баз данных. Но он не заменяет правила привилегий к MySQL-серверу баз данных. Если задан, это означает, что только эти базы данных будут отображаться, но не означает, что все остальные базы данных не будут использоваться. Пример использования более чем одной базы данных: $cfg['Servers'][$i]['only_db'] = array('db1', 'db2'); Что касается phpMyAdmin 2.5.5 порядок внутри массива используется для сортировки баз данных в левом фрейме, таким образом, вы можете самостоятельно задавать порядок сортировки ваших баз данных. Если Вы хотите увидеть определенную базу данных вверху, но не хотите трогать остальные - вам не нужно определять все остальные базы данных. Используйте: $cfg['Servers'][$i]['only_db'] = array('db3', 'db4', '*'); в этом случае phpMyAdmin отобразит базы данных db3 и db4 на верху, а остальные будут упорядочены в алфавитном порядке. $cfg['Servers'][$i]['hide_db'] строка Регулярное выражение, определяющее сокрытие отдельных баз данных. Важно иметь ввиду, что скрываются они только от листинга, но, тем не менее, пользователи имеют доступ к ним (используя, например, область SQL запроса). Чтобы запретить доступ пользователям, используйте механизм MySQL привилегий. Например, чтобы скрыть все базы данных, начинающиеся с символа "a", используйте следующее регулярное выражение: $cfg['Servers'][$i]['hide_db'] = '^a'; чтобы скрыть одновременно и базу данных "db1", и "db2" используйте: $cfg['Servers'][$i]['hide_db'] = '(db1|db2)'; Для получения дополнительной информации см. мануал PHP по регулярным выражениям в формате PCRE. $cfg['Servers'][$i]['verbose'] строка Полезна только в том случае, если phpMyAdmin используется с несколькими серверами. Если установлена, эта строка будет отображаться вместо имени хоста в выпадающем меню на главной странице. Это может быть полезным если необходимо показать только определенные базы данных. $cfg['Servers'][$i]['pmadb'] строка Имя базы данных, содержащей информацию о связях таблиц. Прочитайте также подраздел данного FAQ "Инфраструктура связанных таблиц", чтобы ознакомиться с преимуществами использования данной инфраструктуры, а также для быстрого создания этой базы данных и необходимых таблиц. Если Вы единственный пользователь phpMyAdmin, то можете использовать текущую базу данных, для хранения специальных таблиц; в этом случае, вставьте текущее название базы данных в $cfg ['Серверы'] [$i] ['pmadb']. В случае многопользовательского режима, задайте в качестве значения этого параметра имя вашей центральной базы данных, содержащей инфраструктуру связанных таблиц. $cfg['Servers'][$i]['bookmarktable'] строка Начиная с релиза 2.2.0, phpMyAdmin позволяет закладывать запросы, что может быть удобно для регулярно выполняемых запросов. Чтобы использовать эту опцию: установите pmadb и инфраструктуру связанных таблиц введите имя таблицы в $cfg['Servers'][$i]['bookmarktable'] $cfg['Servers'][$i]['relation'] строка Начиная с релиза 2.2.4 появилась возможность указания в специальной таблице, какое поле является ключом в другой таблице (внешний ключ - foreign key). phpMyAdmin в настоящее время для этого: делает кликабельными при просмотре значения данных головной таблицы (master table), которые указывают на внешнюю таблицу (foreign table); отображает всплывающую подсказку "отобразить поле", если при просмотре головной таблицы навести курсор на столбец, содержащий внешний ключ (используйте также таблицу 'table_info'); (смотри FAQ 6.7) в режиме редактирование/вставка, отображает выпадающий список возможных внешних ключей (показываются значения ключей и "отображение полей") (см. FAQ 6.21) отображает связи на странице "свойства таблицы", чтобы проверить целостность ссылочных данных (отображает недостающие внешние ключи) для каждого описываемого ключа; в запросах по образцу, автоматически создает объединения (смотри FAQ 6.6) делает возможным получение PDF-схемы базы данных (также используется таблица table_coords). Ключи могут быть числовые или символьные. Чтобы использовать эту опцию: установите pmadb и инфраструктуру связанных таблиц поместите имя связанной таблицы в $cfg['Servers'][$i]['relation'] теперь как обычный пользователь откройте phpMyAdmin и для каждой из своих таблиц, где Вы хотите использовать эту функциональность, кликните "Structure/Relation view/" и выберите связываемые поля. Помните, что текущая версия master_db должна быть такой же, как и foreign_db. Именно на основе их полей будут строиться связи базы данных. $cfg['Servers'][$i]['table_info'] строка Начиная с релиза 2.3.0, появилась возможность указания в специальной таблице ('table_info'), какие поля будут отображаться через всплывающие подсказки при наведении на курсора на соответствующий ключ. Эта конфигурационная переменная будет хранить имя этой специальной таблицы. Чтобы использовать эту опцию: установите pmadb и инфраструктуру связанных таблиц укажите имя таблицы в $cfg['Servers'][$i]['table_info'] затем для каждой таблицы, где будет использоваться данная опция кликните "Structure/Relation view/Choose field to display" чтобы выбрать поля. Дополнительно: см. FAQ 6.7. $cfg['Servers'][$i]['table_coords'] строка $cfg['Servers'][$i]['pdf_pages'] строка Начиная с релиза 2.3.0 phpMyAdmin позволяет создавать PDF страницы, наглядно показывающие связи между таблицами базы данных. Для использования этой опции необходимы две таблицы: "pdf_pages" (хранит информацию о доступных PDF страницах) и "table_coords" (хранит координаты размещения на схеме каждой таблицы). Вы должны использовать опцию "relation" (связи). Чтобы использовать эту опцию: установите pmadb и инфраструктуру связанных таблиц укажите корректные имена таблиц в $cfg['Servers'][$i]['table_coords'] и $cfg['Servers'][$i]['pdf_pages'] Дополнительно: см. FAQ 6.8. $cfg['Servers'][$i]['column_info'] строка Начиная с релиза 2.3.0, Вы можете хранить комментарии, описывающие каждый столбец для каждой таблицы, которые затем будут отображаться в "Версии для печати" ("printview"). Начиная с релиза 2.5.0, комментарии к столбцам таблицы на странице "Структура таблицы" отображаются в виде всплывающей подсказки (сам столбец для которого создан комментарий подчеркивается пунктирной линией), на странице "Browse" (просмотр) комментарии врезаны в шапку таблицы под заголовками столбцов, на странице "Print View" (версия для печати) комментарии полей расположены в специальном столбце. Комментарии будут также отображаются в дампе таблиц. Также нововведением в релизе 2.5.0 стал механизм MIME-преобразований, который тоже базируется на нижеприведенной табличной структуре. Смотри "Преобразования" для дополнительной информации. Для использования механизма MIME-преобразований, таблица column_info имеет три новых поля: 'mimetype', 'transformation', 'transformation_options'. Чтобы использовать эту опцию: установите pmadb и инфраструктуру связанных таблиц укажите имя таблицы в $cfg['Servers'][$i]['column_info'] чтобы обновить вашу таблицу Column_comments (до вер. PRE-2.5.0) следуйте следующим инструкциям: ALTER TABLE `pma_column_comments` ADD `mimetype` VARCHAR( 255 ) NOT NULL , ADD `transformation` VARCHAR( 255 ) NOT NULL , ADD `transformation_options` VARCHAR( 255 ) NOT NULL ; и помните, что перменная в config.inc.php должна быть переименована из $cfg['Servers'][$i]['column_comments'] в $cfg['Servers'][$i]['column_info'] $cfg['Servers'][$i]['history'] строка Начиная с релиза 2.5.0 возможно сохранение SQL-истории, под которой подразумевается вся совокупность запросов, которые вводятся вручную через интерфейс phpMyAdmin. Если Вы не хотите использовать историю, которая сохраняется в таблице, можете использовать JavaScript-базируемую историю, но в последнем случае, вся история будет удалена при закрытии окна. Используя $cfg['QueryHistoryMax'] можно задавать количество элементов истории, которые необходимо сохранить. При начале каждого нового сеанса этот список будет урезан до максимально допустимого значения. История запросов также доступна, если Вы используете JavaScript-базируемое окно запросов, смотрите $cfg['QueryFrame']. Чтобы использовать эту опцию: установите pmadb и инфраструктуру связанных таблиц укажите имя таблицы $cfg['Servers'][$i]['history'] $cfg['Servers'][$i]['designer_coords'] строка Начиная с релиза 2.10.0 доступен Designer - интерфейс, который позволяет визуально управлять связями. Чтоб разрешить использование данной возможности: установите pmadb и настройте инфраструктуру связанных таблиц укажите название таблицы в конфигурационной переменной $cfg['Servers'][$i]['designer_coords'] $cfg['Servers'][$i]['verbose_check'] булево выражение Так как релиз 2.5.0 включил поддержку MIME-преобразований, таблица column_info была дополнена тремя новыми полями. Если вышеупомянутая переменная имеет значение TRUE (по умолчанию) phpMyAdmin будет проверять, доступна ли последняя структура таблицы. Если нет, то он выдаст предупреждение суперпользователю. Вы можете отключить эту проверку, установив значение переменной как false, что может способствовать росту производительности. Рекомендуется устанавливать как FALSE, когда Вы уверены, что структура вашей таблицы актуальна и не нуждается в обновлении. $cfg['Servers'][$i]['AllowRoot'] булево выражение Определяет, разрешен ли доступ к корню, и является всего лишь упрощенным вариантом нижеописанного правила. $cfg['Servers'][$i]['AllowDeny']['order'] строка Команда 'Order' управляет последовательностью обработки остальных команд управления доступом. Если 'order' - не задана (пустая), тогда недоступна IP-аутентификация. Если установить порядок 'deny,allow', обработка команд происходит в обратном порядке, т.е. сначала обрабатываются команды запрещения доступа, потом команды разрешения доступа. Доступ разрешен по умолчанию. Любому клиенту, который не соответствует команде запрещения доступа или действительно соответствует команде разрешения доступа, будет разрешен доступ к серверу. Если установлен порядок 'allow,deny' - первыми проверяются команды разрешения доступа (список этих команд начинается со слова 'Allow'). Если какая-либо команда отработала успешно, процесс прерывается и пользователю разрешается выполнение ftpкоманд, перечисленных в первой строке секции. Иначе обрабатываются команды запрещения доступа (их список начинается со слова 'Deny'). Если какая-либо команда отработала успешно, выполнение ftp-команд запрещается. Доступ запрещен по умолчанию. Любому клиенту, который не соответствует команде разрешения доступа или соответствует команде запрещения доступа, будет отказано в доступе к серверу. Если порядок установлен как 'explicit', аутентификация выполняется аналогично порядку 'deny,allow', с добавлением ограничения, что комбинация вашего host/username должна быть записана в списке команд разрешения (allow rules), и отсутствовать в списке команд запрещения (deny rules). Это наиболее безопасный способ использования команд Allow/Deny rules, который был доступен в Апаче через спецификацию команд разрешения и запрещения без установки других команд. См. также $cfg['TrustedProxies'] для определения IP-адреса, находящегося за проксисервером. $cfg['Servers'][$i]['AllowDeny']['rules'] массив или строка Общий формат для правил: <'allow' | 'deny'> <username> [from] <ipmask> Если Вы желаете указать всех пользователей, можно использовать '%' как групповой символ в поле "username". Есть несколько шаблонов, которые Вы также можете использовать в поле ipmask: 'all' -> 0.0.0.0/0 'localhost' -> 127.0.0.1/8 Наличие пустого списка правила эквивалентно использованию 'allow % from all', если ваши правила доступа обозначены как 'deny,allow' или 'deny % from all', если ваши права доступа обозначены как 'allow,deny' или 'explicit'. Для IP согласования системы, необходимо: xxx.xxx.xxx.xxx (точный IP адрес) xxx.xxx.xxx.[yyy-zzz] (диапазон IP адресов) xxx.xxx.xxx.xxx/nn (CIDR, Classless Inter-Domain Routing (безклассовую внутридоменную маршрутизацию) тип IP адреса) Но следующий пример будет нерабочим: xxx.xxx.xxx.xx[yyy-zzz] (частичный диапазон IP адреса) $cfg['Servers'][$i]['SignonSession']строка Имя сессии которая будет использоваться для 'signon'-аутентификации. $cfg['Servers'][$i]['SignonURL']строка URL куда пользователь будет перенаправлен при входе в phpMyAdmin, в случае использования метода 'signon'-аутентификации. Путь должен быть полным, т.е. включать в себя протокол, домен, порт и путь относительно корня к странице (каталогу). $cfg['Servers'][$i]['LogoutURL']строка URL куда пользователь будет перенаправлен после завершения сеанса работы в phpMyAdmin (не распространяется на метод 'config'-аутентификации. Путь должен быть полным (включать в себя протокол). $cfg['ServerDefault'] число Если перед вами стоит задача конфигурирования более одного сервера. Вы можете установить $cfg['ServerDefault'] для любого из них, чтобы обеспечить автосоединение с сервером при запуске phpMyAdmin, или выставить для данной переменной значение 0 чтобы выдавать список серверов без входа в систему. Если Вы конфигурируете только один сервер, $cfg['ServerDefault'] ДОЛЖНА быть установлена для этого сервера. $cfg['OBGzip'] строка/булево выражение Определяет, использовать ли GZip буферизацию на выходе для повышенной скорости в http передачах. Установка true/false соответственно разрешает/запрещает буферизацию. Когда установлено в 'auto' (строка), phpMyAdmin пробует разрешить буферизацию на выходе и автоматически запрещает её, если ваш браузер имеет какие-либо проблемы с буферизацией. IE6 с определенным патчем, как известно, вызывает порчу данных при использовании буферизации. $cfg['PersistentConnections'] булево выражение Определяет разрешать использование постоянного соединения или нет (mysql_connect или mysql_pconnect). $cfg['ForceSSL'] булево выражение Усилено ли использование https на протяжении сеанса phpMyAdmin. $cfg['ExecTimeLimit'] число [число секунд] Задает временное ограничение (в секундах) для выполнения скрипта. Если значение выставлено в 0, то никакого ограничения по времени наложено не будет. Эта настройка используется при импорте/экспорте дампа, но не имеет смысла, когда PHP запущен в безопасном режиме. $cfg['MemoryLimit'] число [количество байтов] Определяет количество байтов памяти, которые может использовать скрипт. Если количество равно 0, то не накладывается никаких ограничений. Данная настройка используется при импорте/экспорте дампов, но бесполезна при работе с PHP, запущенном в безопасном режиме. Вы также можете использовать другие строки в php.ini, например, '16M'. Эта настройка используется при импорте/экспорте дампа, но не имеет смысла, когда PHP запущен в безопасном режиме. $cfg['SkipLockedTables'] булево выражение Помечает используемые таблицы, и делает возможным просмотр баз данных с заблокированными таблицами (с 3.23.30). $cfg['ShowSQL'] булево выражение Определяет будут ли отображаться SQL-запросы, сгенерированные phpMyAdmin или нет. $cfg['AllowUserDropDatabase'] булево выражение Определяет разрешено ли обычному пользователю (не администратору) удалять собственные базы данных или нет. Если установлено значение FALSE, ссылка "Drop Database" не будет отображаться, и даже команда "DROP DATABASE mydatabase" будет отклонена. Весьма практично для ISP'S со множеством клиентов. Обратите внимание, что это всего лишь ограничение на уровне SQL-запросов, не такое жесткое, как при использовании MySQL привилегий. Это объясняется сущностью SQLзапросов, поэтому этот вариант не подменяет администрирования привилегий и должен рассматриваться как вспомогательный для предотвращения случайного удаления баз данных. $cfg['Confirm'] булево выражение Должно ли отображаться предупреждение ("Are your really sure..."), при удалении данных. $cfg['LoginCookieRecall'] булево выражение Определяет, должен ли предыдущий логин быть использован в cookie-аутентификации или нет. $cfg[LoginCookieValidity] число [количество секунд] Определяет как долго может длиться идентификация куки. $cfg[LoginCookieStore] число [количество секунд] Определяет как долго хранится идентификационная кука в браузере. По умолчанию - 0, это означает, что она будет храниться на продолжение текущей сессии. Такое значение рекомендуется при работе в потенциально ненадежных средах. $cfg[LoginCookieDeleteAll] булево выражение Если разрешено (по умолчанию), при завершении сеанса удаляются куки для всех серверов, за исключением текущего. Если запрещено - можно обходиться без завершения сеанса при работе с несколькими серверами. $cfg['UseDbSearch'] булево выражение Определяет, разрешен ли "поиск строки внутри базы данных" или нет. $cfg['IgnoreMultiSubmitErrors'] булево выражение Определяет, продолжит ли phpMyAdmin выполнять мильтизапрос, если один из подзапросов не выполняется. По умолчанию phpMyAdmin прерывает выполнение мультизапроса. $cfg['VerboseMultiSubmit'] булево выражение Определяет, будет ли phpMyAdmin выводить результаты каждого подзапроса мультизапросного выражения, вложенного в вывод SQL как внутренний комментарий. По умолчанию TRUE. $cfg['AllowArbitraryServer'] булево выражение Если TRUE - разрешено начинать сеанс с произвольным сервером, используя cookieавторизацию. Внимание: используйте эту настройку осторожно, т.к. тем самым Вы можете разрешить доступ к MySQL серверу, в обход брандмауэра. $cfg['LeftFrameLight'] булево выражение Определяет, использовать ли выпадающее меню и показывать только текущие таблицы в левом фрейме. Только в Non-Lightmode Вы можете показать вложенное использование папок $cfg['LeftFrameTableSeparator'] $cfg['LeftFrameDBTree'] булево выражение В облегченном режиме, определяет, показывать ли названия баз данных (в селекторе) в виде дерева, смотри также $cfg ['LeftFrameDBSeparator']. $cfg['LeftFrameDBSeparator'] строка Для разделения названий баз данных в древовидной структуре будет использоваться указанная строка. $cfg['LeftFrameTableSeparator'] строка Определяет строку, которая будет определять родительские отношения. По умолчанию '__'. Это означает, что если Вы имеете таблицы, например, 'first__second__third', то они будут отображаться в виде трехуровневой иерархии: first > second > third. Если установлено False, или пустая строка, то опция недоступна. ПРИМЕЧАНИЕ: Вы не должны использовать этот сепаратор в начале или конце названия таблицы или многократно повторять его друг за другом, не вставляя других символов меду ними. $cfg['LeftFrameTableLevel'] строка Определяет, сколько подуровней должно быть показано, при разбиении таблиц вышеупомянутым сепаратором. $cfg['ShowTooltip'] булево выражение Определяет, показать ли комментарий к таблице в левом фрейме в виде всплывающего меню или нет. $cfg['ShowTooltipAliasDB'] булево выражение Если всплывающие подсказки разрешены, и установлены комментарии к базе данных, то реальное название будет заменено комментарием. Это означает, если Вы имеете таблицу, которая называется 'user0001' и добавите комментарий 'MyName' в неё, то в левом фрейме Вы будете видеть название 'MyName', а всплывающая подсказка будет показывать реальное имя таблицы. $cfg['ShowTooltipAliasTB'] булево выражение/строка Аналогично $cfg ['ShowTooltipAliasDB'], за исключением того, что это работает для таблиц. Когда установлено значение 'nested', псевдоним таблицы используется только для разделения/вкладывания таблиц согласно директиве $cfg['LeftFrameTableSeparator']. Таким образом, псевдонимом называется только папка, название самой таблицы остается реальным. $cfg['LeftDisplayLogo'] булево выражение Определяет отображать логотип phpMyAdmin в верхней части левого фрейма или нет. По умолчанию TRUE. $cfg['LeftLogoLink'] строка Введите URL для ссылки с логотипа в левом фрейме. Особенно актуально для собственных тем, которые изменяют значение данной переменной. $cfg['LeftLogoLinkWindow'] строка Определяет где открывать страницу при переходе с логотипа: в главном окне (main) или в новом отдельном (new). $cfg['LeftDisplayServers'] булево выражение Определяет, показывать ли выбранный сервер в верхней части левого фрейма или нет. По умолчанию FALSE. $cfg['DisplayServersList'] булево выражение Определяет, как показывать выбираемые сервера: в виде списка ссылок или в виде выпадающего списка. По умолчанию FALSE (выпадающий список). $cfg['DisplayDatabasesList'] булево выражение Определяет, способ отображения списка баз данных в навигационном фрейме: в виде списка ссылок, или в виде выпадающего списка. По умолчанию - FALSE (выпадающий список). $cfg['ShowStats'] булево выражение Определяет, показывать ли используемое пространство и статистику по базе данных или нет. Помните, что статистика требует, по крайней мере, MySQL 3.23.3 и что, MySQL не возвращает такую информацию для таблиц Berkeley DB. $cfg['ShowServerInfo'] булево выражение Определяет, отображать ли подробную информацию о MySQL-сервере на главной странице. Кроме этого, Вы можете скрыть больше информации, используя $cfg['Servers'][$i]['verbose']. $cfg['ShowPhpInfo'] булево выражение $cfg['ShowChgPassword'] булево выражение $cfg['ShowCreateDb'] булево выражение Определяет, показывать ли ссылки "PHP information" (PHP информация) и "Change password" (изменить пароль) в стартовом главном фрейме или нет. Эта настройка не проверяет MySQL команды, введенные непосредственно. Помните, что блокируя использование phpinfo() в скрипте, в php.ini необходимо указать следующее: disable_functions = phpinfo() Также имейте в виду, что разрешение ссылки "Change password " не имеет никакого эффекта при использовании режима "config"-аутентификации: из-за жестко закодированного значения пароля в файле конфигурации, конечным пользователям нельзя разрешить изменить их пароли. $cfg['SuggestDBName'] булево выражение Определяет, предложить ли подсказку названия базы данных в форме "Create Database" или оставить текстовое поле пустым. $cfg['ShowBlob'] булево выражение Определяет, отображаются ли поля BLOB, при просмотре таблиц или нет. $cfg['NavigationBarIconic'] строка Определяет, содержат ли кнопки навигационного меню и верхнее меню правого фрейма текст или только символы. Значение TRUE отображает иконки, FALSE отображает текст, а 'both' отображает и иконки, и текст. $cfg['ShowAll'] булево выражение Определяет, будет ли пользователю показана кнопка "show all (records)" (показать все записи) в режиме просмотра или нет. $cfg['MaxRows'] число Число строк, отображаемых при просмотре результатов запроса. Если результат запроса содержит большее количество строк, появятся ссылки Previous/Next $cfg['Order'] строка [DESC|ASC|SMART] Определяет будут ли поля отображаться по возрастанию (ascending (ASC)), по убыванию (descending (DESC)) или в интеллектуальном порядке (SMART) - например, поля типов TIME, DATE, DATETIME & TIMESTAMP упорядочиваются по убыванию, остальные по умолчанию - по возрастанию. $cfg['ProtectBinary'] булево выражение или строка Определяет будут ли поля BLOB или BINARY защищены от редактирования при просмотре таблиц или нет. Приемлемые значения: FALSE - разрешить редактирование всех полей; blob - разрешить редактирование всех полей за исключением BLOBS; all - запретить редактирование всех BINARY или BLOB полей. $cfg['ShowFunctionFields'] булево выражение Определяет будут ли изначально отображаться поля MySQL функций в режиме редактирования/вставки или нет. Начиная с версии 2.10, пользователь может переключать эту настройку через интерфейс. $cfg['CharEditing'] строка Определяет тип управляющего элемента редактирования, который будет использоваться для полей CHAR и VARCHAR полей. Возможные варианты: input - разрешает задавать ограничение на текст, ограничивая размер поля в MySQL, но не позволяет вводить многострочный текст в одно поле textarea - отсутствуют проблемы с многострочным текстом, но отсутствует возможность ограничения текста на длину По умолчанию - старый вариант input. $cfg['InsertRows'] число Определяет максимальное число одновременно выводящихся блоков для вставки записей для страницы Insert (Вставка). $cfg['ForeignKeyMaxLimit'] число Если в списке меньшее количество внешних ключей, то выпадающий блок внешних ключей представлен, в стиле, описанном в конфигурационной переменной $cfg ['ForeignKeyDropdownOrder'] $cfg['ForeignKeyDropdownOrder'] массив Для выпадающего поля "внешний ключ" (foreign key), существует несколько способов отображения, предлагающих значения ключа и данных. Содержимое массива должно включать один или оба предложенных ниже варианта: 'content-id', 'id-content'. $cfg['ZipDump'] булево выражение $cfg['GZipDump'] булево выражение $cfg['BZipDump'] булево выражение Определяет разрешать использование of zip/GZip/BZip2 компрессии при создании дампа или нет. $cfg['CompressOnFly'] булево выражение Определяет разрешать компрессию GZip/BZip2 на лету (при сжатом экспорте) или нет. Это позволит отказаться от необходимости создавать малые дампы и позволит создавать дампы большого размера, которые в противном случае невозможно создавать из-за php ограничения памяти. Созданные файлы содержат больше заголовков GZip/BZip2, но абсолютной большинство программ обрабатывают это корректно. $cfg['LightTabs'] булево выражение Если установлено True, используются менее интенсивные графические элементы в верхней части главного фрейма (вкладки заменяются квадратными скобками). По умолчанию FALSE (графические вкладки) $cfg['PropertiesIconic'] строка Если установлено TRUE, вместо текста отображаются иконки (таких как 'Browse', 'Select', 'Insert', ...) для баз данных, таблиц. Можно выставить 'both' если Вы хотите чтобы отображались как иконки, так и текст. Когда выставлено False, отображается только текст $cfg['PropertiesNumColumns'] число Сколько колонок используется для отображения таблиц в окне свойств базы данных. По умолчанию - 1 колонка. Если значение больше 1, то тип базы данных не указывается с целью экономии места. $cfg['DefaultTabServer'] строка Определяет вкладку, отображаемую открытой по умолчанию на представлении сервера. Возможные значения: "main.php" (рекомендуется при многопользовательской установке), "server_databases.php", "server_status.php", "server_variables.php", "server_privileges.php" или "server_processlist.php". $cfg['DefaultTabDatabase'] строка Определяет вкладку, отображаемую по умолчанию при просмотре базы данных. Допустимые значения: "db_structure.php", "db_sql.php" или "db_search.php". $cfg['DefaultTabTable'] строка Определяет вкладку, отображаемую по умолчанию при просмотре таблицы. Возможные варианты значений: "tbl_structure.php", "tbl_sql.php", "tbl_select.php", "tbl_change.php" или "sql.php". $cfg['MySQLManualBase'] строка Задает URL, который используется при генерировании отдельных ссылок помощи на документацию по MySQL (тип определяется в $cfg['MySQLManualType']). $cfg['MySQLManualType'] строка Типы MySQL документации: old - старый стиль, используемый в phpMyAdmin 2.3.0 и более ранних searchable - "Доступный для поиска, с пользовательскими комментариями" chapters - "HTML, одна глава на странице" big - "HTML, все главы на одной странице" none - не отображать ссылки на документацию $cfg['DefaultLang'] строка Определяет язык, используемый по умолчанию, если не определяется браузером или пользователем. См. скрипт select_lang.lib.php чтобы узнать возможные значения для этой переменной. $cfg['Lang'] строка Усиление: всегда использовать этот язык (должен быть определен в скрипте select_lang.lib.php). $cfg['DefaultCharset'] строка Набор символов, используемых по умолчанию для записи MySQL запросов. Он должен быть разрешен и описан в данной переменной. $cfg['AllowAnywhereRecoding']. Вы можете задать здесь любые символы из массива $cfg['AvailableCharsets'], чтобы пользователь в последствии мог выбрать любые из них. $cfg['AllowAnywhereRecoding'] булево выражение Разрешить кодировку, используемую для написания MySQL запросов. Вам необходима поддержка recode или iconv (скомпилированный или в виде модуля) в PHP для разрешения записи MySQL запросов и использования языкового файла (по умолчанию используется Юникод, во избежание потери некоторых символов). Если значение TRUE - также активирует выпадающее меню в странице "Export" (Экспорт), чтобы выбрать набор символов, при экспорте файла. $cfg['RecodingEngine'] строка Здесь Вы можете задать функцию, которая будет заниматься перекодировкой. Возможные значения: auto - автоматически использовать одну доступную (сначала тестируется iconv, затем recode) iconv - использовать iconv или libiconv функции recode - использовать функцию recode_string По умолчанию - auto. $cfg['IconvExtraParams'] строка Определяет некоторые параметры для iconv, которая используется в преобразовывании кодировки. Для получения дополнительной информации см. документацию. По умолчанию используется //TRANSLIT, что приводит к тому, что неверные символы транслитерируются (заменяются на символы другого языка). $cfg['AvailableCharsets'] массив Доступные кодировки для MySQL. Вы можете добавлять свои (из тех, что поддерживаются recode/iconv) или удалить те, которые не собираетесь использовать. Кодировки будут отображены в том порядке, как они записаны: таким образом, имеет смысл указывать наиболее часто используемые в самом начале. $cfg['TrustedProxies'] массив Список прокси и HTTP-заголовков, которые являются доверенными для IP Allow/Deny. Этот список по умолчанию пустой, Вам необходимо заполнить его доверенными проксисерверами, если Вы хотите использовать правила для IP-адресов, находящихся за проксисервером. Ниже приведен пример, в котором phpMyAdmin предписано доверять заголовку HTTP_X_FORWARDED_FOR (X-Forwarded-For) полученному от прокси 1.2.3.4: $cfg['TrustedProxies'] = array('1.2.3.4' => 'HTTP_X_FORWARDED_FOR'); Директива $cfg['Servers'][$i]['AllowDeny']['rules'] обычно использует клиентские IP-адреса. $cfg['GD2Available'] строка Определяет доступна ли GD >= 2. Если да, она может быть использована для MIMEпреобразований. Возможные значения: auto - автоматическое определение, это операция для php <4.3.0, этот вариант, устанавливается по умолчанию yes - GD 2 функция может быть использована no - GD 2 функция не может быть использована По умолчанию - auto. $cfg['NaviWidth'] число Ширина навигационного фрейма в пикселях. Смотрите themes/themename/layout.inc.php. $cfg['NaviBackground'] строка [валидный css код для фона] $cfg['MainBackground'] строка [валидный css код для фона] Стили фона используемые для обоих фреймов. Смотрите themes/themename/layout.inc.php. $cfg['NaviPointerBackground'] строка [валидный css код для фона] $cfg['NaviPointerColor'] строка [валидный css цвет] Стиль, используемый для указателей навигационного фрейма. Смотрите themes/themename/layout.inc.php. $cfg['LeftPointerEnable'] булево выражение Значение TRUE активирует навигационные указатели (когда LeftFrameLight - FALSE). $cfg['Border'] число Размер границы таблицы. Смотрите themes/themename/layout.inc.php. $cfg['ThBackground'] строка [валидный css код для фона] $cfg['ThColor'] строка [валидный css цвет] Стиль, используемый для заголовков таблиц. Смотрите themes/themename/layout.inc.php. $cfg['BgOne'] строка [HTML color] Цвет (HTML) #1 для нечетных строк таблицы. Смотрите themes/themename/layout.inc.php. $cfg['BgTwo'] строка [HTML color] Цвет (HTML) #2 для четных строк таблицы. Смотрите themes/themename/layout.inc.php. $cfg['BrowsePointerBackground'] строка [HTML color] $cfg['BrowsePointerColor'] строка [HTML color] $cfg['BrowseMarkerBackground'] строка [HTML color] $cfg['BrowseMarkerColor'] строка [HTML color] Цвета (HTML) используемые для указателей и маркеров в режиме просмотра. Скрипт подсвечивает строки, над которыми проходит курсор, дает возможность отмечать/снимать выделение с записей с помощью щелчка мышью. Смотрите themes/themename/layout.inc.php. $cfg['FontFamily'] строка Здесь указывается валидное значение семейства шрифта (font family): например, arial, sans-serif. См. themes/themename/layout.inc.php. $cfg['FontFamilyFixed'] строка Здесь указывается валидное значение семейства шрифта (font family): например, monospace. Переменная определяет шрифт в textarea. См. themes/themename/layout.inc.php. $cfg['BrowsePointerEnable'] булево выражение Активировать указатель просмотра или нет. $cfg['BrowseMarkerEnable'] булево выражение Активировать маркер просмотра или нет. $cfg['TextareaCols'] число $cfg['TextareaRows'] число $cfg['CharTextareaCols'] число $cfg['CharTextareaRows'] число Число столбцов и строк для многострочного поля текстового ввода ("textarea"). Это значение будет увеличено в (*2) для полей текстового ввода SQL запросов и в (*1.25) для полей текстового ввода SQL запросов внутри окна запросов. Значения Char* используются для полей CHAR или VARCHAR в окне редактирования (если сконфигурировано с помощью $cfg['CharEditing']). $cfg['LongtextDoubleTextarea'] булево выражение Определяет, будет ли textarea для полей типа LONGTEXT иметь двойной размер $cfg['TextareaAutoSelect'] булево выражение Определяет, будет ли выделяться содержимое текстовой области в блоке запроса целиком при клике. $cfg['CtrlArrowsMoving'] булево выражение Разрешает перемещение между полями при редактировании с помощью Ctrl+Arrows (Option+Arrows in Safari). $cfg['LimitChars'] число Максимальное кол-во символов, отображаемых в разных нечисловых полях при предварительном просмотре. $cfg['ModifyDeleteAtLeft'] булево выражение $cfg['ModifyDeleteAtRight'] булево выражение Определяет место, где будут размещаться ссылки правки и удаления при отображении содержимого таблицы (вы можете задать размещение их обеих справа или слева). "Left" и "right" соответствуют размещению ссылок "top" и "bottom" соответственно при вертикальном режиме просмотра. $cfg['DefaultDisplay'] строка $cfg['HeaderFlipType'] строка Здесь возможны 3 режима отображения: horizontal, horizontalflipped и vertical. Определяет, какой режим будет выбран по умолчанию. Первый режим отображает каждую запись на горизонтальной линии, второй режим поворачивает заголовки на 90 градусов, таким образом можно использовать развернутые заголовки для полей, содержащих данные небольших размеров, данный режим удобен для вывода на печать. Вертикальный режим выводит каждую запись в виде отдельного столбца. HeaderFlipType может быть установлено в 'css' или 'fake'. При использовании 'css' поворот заголовков при втором режиме осуществляется с помощью CSS. Если установлено 'fake' трансформация осуществляется с помощью PHP, но, разумеется, результат не такой изящный как CSS. $cfg['DefaultPropDisplay'] строка или число При редактировании/создании новых столбцов в таблице все поля обычно размещаются в одну линию (по умолчанию: 'horizontal'). Если вы устанавливаете 'vertical' все поля располагаются вертикально друг под другом. Задавая тот или иной режим можно оптимально использовать пространство браузера и избежать полосы прокрутки. Если Вы задаете в качестве значения число, тогда при редактировании в случае меньшего количества столбцов будет использован режим 'vertical', в случае большего количества режим 'horizontal'. $cfg['ShowBrowseComments'] булево выражение $cfg['ShowPropertyComments'] булево выражение Устанавливая соответствующую переменную в значение TRUE разрешается отображение комментариев столбцов в режиме предварительного просмотра или просмотре свойств таблицы. В режиме просмотра, комментарии - отображаются в заголовке. В режиме просмотра свойств, комментарии отображаются, с помощью CSS-форматированной прерывистой линии под названием поля. Комментарий отображается в виде всплывающей подсказки при наведении курсора. $cfg['UploadDir'] строка Имя директории,будут загружены SQL файлы. Эти файлы доступны из выпадающего блока, который появляется при щелчке на имени базы данных. Если Вы хотите задать различные директории для каждого пользователя, %u будет заменяться именем пользователя. Пожалуйста, помните, что имена файлов должны иметь суффикс ".sql" (или ".sql.bz2" или ".sql.gz" если разрешена поддержка форматов сжатия). Эта опция полезна, когда файл слишком велик, чтобы быть загруженным с помощью HTTP, или когда загрузка файла отображаются в PHP. Помните, что если PHP запущен в безопасном режиме (safe mode), данная директория должна принадлежать тому же пользователю, которому принадлежит и phpMyAdmin. Для получения дополнительной информации см. FAQ 1.16. $cfg['SaveDir'] строка Имя директории куда будут сохраняться дампы. Если необходимо задать различные директории для каждого пользователя, %u будет заменяться именем пользователя. Обратите внимание, что директория должна быть доступна для записи для пользователей запускающих веб-сервер. Также следует иметь ввиду, что если PHP запущен в безопасном режиме (safe mode), данная директория должна принадлежать тому же пользователю, которому принадлежит и phpMyAdmin. $cfg['TempDir'] строка Имя директории, где хранятся временные файлы. Эта опция необходима для MS Excel экспорта, см. FAQ 6.23 $cfg['Export'] массив В данном массиве задаются параметры для экспорта по умолчанию, названия пунктов соответствуют записям на странице экспорта, таким образом, трудностей с определением их значения возникнуть не должно. $cfg['Import'] массив В данном массиве задаются параметры для импорта по умолчанию, названия пунктов соответствуют записям на странице импорта, таким образом, трудностей с определением их значения возникнуть не должно. $cfg['RepeatCells'] число Повторяет заголовки каждые X ячеек, или 0 для дезактивации. $cfg['QueryFrame'] булево выражение $cfg['QueryFrameJS'] булево выражение $cfg['QueryWindowWidth'] число $cfg['QueryWindowHeight'] число $cfg['QueryHistoryDB'] булево выражение $cfg['QueryWindowDefTab'] строка $cfg['QueryHistoryMax'] число Все эти переменные связаны с окном запроса. Когда $cfg['QueryFrame'] установлено true, ссылка или иконка отображается на левой панели. Щелчок на ней открывает блок запроса, a прямой интерфейс для ввода SQL-запроса. Когда $cfg['QueryFrameJS'] установлено true, щелчок на этой ссылке открывает блок запроса в новом окне, размеры которого можно задавать ($cfg['QueryWindowWidth'], $cfg['QueryWindowHeight'] - возможные значения - числа, определяющие размер в пикселях). Также, щелчок на [Edit] с результирующей страницы (в секции "Showing Rows") открывает блок запроса и помещает текущий запрос внутрь него. Если установлено false, щелчок по ссылке только открывает окно ввода SQL-запроса в главном фрейме. Использование JavaScript окна запроса рекомендовано, если браузер разрешает использование JavaScript. Основные функции написаны таким образом, что большинство браузеров с 4-го поколения поддерживают эту опцию. В настоящее время протестирован на браузерах Internet Explorer 6 и Mozilla 1.x. Если $cfg['QueryHistoryDB'] установлено TRUE, все Ваши запросы будут записываться в таблицу, которая была создана вами (см. $cfg['Servers'][$i]['history']). Если установлено FALSE, все ваши запросы будут присоединяться к форме, но только на то время, пока открыто окно запроса. Когда используется JavaScript-основанное окно запросов, оно будет всегда обновляться при щелчке на просмотр таблиц/баз данных и всегда будет в фокусе, при щелчке на "Edit SQL" после использования запроса. Вы можете запретить обновление окна запросов, отмечая чекбокс "Do not overwrite this query from outside the window" ниже текстовой области ввода запроса. После этого Вы сможете просматривать таблицы/базы данных в фоне без потери содержимого текстовой области, таким образом, это особенно удобно, когда составляется запрос из нескольких таблиц, и прежде нужно посмотреть их. Чекбокс выставляется автоматически всякий раз, когда изменяется содержимое текстового поля ввода. Снимайте чекбокс всякий раз, когда необходимо, чтобы окно запроса обновилось даже в том случае, если были сделаны изменения. Если $cfg['QueryHistoryDB'] установлено TRUE Вы можете определять объем сохраняемой истории с помощью указания значений для конфигурационной переменной $cfg['QueryHistoryMax']. Окно запросов снабжено закладками, для группировки опций. Используя переменную $cfg['QueryWindowDefTab'] Вы можете задавать вкладки по умолчанию, которые будут использованы при открытии окна запросов. Даная переменная может принимать следующие значения: 'sql', 'files', 'history' или 'full'. $cfg['BrowseMIME'] булево выражение Разрешает MIME-трансформации (MIME-transformations). $cfg['MaxExactCount'] число Для InnoDB таблиц, определяет максимальное число записей таблиц, при котором phpMyAdmin отображает количество строк в таблице с помощью SELECT COUNT. Если количество строк меньше чем это значение, то будет использоваться SELECT COUNT, если больше - значение будет только возвращено через SHOW TABLE STATUS. $cfg['MaxExactCountViews'] число Для представлений, это значение будет максимумом строк, при которых количество строк будет выведено запросом SELECT COUNT ... LIMIT. По умолчанию выставляется значение 0, которое блокирует подсчет записей, т.к. при работе с таблицами очень больших размеров, получение точного числа записей может крайне негативно сказаться на производительности. $cfg['WYSIWYG-PDF'] булево выражение Использует WYSIWYG редактирование для большего удобства размещения элементов PDF страницы. Кликая на кнопке 'toggle scratchboard' на странице, где вы правите x/y координаты этих элементов вы можете активировать scratchboard куда помещены все ваши элементы. Кликая по элементу, Вы можете перемещать его и координаты будут изменяться автоматически. Аналогично, вводя новые координаты в область входа, элементы принимают новое положение после того, как курсор оставляет область ввода. Для сохранения новых позиций, необходимо кликнуть по кнопке 'OK', что расположена ниже таблицы. Если необходимо добавить новый элемент - нужно сначала добавить его в таблицу элементов, после этого можно перемещать новый объект. Можно изменять размер и ориентацию бумаги с помощью нижерасположенного выпадающего меню размер изменится автоматически, без изменения текущего расположения элементов. Если даже какой-нибудь элемент выйдет за пределы указанного диапазона, можно либо увеличить размер бумаги, либо нажать кнопку 'reset', чтобы разместить все элементы друг под другом. ОБРАТИТЕ ВНИМАНИЕ: чтобы воспользоваться этими средствами управления, необходимо пользоваться последними версиями браузеров IE6 или Mozilla. $cfg['NaturalOrder'] булево выражение Сортировка названий баз данных и таблиц в обычном порядке (например, t1, t2, t10). Сортировка применяется в левой панели (Light mode) и при просмотре баз данных (Database view), для списка таблиц. $cfg['TitleTable'] строка $cfg['TitleDatabase'] строка $cfg['TitleServer'] строка $cfg['TitleDefault'] строка Данная группа переменных позволяет Вам определять строки заголовков окон. Ниже описаны выражения, которые могут быть использованы для получения специфичных значений: @HTTP_HOST@ - HTTP хост на котором запущен phpMyAdmin @SERVER@ - имя MySQL-сервера @VERBOSE@ - имя MySQL-сервера заданное в конфигурации сервера @VSERVER@ - имя MySQL-сервера если задано, в противном случае - обычное @DATABASE@ - текущая открытая база данных @TABLE@ - текущая открытая таблица @PHPMYADMIN@ - версия phpMyAdmin $cfg['ShowHttpHostTitle'] булево выражение Показывает HTTP host name в строке заголовка окна. $cfg['SetHttpHostTitle'] строка Если $cfg['ShowHttpHostTitle'] установлено TRUE, она показывает настоящий HTTP host name, если здесь не указано альтернативное название. $cfg['ErrorIconic'] булево выражение Использование иконок для предупреждений, ошибок и сообщений. $cfg['MainPageIconic'] булево выражение Использование иконок на главной странице в списках и вкладках меню. $cfg['ReplaceHelpImg'] булево выражение Показывает кнопку помощи вместо сообщения "Документация" ("Documentation"). $cfg['ThemePath'] string Если менеджер тем активизирован, эту переменную следует использовать как путь к поддиректории, содержащей все темы. $cfg['ThemeManager'] boolean Разрешает использование тем, выбираемых пользователем. См. FAQ 2.7. $cfg['ThemeDefault'] string Тема по умолчанию (поддиректория cfg['ThemePath']). $cfg['ThemePerServer'] boolean Разрешать ли разные темы для каждого сервера. $cfg['DefaultQueryTable'] строка $cfg['DefaultQueryDatabase'] строка Запросы по умолчанию, что будут отображаться в блоках запросов, когда пользователь не будет их специально задавать. Используйте %d для имени базы данных, %t для названия таблицы и %f для списка названий полей, разделенных запятыми. Помните, что %t и %f применимы только к $cfg['DefaultQueryTable']. $cfg['SQP']['fmtType'] строка [html|none] Основное использование нового SQL-парсера для вывода SQL-запросов. По умолчанию используется HTML, для форматирования запроса, но возможно запрещение подобного форматирования, установив эту переменную в 'none'. $cfg['SQP']['fmtInd'] число с плавающей точкой $cfg['SQP']['fmtIndUnit'] строка [em|px|pt|ex] Для более эстетичного вида при выводе SQL-запроса, в некоторых случаях часть запроса внутри скобки имеет отступ. С помощью изменения $cfg['SQP']['fmtInd'] Вы можете изменять величину этого отступа. С предыдущей связана конфигурационная переменная $cfg['SQP']['fmtIndUnit'] которая определяет единицы, в которых задается величина отступа. Единицы определяются с помощью таблиц стилей. $cfg['SQP']['fmtColor'] массив из строк кортежей (tuples) Этот массив используется для определения цветов для каждого типа элементов выводимых SQL-запросов. Формат "кортежей" следующий: class => [HTML colour code | empty string] Если Вы зададите, пустую строку для цвета класса, он будет проигнорирован при создании таблицы стилей. Вы не можете менять названия классов, только цвета. Ключи - имена классов: comment Применяется ко всем субклассам comment comment_mysql Комментарии как "#...\n" comment_ansi Комментарии как "-- ...\n" comment_c Комментарии как "/*...*/" digit Применяется ко всем суб-классам digit digit_hex Шестнадцатиричные (hexadecimal) числа digit_integer Целые (integer) числа digit_float Числа с плавающей точкой (floating point numbers) punct Применяется ко всем суб-классам punctuation punct_bracket_open_round Открывающие скобки "(" punct_bracket_close_round Закрывающие скобки ")" punct_listsep Завершающий разделитель "," punct_qualifier Спецификатор (qualifier) Таблицы/Столбца "." punct_queryend Маркер конца запроса ";" alpha Применяется ко всем алфавитным классам alpha_columnType Идентификатор типа столбца alpha_columnAttrib Идентификатор атрибутов базы данных/таблицы/столбца alpha_functionName Идентификатор названия MySQL-функции alpha_reservedWord Идентификатор различных зарезервированных слов alpha_variable Идентификатор SQL-переменной "@foo" alpha_identifier Все другие идентификаторы quote Применяется ко всем классам кавычек quote_double Двойные кавычки " quote_single Одиночные кавычки ' quote_backtick Обратный апостроф ` $cfg['SQLValidator']['use'] булево выражение phpMyAdmin теперь поддерживает использование сервиса Mimer SQL Validator, который в оригинале опубликован на Slashdot. Для получения помощи при настройке системы для использования этого сервиса, см. FAQ 6.14. $cfg['SQLValidator']['username'] строка $cfg['SQLValidator']['password'] строка Сервис SOAP позволяет пользователю регистрироваться без логина и пароля, такой подход используется по умолчанию. Вместо этого, если Вы имеете аккаунт, вы можете указать свой логин и пароль здесь, и он будет использоваться вместо умолчальных пустых логина и пароля. $cfg['DBG']['enable'] булево выражение ДЛЯ РАЗРАБОТЧИКОВ! Разрешает расширение DBG для отладки phpMyAdmin. Необходим для анализа кода. Для получения помощи при настройке системы для его использования, см. раздел FAQ "Информация для разработчиков". $cfg['DBG']['profile']['enable'] булево выражение ДЛЯ РАЗРАБОТЧИКОВ! Разрешить поддержку профилирования для phpMyAdmin. Эта опция добавляет блок данных в конец каждой страницы, отображаемой в главном окне со статистикой профилирования для этой страницы. Вполне вероятно, что придется увеличить максимальное время выполнения (maximum execution time) для успешного профилирования. Профилирование было удалено из кода версии 2.9.0 из-за проблем лицензирования. $cfg['DBG']['profile']['threshold'] число с плавающей точкой (единицы в миллисекундах) ДЛЯ РАЗРАБОТЧИКОВ! Когда данные профилирования отображаются, эта переменная определяет границу отображения данных профилирования, основанную на среднем времени выполнения. Если время выше порога данные отображаются, если нет - не отображаются. Значение задается в миллисекундах. В большинстве случаев нет необходимости специально редактировать данную переменную. $cfg['ColumnTypes'] массив Все возможные типы MySQL-столбцов. В большинстве случаев нет необходимости специально редактировать данную переменную. $cfg['AttributeTypes'] массив Возможные атрибуты для полей. В большинстве случаев нет необходимости в её редактировании. $cfg['Functions'] массив Список поддерживаемых функций MySQL. В большинстве случаев нет необходимости специально редактировать данную переменную. $cfg['RestrictColumnTypes'] массив Соответствие типов столбцов meta-типам, используемым для предпочтительного отображения функций. В большинстве случаев нет необходимости специально редактировать данную переменную. $cfg['RestrictFunctions'] массив Предпочтительные функции для столбцов мета-типов определяются в $cfg['RestrictColumnTypes']. В большинстве случаев нет необходимости специально редактировать данную переменную. $cfg['DefaultFunctions'] массив Функции, выбираемые по умолчанию при вставке/редактировании строк, функции определяются для мета-типов для переменной $cfg['RestrictColumnTypes'] и для first_timestamp, которая используется для столбца first_timestamp в таблице. $cfg['NumOperators'] массив Операторы доступные для операций поиска в числовых (numeric) и бинарных (date) полях. $cfg['TextOperators'] массив Операторы доступные для операций поиска в символьных (character) полях. Помните, что используется LIKE вместо LIKE %...%, чтобы избежать проблем в работе с таблицами очень больших размеров. $cfg['EnumOperators'] массив Операторы доступные для операций поиска в полях типа enum. $cfg['NullOperators'] массив Дополнительные операторы доступные для операций поиска, когда поля могут принимать значения null. Преобразование данных в phpMyAdmin [1] Введение Чтобы разрешить преобразования, необходимо установить и настроить таблицу `column_info` и характерные директивы. Ознакомьтесь с разделом "Конфигурирование" чтобы разобраться как это сделать. Вы можете применять различные преобразования к содержимому каждого поля. Преобразование затронет содержимое каждой области и преобразует его в соответствии с правилами, определенными для выбранного преобразования. Скажем, к примеру, что имеется поле 'filename', которое содержит названия файлов. В обычном случае Вы увидели бы только имя файла. Но, используя преобразования можно преобразовать простое имя файла в гиперссылку, которая при щелчке будет открывать этот файл в новом окне браузера. Используя опции преобразования Вы можете также определить строки, добавляемые (перед или после) к строке или формат в котором будут сохранены результаты. Для общего краткого обзора всех доступных преобразований и их вариантов, можете обратиться к файлу <www.your-host.com>/<your-install-dir>/libraries/transformations/overview.php. [2] Использование Перейдите на страницу tbl_properties.inc.php. Затем кликните на "Change" (или иконке "Изменить") - после этого увидите три новых поля в конце линии. Они называются 'MIME-type', 'Browser transformation' и 'Transformation options'. Поле 'MIME-type' это выпадающее поле. Вы имеете возможность оставить это поле пустым либо использовать 'auto' [эта опция пока не доступна]. Помните, что трансформации неактивны до тех пор, пока не задан MIME-type. Поле 'Browser transformation' это тоже выпадающее поле. Вы можете выбрать необходимое общего количества предопределенных трансформаций. См. ниже как настроить собственное преобразование. Существуют глобальные (global transformations) и mimetype-ограниченные (mimetypebound transformations) трансформации. Глобальные преобразования могут использоваться для разных типов данных. Mimetype-bound трансформации обычно оперируют определенным mime типом. Есть преобразования, которые оперируют основным mimeтипом (например 'image'), который, скорее всего, имеет подтип, и есть также преобразования, которые оперируют определенным подтипом (например 'image/jpeg'). Вы можете использовать преобразования на mimetypes, для которых функция не была определена. Нет никакой проверки на безопасность выбираемых данных, поэтому стоит отдельно позаботиться о проверке выводимых данных. Поле 'Transformation options' представляет собой текстовое поле для ввода. Здесь Вы можете ввести функцию преобразования. Обычно преобразование работает с вариантами по умолчанию, но вообще неплохо просмотреть обзор, для того чтобы определиться какой вариант больше подходит. При использовании ENUM/SET-Fields, необходимо разбить опции, используя формат 'a','b','c',...(NOTE THE MISSING BLANKS). В результате внутренние опции будут разобраны как массив, выбирая первое значение первого элемента в массиве, и т.д. Если Вы хотите задать MIME кодировку, можно задать её в transformation_options. Используйте формат "'; charset=XXX'". Если вы используете трансформацию, для которой Вы можете задать 2 опции и Вы хотите добавить в конец кодировку, введите "'first parameter','second parameter','charset=us-ascii'". Вы можете, тем не менее, использовать значение по умолчанию для параметров: "'','','charset=us-ascii'". [3] Файловая структура Все mime-типы и их преобразования определяются через отдельные файлы, размещенные в директории 'libraries/transformations/'. Сделано это для того чтобы облегчить настройку и добавление новых преобразований. Так как пользователь не может ввести собственные mime-типы, это гарантирует, что преобразования всегда сработают. Поэтому не имеет смысла преобразование к mime-типу, т.к. функция-преобразователь не знает, как оперировать. Однако можно использовать пустые mime-типы и глобальные преобразования (global transformations), которые должны работать со многими mime-типами. Вы можете также использовать преобразования для различных mime-типов где они заданы, но при этом следует уделять внимание выбору преобразования вашего поля. Это осуществляется с помощью файла 'global.inc.php', который может быть включен любой другой функцией преобразования, и обеспечивает некоторые основные функции. Всего 5 возможных имен файлов: 1. mime-тип+подтип преобразования: [mimetype]_[subtype]__[transform].inc.php Обратите внимание, что mime-тип и подтип разделены нижним подчеркиванием '_', которое не должно содержаться в их именах. Требования к имени функции/файла, точно такие же как в PHP. Функция преобразования вызывается следующим образом: 'PMA_transform_[mimetype]_[subtype]__[transform]()'. Пример: text_html__formatted.inc.php PMA_transform_text_html__formatted() 2. mime-тип+подтип без задания функции преобразования [mimetype]_[subtype].inc.php Помните, что нельзя использовать символ нижнего подчеркивания '__' в имени файла. Не используйте спецсимволы в именах файлов, которые могут вызвать проблемы с файловой системой. Никакой функции преобразования непосредственно в файле не определяется. Пример: text_plain.inc.php (Нет функции) 3. mime-тип (без подтипа) без определенной функции преобразования [mimetype].inc.php Помните, что нельзя использовать символ нижнего подчеркивания '__' в имени файла. Не используйте спецсимволы в именах файлов, которые могут вызвать проблемы с файловой системой. Никакая функция преобразования не определена непосредственно в файле. Пример: text.inc.php (Нет функции) 4. глобальная функция преобразования (global transform function) без определенного mime-типа global__[transform].inc.php Функция преобразования будет вызываться: 'PMA_transform_global__[transform]()'. Пример: global__formatted PMA_transform_global__formatted() Возьмите за правило: используйте '_', чтобы разделить mime-тип и подтип, и '__', чтобы указать функцию преобразования. Все имена файлов, не содержащие '__' не отображаются в выпадающем списке функция преобразований. Ознакомьтесь с файлом libraries/transformations/TEMPLATE для добавления ваших собственных функций преобразования. Смотрите libraries/transformations/TEMPLATE_MIMETYPE для добавления mime-типа без функции преобразования. Также пишите описание функций в файлах локализации. Для каждой функции создается переменная $strTransformation_[filename without .inc.php]. С этой целью Вы можете использовать генератор шаблона (template generator), чтобы сгенерировать новые функции и соответствующие записи в файле локализации. Чтобы создать новую функцию преобразования, см. libraries/transformations/template_generator.sh. Чтобы создать новый, пустой mime-тип см. libraries/transformations/template_generator_mimetype.sh Функции преобразования всегда передаются три переменные: 1. $buffer - Содержит текст в столбце. Это - текст, который необходимо преобразовать. 2. $options - Содержит любые переданные пользователем опции функции преобразования как массив. 3. $meta - Содержит объект с полем информации о вашем столбце. Данные извлекаются с помощью функции mysql_fetch_field (). Это означает, что все свойства объекта, описанные на странице мануала доступны через данную переменную и могут использоваться, чтобы преобразовать область соответственно к unsigned/zerofill/not_null/... свойства. $meta->mimetype переменная содержит оригинальный MIME-тип поля (к примеру, 'text/plain', 'image/jpeg' и т.д.) Глоссарий .htaccess - файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Blowfish - криптографический алгоритм, реализующий симметричное шифрование, разработанный Брюсом Шнейером в 1993 году bzip2 - популярный компрессор с открытым исходным кодом, также алгоритм сжатия данных, разработанные Джулианом Сьюардом. CGI (англ. Common Gateway Interface - "общий интерфейс шлюза") - стандарт интерфейса, служащего для связи внешней программы с веб-сервером. Changelog (журнал изменений) - применительно к интернет-сайтам или программным продуктам - журнал или запись изменений произведённых в проекте. Cross site scripting - см. Межсайтовый скриптинг. CSV (англ. Comma Separated Values - "значения, разделённые запятыми") текстовый формат, предназначенный для представления табличных данных. extension (расширение) - модуль интерпретатора PHP, расширяющий его функциональность. FAQ (от англ. Frequently Asked Questions - часто задаваемые вопросы) - собрание часто задаваемых вопросов по какой-либо теме и ответов на них. FPDF (FreePDF) - свободно распространяемая библиотека PHP, позволяющая генерировать Файлы формата PDF исключительно с помощью PHP. GD (графическая библиотека) - библиотека PHP для динамической работы с изображениями. GD2 - см. графическая библиотека GD. gzip - утилита сжатия и восстановления (декомпрессии) файлов. HTTP (от англ. Hypertext Transfer Protocol — "протокол передачи гипертекста") один из самых распространённых сетевых протоколов Интернета, основа Всемирной паутины. HTTP Response Splitting - уязвимость являющаяся следствием того, что протокол HTTP позволяет прерывать заголовок и начинать новый, который и будет считаться "правильным" и обрабатываться "жертвой". HTTP Response Splitting позволяет проводить целый ряд атак, таких как отравление веб кэша, подмену страниц, "cross-user defacement", кража пользовательской информации и межсайтовый скриптинг. https - расширение протокола HTTP, поддерживающее шифрование. IIS (Internet Information Services) - набор серверов для нескольких служб Интернета от компании Майкрософт. IP (англ. Internet Protocol — межсетевой протокол) — маршрутизируемый сетевой протокол, основа стека протоколов TCP/IP. IP-адрес (сокращение от англ. Internet Protocol Address) — уникальный идентификатор (адрес) устройства (обычно компьютера), подключённого к локальной сети или интернету. ISAPI (Internet Server Application Programming Interface) — это API для IIS (Internet Information Services), коллекции сетевых сервисов Microsoft Windows. JPEG (Joint Picture Experts Group) - является широкоиспользуемым методом сжатия фотоизображений. JPG - см. JPEG. LATEX — наиболее популярный набор макрорасширений к TeX, который облегчает набор сложных документов. Mac (Apple Macintosh) — линейка персональных компьютеров, спроектированных, разработанных, производимых и продаваемых фирмой "Apple Computer" Mac OS X (Мак ОС десять) — операционная система фирмы Apple Computer, закрытый вариант BSD-UNIX университета Беркли, выпускается для компьютеров Macintosh (Макинтош) на базе процессоров PowerPC и Intel. MCrypt - свободно распространяемая, криптографическая библиотека. mcrypt - расширение PHP для доступа к функциям библиотеки MCrypt. my.cnf - см. Конфигурационный файл MySQL. my.ini - см. Конфигурационный файл MySQL. MIME (Multipurpose Internet Mail Extensions) — стандарт, описывающий передачу различных типов данных по электронной почте. module - вид расширения возможностей веб-сервера Apache. MySQL — свободно распространяемая система управления базами данных (СУБД). mysqli - расшинение PHP для полноценного доступа к функциональным возможностям MySQL версии 4.1 и выше. mysql - расшинение PHP для доступа к MySQL. OpenDocument - открытый стандарт для документов и офисных приложений. OS X - см. Mac OS X. Path disclosure (раскрытие местонахождения файла) - уязвимость, позволяющая несанкционированным способом вызвать сообщение об ошибке PHP, содержащее полный путь к директории. PDF (аббревиатура от англ. Portable Document Format, произносится пи-ди-эф) платформонезависимый формат электронных документов, созданный фирмой Adobe Systems с использованием ряда возможностей PostScript. PEAR (акроним от английских слов PHP Extension and Application Repository) — это библиотека классов PHP с открытым исходным кодом. PCRE (аббревиатура от англ. Perl Compatible Regular Expressions - "Perlсовместимые регулярные выражения") - функции Perl-совместимых регулярных выражений в PHP. PHP (аббревиатура от англ. PHP: Hypertext Preprocessor) — скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. RFC (англ. Request for Comments - "запрос комментариев") — документ из серии пронумерованных информационных документов Интернета, содержащих технические спецификации и Стандарты, широко применяемые во Всемирной сети. RFC 1952 - спецификация Формата файла GZIP версии 4.3 Root (в контексте MySQL) - привилегированный пользователь, имеющий доступ ко всем функциям базы данных. Учетная запись root должна использоваться исключительно в административных целях. SSL (англ. Secure Sockets Layer — протокол защищённых сокетов) — криптографический протокол, обеспечивающий безопасную передачу данных по сети Интернет. SQL (англ. Structured Query Language — язык структурированных запросов) — универсальный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. tar (англ. tape archive) — формат битового потока или файла архива, а также название традиционной для Unix программы для работы с такими архивами. TCP (англ. Transmission Control Protocol — протокол управления передачей) — один из основных сетевых протоколов Internet, предназначенный для управления передачей данных в сетях TCP/IP. UFPDF - Unicode/UTF-8 расширение для FPDF URL (англ. Uniform Resource Locator) - это адрес страницы в интернете. URL состоит из доменного имени, пути к странице на сайте и имени файла страницы. XML (Extensible Markup Language) (англ. eXtensible Markup Language — расширяемый язык разметки) — рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XSS - см. Межсайтовый скриптинг. ZIP - популярный формат сжатия данных и архивации файлов. zlib - бесплатная кроссплатформенная библиотека для сжатия данных, созданная Жан-лу Галли (фр. Jean-loup Gailly) и Марком Адлером (англ. Mark Adler). База данных (database) - централизованное хранилище данных, обеспечивающее хранение, доступ, первичную обработку и поиск информации. БД - см. "База данных". Браузер (броузер) - это программное обеспечение для просмотра вебсайтов, то есть для запроса вебстраниц из Паутины, для их обработки и вывода, и для реализации перехода от одной страницы к другой. Вебсервер (Webserver) — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTMLстраницей, изображением, файлом, медиа-потоком или другими данными. Внешний ключ (англ. foreign key) - поле таблицы предназначенное для хранения значения первичного ключа таблицы, связанной с данной (внешней) таблицей. Имя хоста (анг. "hostname") - уникальное имя по которому подключенное к сети устройство может быть узнано в данной сети. Индекс (англ. index) - объект базы данных, создаваемый с целью повышения производительности выполнения запросов. Интернет-провайдер (Internet service provider, ISP) — организация, предоставляющая услуги доступа к Интернету и иные связанные с Интернетом услуги. Клиент (client) — это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу. Ключ (key) - см. index. Конфигурационный файл MySQL - файл, применяющийся для записи и хранения параметров программ MySQL, что исключает необходимость ввода этих параметров в командной строке при каждом вызове программы. В зависимости от версии ОС файл может называться my.ini или my.cnf. Куки (от англ. cookies — домашнее печенье) - небольшой фрагмент служебной информации, помещаемый веб-сервером на компьютер пользователя. Межсайтовый скриптинг (Cross site scripting или XSS) - это возможность вставки HTML кода в уязвимую страницу. Инъекция кода осуществляется через все доступные способы ввода информации. Успешное завершение атаки может привести к использованию значений различных переменных, доступных в контексте сайта, записи информации, перехвату пользовательских сессий и т.д. Отложенная вставка (INSERT DELAYED) - впервые появилась в MySQL 3.22.15 и применимо только к таблицам ISAM и MyISAM. При определении ключевого слова DELAYED строки помещаются в очередь для более поздней вставки, и оператор завершает своё выполнение. Благодаря этому клиент может продолжить свою работу. Использование INSERT DELAYED хороший способ "ускорения" скрипта, т.к. вставка данных будет выполнена только тогда, когда она не приведет к замедлению работы сервера. Однако, нужно быть внимательным, т.к. в этом случае функция LAST_INSERT_ID() не возвратит значение AUTO_INCREMENT для столбца AUTO_INCREMENT Поле (field) - строка в таблице с данными. Синоним термина реляционной базы данных "кортеж". Порт (port) - параметр протоколов TCP и UDP, определяющий пункт назначения для данных, принимаемых по сети. Сервер (англ. server от англ. to serve — служить) — в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные функции по запросу клиента, предоставляя ему доступ к определённым ресурсам. Словарь данных (Data Dictionary) - отведенное место в базе данных, которое используется для хранения информации о самой базе данных. Словарь данных может содержать информацию: об архитектуре базы данных, о хранимых процедурах, о пользовательских привилегиях, и др. Сокеты (socket) - название программного интерфейса для обеспечения информационного обмена между процессами. Столбец (column) - это часть данных определённого типа, единого для всех полей таблицы. Синоним термина реляционной базы данных "атрибут". Строка (Row) - см. Поле. Таблица (table) - набор элементов данных организованных, определённых и сохранённых в виде горизонтальных строк и вертикальных столбцов, где каждый элемент может быть идентифицирован по его имени, ключу или позиции по отношению к другим элементам. Тип таблицы (table type) - см. Типы хранилищ Типы хранилищ (Storage Engines) - обработчики для различных типов таблиц. Хост (анг. "host") - любое устройство, предоставляющее сервисы формата "клиентсервер" в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах.