如果想要编写访问MySQL数据库的Perl 脚本,应该安装DBI 软件。DBI 要求已经安装过MySQL客户机编程支持环境,因为它要使用MySQLC 客户机库。如果希望编写基于Web 的DBI 脚本,还可以安装CGL.pm 模块。DBI 软件需要Perl 的相当新的版本(5.004 或更新)。如果没有安装Perl,请访问http://www. per l . c o m /,下载Perl 分发包,并在安装DBI 支持环境前安装它。
DBI 支持环境需要三个模块,可从源代码或RPM 文件对它进行安装:
D a t a - D um per 方便地处理Perl 数据结构的模块。
DBI 主DBI 驱动。
Msql-Mysql-modules 连接到MySQL服务器时,DBI 使用的MySQL专用驱动。
如果从源代码进行安装,应该按前面清单中给出的次序安装这个模块。否则,下面安装说明中的测试步骤将会不正常。
所有三个模块的安装都是类似的。在从源代码进行安装时,利用下面的某个命令打开分发包(如果tar 版本不支持非压缩分发包的z 选项,应该使用第二条命令):
% tar zxf dist_file.tar.gz
% gunzip < dist_file.tar.gz | tar xf
然后进入tar 命令创建的分发包目录并运行下列命令(可能需要作为root 运行这些安装步骤):
% perl Makefile.PL
% make
% make test
% make install
如果运行前面Msql-Mysql-modules 分发包的命令,在生成Makefile 时,perl 命令将提出下列问题:
·Which drivers do youwant to install? 存在MySQL和mSQL 的各种组合选择。除非还运行m SQL,否则选择MySQL使其简单化。
·Do youwant to install the MysqlPerl emulation? MysqlPerl 是MySQL的旧Perl 接口,已经作废。除非有旧的MysqlPerl 脚本并希望在DBI 模块中启用仿真支持环境,否则回答为n o。
·Where is your MySQLinstalled?这应该是包含MySQL头文件的祖父目录,大概是/usr/local 或/ us r / l o c a l / mysql,除非将MySQL安装在非标准的位置才不是这样。
·Which database should I use for testing the MySQLdrivers? 缺省为t e s t,除非关闭了对它的匿名访问,否则这样应该可以了。在关闭其匿名访问时,需要给出一个您拥有访问权的数据库名,然后为后面的问题指定一个合法的MySQL用户名和口令。
·On which host is the database running? 如果运行的是一个本地服务器, localhost 就可以了。如果不行,指定一个您拥有访问权的服务器主机。在执行make test 命令时,MySQL服务器必须运行在这个主机上,否则测试将失败。
·User name for connecting to the database?
Password for connecting to the database?
为测试连接到MySQL服务器的所用的用户名和口令。缺省设置时,这两个问题都可以回答un d e f。这样将使驱动作为匿名用户连接。如果需要非匿名连接,可指定非空值。
如果安装Perl 模块有问题,可参阅相应分发包的README 文件以及DBI 邮件清单的邮件存档文件,因为多数安装问题的答案都可从该处找到。
如果希望使用C G I . P M,它可能已经在Perl 安装中给出了。试运行命令perldoc CGI。如果显示CGI 文档,那么CGI 已经安装。否则,取得相应的分发包,按与其他Perl 模块相同的说明打开并安装。
如果为了使用基于Web 的DBI 脚本,希望安装mod_perl Apache 模块,可访问下列位置的Apache Web 站点的mod_perl 区,得到更多的信息:
http://perl.apache.org/
安装PHP 和Apache
按照下面的说明可以开始行动了。如果遇到问题,可查看PHP 分发包所含的I N S TA L L文件的“VERBOSE INSTA L L”一节(阅读该文件是个不坏的主意,它含有大量有用信息)。
这些说明都假定您有一个Apache 源代码分发包可用,而且将作为一个Apache 模块运行PHP。还假定您具有Apache 1.3.9 和PHP 3.0.12,而且位于这样一个目录中,在该目录下可定位含有源代码分发包的apache_1.3.9 和php-3.0.12 目录。如果您拥有不同的版本或位置,在使用下列说明时,应该替换成您的实际版本号和路径名。
要配置和建立PHP,可从下列命令入手(这个过程看上去有点怪,因为要从Apache 分发包开始,但它是对的):
% cd apache_1.3.9
% ./configure
Apache 的configure 命令是必须的,因为PHP 需要的某些头文件是在配置时生成的。如果不在Apache 分发包中运行configure ,PHP 配置过程将不能找到文件。在配置了Apache后,进入PHP 分发包目录,配置PHP,设置它,并安装它。还可以安装PHP 初始化文件的一个拷贝:
PHP 的configure 命令告诉PHP 您想要MySQL支持环境,并指出Apache 源代码位于何处。--enable-track-vars 选项将窗口输入的自动转换转入可从PHP 页内部容易地访问的变量内。make 命令编译和安装PHP。有可能需要作为root 安装初始化文件p h p 3 . i n i。
在作为一个模块建立PHP 时,直接拷贝相应模块到Apache 源代码树来安装它,以便可将它连接进Apache 二进制代码内。在完成后,可按如下编译和安装Apache:
% cd ../apache_1.3.9
% ./configure --activate-module=src/modules/php3/libphp3.a
% make
% make install
这些步骤配置Apache,以便知道PHP 模块文件,然后建立和安装它。应该编辑Apache配置文件h t t p d . c o n f,以便Apache 识别PHP 脚本。PHP 识别是基于PHP 脚本的文件扩展名进行的。例如,如果希望Apache 识别.php 和. p h p 3,在配置文件中放入下面的两行:
AddType application/x-httpd-php3.php
AddType application/x-httpd-php3.php3
所用的后缀依赖于打算怎样命名PHP 脚本。.php 和.php3 可能是最常用的。另一常用的后缀为. p h t m l。如果愿意,可以将它们都启用。如果打算安装从使用这些扩展名的其他人那里得到的页面,最好都启用它们。
还可以告诉Apache 在URL 的结尾处未指定文件名时,将index.php 或index.php3 作为某个目录的缺省文件。您可能会在配置文件中发现如下的行:
DirectoryIndex index.html
将其更改如下:
DirectoryIndex index.html index.php index.php3
在编辑Apache 配置文件后,结束httpd 服务器(如果有一个正在运行),然后启动刚安装的新h t t p d。在许多系统中,下面的命令(以root 执行)完成此工作:
# /usr/local/apache/bin/apachectl stop
# /usr/local/apache/bin/apachectl start
还应该设置Apache 在系统启动和关闭时启动和关闭。相应的说明请参阅Apache 文档。一般情况下,它包括导入时运行apachectl start,以及关闭时运行apachectl stop。