功能特点
PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页。当一个访问者打开主页时,服务端便执行PHP的命令并将执行结果发送至访问者的浏览器中,这类似于ASP和CoildFusion,然而PHP和他们不同之处在于PHP开放源码和跨越平台,PHP可以运行在WINDOWSNT和多种版本的UNIX上。它不需要任何预先处理而快速反馈结果,它也不需要mod_perl的调整来使您的服务器的内存映象减小。PHP消耗的资源较少,当PHP作为ApacheWeb服务器一部分时,运行代码不需要调用外部二进制程序,服务器不需要承担任何额外的负担。
除了能够操作您的页面外,PHP还能发送HIIP的标题。您可以设置cookie,管理数字签名和重定向用户,而且它提供了极好的连通性到其它数据库(还有ODBC),集成各种外部库来做用PDF文档解析XML的任何事情。
phpMyAdmin是一个用PHP编写的软件工具,可以通过web方式控制和操作MySQL数据库。通过phpMyAdmin可以完全对数据库进行操作,例如建立、复制和删除数据等等。如果使用合适的工具,MySQL数据库的管理就会变得相当简单。应用MySQL命令行方式需要对MySQL知识非常熟悉,对SQL语言也是同样的道理。不仅如此,如果数据库的访问量很大,列表中数据的读取就会相当困难。
当前出现很多GUIMySQL客户程序,其中最为出色的是基于Web的phpMyAdmin工具。这是一种MySQL数据库前台的基于PHP的工具。
PhpMyAdmin的缺点是必须安装在Web服务器中,所以如果没有合适的访问权限,其它用户有可能损害到SQL数据。
最新版本
1、4.2.3
2、v4.0.9
3、v3.5.8.2
配置详解
几乎所有的配置参数都在config.inc.php文件中。如果这个文件不存在,可以在libraries目录中找到config.default.php,将它复制到phpmyadmin目录,并改名为config.inc.php。
涉及到界面设计(例如颜色)的参数,存放在themes/themename/layout.inc.php文件中。也可以创建config.footer.inc.php文件和 config.header.inc.php文件来添加站点的自定义代码,这些代码显示在页眉和页脚。
$cfg[PmaAbsoluteUri]字符串
这里填写phpMyAdmin安装目录的完整URL(包括完整的路径)
注意,在某些浏览器,URL是大小写敏感的。不要忘记结尾处的反斜杠。从2.3.0版本开始,可以尝试不填这个参数。phpMyAdmin可以自动检测到正确的配置。使用端口转向的用户必须填写PmaAbsoluteUri(如果服务器在防火墙后面,phpMyAdmin将无法加载图形和样式表)。
检测方法是浏览一个表,编辑一条记录并保存,如果phpMyAdmin无法检测正确的值,系统将会有错误提示。
如果看到错误提示,必须手工设置这个参数。
$cfg[PmaNoRelation_DisableWarning]
从2.3.0版本开始,phpMyAdmin提供了对主/外部数据表的支持(参考$cfg['Servers'][$i]['pmadb']参数)。
如果不能使用这些功能,请查阅某个数据库的“Structure”页面。那里会有一个连接,它会分析这些功能被禁止的原因。
如果不想使用这些功能,将这个参数设置为TRUE,这个信息将不会显示。
$cfg[blowfish_secret]字符串
从2.5.2版本开始,“cookie”认证方式使用blowfish算法来加密密码。如果使用“cookie”认证方式,请在这里输入一个随机密钥,该密钥在blowfish算法内部使用:
在使用过程中不会提示输入它。密钥最大长度为46个字符。
$cfg[Servers]数组
从1.4.2版本开始,phpMyAdmin可以管理多个MySQL服务器。
因此,加入了$cfg['Servers']参数,这是一个数组,包括了不同服务器的登录信息。
第一个$cfg['Servers'][$i]['host']参数是第一个服务器的主机名,
第二个$cfg['Servers'][$i]['host']参数是第二个服务器的主机名,依此类推。
在libraries/config.default.php文件里,只有第一个服务器的定义,
不过仍然可以在config.inc.php自己添加更多的服务器,
复制整个块,或者需要的部分(不需要定义所有的值,只需要那些修改过的参数)。
$cfg['Servers'][$i]['host']字符串
第i个服务器的主机名或者IP地址,例如localhost。
$cfg['Servers'][$i]['port']字符串
如果主机名是“localhost”,MySQL将无视端口号,以socket方式连接。
所以,如果需要连接一个不同的端口号,请在$cfg['Servers'][$i]['host']填写“127.0.0.1”或者真实的主机名。
$cfg['Servers'][$i]['socket']字符串
socket路径。不填为默认值。
$cfg['Servers'][$i]['connect_type']字符串
与MySQL服务器的连接方式,可以选择“socket”或者“tcp”。
默认为“tcp”,这种方式几乎可以连接所有的MySQL服务器,而sockets方式不支持某些平台。
要使用socket方式,MySQL服务器必须和Web服务器在用一台服务器。
$cfg['Servers'][$i]['extension']字符串
phpMyAdmin系统使用的phpMySQL扩展:
mysql:经典的MySQL扩展。默认值并推荐MySQL4.0用户使用。
mysqli:改进的MySQL扩展。包含在php5.0.0以上版本中,推荐MySQL4.1.0以上版本用户使用。
$cfg['Servers'][$i]['compress']布尔
是否使用压缩协议来连接MySQL服务器。
本功能需要PHP4.3.0以上版本。
$cfg['Servers'][$i]['controluser']字符串
$cfg['Servers'][$i]['controlpass']字符串
这个特殊账户有2个特殊作用:是的某些相关功能可用(参考$cfg['Servers'][$i]['pmadb']参数);
在低于4.1.2版本,或者“--skip-show-database”参数打开的MySQL服务器上,打开多用户功能(需要http或者cookie认证模式)。
如果使用HTTP或者cookie认证模式(或在phpMyAdmin2.2.1以上版本使用“config”认证模式),
需要设立一个MySQL账户,该账户只有以下表的SELECT权限:
mysql.user表(除了“Password”字段的所有字段),
mysql.db表(所有字段),
mysql.tables_priv表(除了“Grantor”和“Timestamp”字段的所有字段)。
这个账户用于检测登录用户可以看到的数据库。
请查阅文档的安装章节的"Usingauthenticationmodes"获取更多信息。
在2.2.5版本之前的phpMyAdmin,这对参数叫做"stduser/stdpass"。
$cfg['Servers'][$i]['auth_type']字符串['http'|'cookie'|'config']
选择config、cookie或者http认证。
*'config'认证($auth_type='config')是最简单的模式,用户名和密码存储在config.inc.php文件里;
*'cookie'认证模式($auth_type='cookie')2.2.3以上版本允许通过cookie,以任何合法的MySQL用户登录。
用户名和密码存储在cookie中,注销后将删除密码。也可以登录任意的服务器(需要打开$cfg['AllowArbitraryServer']参数)。
*'http'认证(在老版本叫做'advanced')($auth_type='http')1.3.0以上版本允许您通过HTTP-Auth,以任何有效的MySQL用户登录。
请查阅文档的安装章节的"Usingauthenticationmodes"获取更多信息。
$cfg['Servers'][$i]['user']字符串
$cfg['Servers'][$i]['password']字符串
如果auth_type='config',phpMyAdmin将使用这个账户来连接MySQL服务器。
如果您使用HTTP或者cookie认证,请不要填写这个账户。
$cfg['Servers'][$i]['only_db']字符串或数组
如果填写了某个(或者某组)数据库,那么登录用户将只看到这个(或这些)数据库。
从phpMyAdmin2.2.1开始,数据库名可以使用MySQL通配符("_"和"%"):
请用斜杠区分这两个符号,例如,应当使用'my/_db'而不是'my_db'。
本功能可以有效降低服务器负载,MySQL服务器将不会建立可用数据库的列表。
但本功能不会复盖MySQL服务器的权限规则,
设置本参数,仅仅表示只显示这些数据库,并不是所有显示出来的数据库都能被访问。
多个数据库的例子
代码
$cfg['Servers'][$i]['only_db']=array('db1','db2');
从phpMyAdmin2.5.5开始,数组中的顺序将被用来作为页面左边帧的数据库显示顺序。因此,可以自己排列数据库。
如果只希望在列表开头显示某几个数据库,而不管其他的,那么,不需要指定所有的数据库。
只需要填写:
代码
$cfg['Servers'][$i]['only_db']=array('db3','db4','*');
phpMyAdmin将把db3和db4显示在开头,其他的按照默认顺序排列。
$cfg['Servers'][$i]['hide_db']字符串
用于隐藏某些数据库的正则表达式。这些数据库只是不显示在列表中,用户仍然可以访问他们。
$cfg['Servers'][$i]['verbose']字符串
只有当多服务器模式时有效。设置以后,本字符串将代替主机名显示在首页的下拉菜单中。
$cfg['Servers'][$i]['pmadb']字符串
包含连接表结构的数据库名称。
详细情况请查阅文档的Linked-tablesinfrastructure章节。
如果是phpMyAdmin的唯一用户,可以使用当前的数据库来存储这些特殊的数据,填写当前数据库名即可。
如果的phpMyAdmin配置为多个用户使用,在这里填写包含连接表结构的中心数据库名称。
$cfg['Servers'][$i]['bookmarktable']字符串
从2.2.0版本开始,phpMyAdmin允许将经常使用的查询存储在书签中。
打开本功能的方法:*设置pmadb以及连接表结构*在$cfg['Servers'][$i]['bookmarktable']处填写表名。