在为用户提供动态内容方面, PHP 和 MySQL 是一个强大的组合。这些年来,这两项产品已经跨越了它们最初的应用舞台,现在,一些世界上最繁忙的网站也在应用它们。虽然它们当初都是开源软件,只能在UNIX/Linux上运行,但经过相当一段时期的发展,它们已能在Win
在为用户提供动态内容方面,PHP和MySQL是一个强大的组合。这些年来,这两项产品已经跨越了它们最初的应用舞台,现在,一些世界上最繁忙的网站也在应用它们。虽然它们当初都是开源软件,只能在UNIX/Linux上运行,但经过相当一段时期的发展,它们已能在Windows平台上运行。
在本文中,我将逐步为你们说明如何在Windows环境中安装并配置这些产品。对你们中的一些人来说,本文提供的信息可能过于简单,但本文旨在完成文章标题所提出的目标,提供逐步的指导。
这个特殊的软件组合一般被称作WIMP(Windows/IIS/MySQL/PHP),仿效Linux领域内的LAMP(Linux/Apache/MySQL/PHP)。
我的实验室系统运行64位Windows Server 2003企业版。
第一步:在Windows Server 2003 R2系统上安装Application Server角色
为说明这个例子,我将用IIS作为网络服务器。你也可以选择不需要IIS的PHP、MySQL和Apache组合,但在此例中我不会使用它们。
要在系统上安装Application Server角色,点击“开始菜单”,选择“管理服务器”。在管理服务器主窗口中,点击“添加或删除一个角色”选项。(图A)
图A
把Application Server角色安装到服务器上,使它可以做网站的主机
Windows将在服务器上搜索现有的角色,提供一个角色的完整列表以进行安装。(图B)
图B
Application Server角色包括IIS和ASP.net
在服务器角色的安装过程中,系统可能要求你插入Windows Server光盘。所需的文件在光盘1中。
安装完成后,系统会更新管理服务器窗口,以反映所添加的新角色。
第二步:下载PHP和MySQL
这时,服务器已作好支持网页的准备。但由于还没有安装PHP或MySQL,网页还是静态的。在安装PHP和MySQL之前,必须从它们各自的网站下载其Windows版本。
MySQL
首先说明MySQL的安装。到本文发表时止,MySQL 5.1还处于测试阶段,5.0版本已在普遍应用。即使我要在64位的Windows上安装MySQL,我还是要下载它的32位版本。毕竟,PHP也要安装在同一台服务器上,而它在64位的硬件上还不大通用,这意味着还必须使用32位的IIS,所以没有办法完全实现64位。MySQL共有三个版本:精华版、完整版或不需要安装版本。
在本文中,安装精华版即可。在这种情况下,我将下载的文件命名为mysql-essential-5.0.24a-win32.msi,并保存在桌面上。
PHP
为增加网页的动态效果,特别是你希望从MySQL这样的数据库中提取信息的时候,有必要使用PHP之类的语言。PHP有两个不同的版本:4.x系列版本和5.x系列版本。如果你要用到旧网站中的脚本,可能需要使用PHP 4.x系列版本,因为5.x系列版本进行了一些修改。由于我要建立一个全新的网站,所以我使用最新的版本。到本文发表时止,最新版本为5.1.6。
下载文件名为:php-5.1.6-Win32.zip。
第三步:安装MySQL
安装过程相当简单,但我为读者提供安装和配置过程的一屏一屏的指导。
MySQL安装
安装程序的第一个窗口很有代表性,要求您选择希望执行的安装类型。我希望进行典型安装,它将MySQL安装到C:/Program Files (x86)/MySQL/MySQL Server 5.0目录下。在32位的系统中,目标目录为C:/Program Files/MySQL/MySQL Server 5.0。(图C)
图C
您希望执行哪种安装?
我不对概要窗口进行说明。接下来的才是重要步骤。
MySQL配置
安装完成后,立即会启动MySQL配置向导,它问您一些问题,了解您准备如何应用服务器。根据您的回答,MySQL配置向导建立数据库服务器的配置文件,其中包含运行服务器的调整参数。
配置过程的第一步是决定如何配置服务器。您希望系统询问您许多关于服务器应用的问题;还是希望MySQL使用一个预定的配置文件,然后您再手工操作呢?下面我们对这个例子进行详细说明。(图D)
图D
您希望进行详细分析还是只想使用一个预定的配置呢?
为给数据库分配适当的RAM及其它资源,MySQL配置向导问您打算如何应用服务器。(图E)如果您的服务器专用于数据库工作,MySQL将使用尽可能多的RAM与其它资源。因为我的测试服务器既是数据库,又是网络服务器,所以我选择服务机器(Server Machine)。
图E
您将使用哪一种服务器?
另外,配置向导询问另一个问题,这个问题有助于为您提供调整到最佳的系统以实现您的目标。在我的例子中,我选择使用多功能数据库选项(图F),它适合常规使用。
图F
您准备如何使用数据库?
接下来系统请您定义InnoDB tablespace设置。我选择使用默认设置。(图G)
图G
选择InnoDB配置选项
如下面图H所示。接着我们来决定与MySQL数据库建立多少并发连接。不要低估这个数据。如果连接用完了,访问您的网站的其他用户就不能访问数据库。但是,这个数据也不宜过大,因为别的数据库连接也需要其它资源。必须建立一种平衡。
图H
数据库的连接数目是一个重要的资源考虑因素。
我们一般通过TCP/IP访问MySQL数据库。在默认情况下,MySQL使用3306端口进行通信。您可以关闭TCP/IP或修改图I中配置页面上的端口号。在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。
图I
TCP/IP和标准模式配置设置。
下一个窗口我不做过多的说明。(图J)既然我只使用英文,我选择标准字符集。
图J
选择字符集。
在配置向导的下一个窗口中,系统询问你是否希望将MySQL安装为一项Windows服务,以及这项服务是否应随服务器一同启动。另外,还要求你决定是否将MySQL命令添加到Windows路径中。我做出明智选择,让MySQL服务随操作系统一起启动,并选择修改系统路径。(图K)
图K
选择环境选项。
网络服务器和数据库的安全也是重要的因素。同样,你应该为数据库服务器设定一个安全的根密码;如果不是完全必要,禁止远程根访问,并且不要建立匿名账户。(图L)
图L
为数据库服务器提供一些安全伪装。
安全设置是向导中的最后配置项。一旦设置完成,向导准备进行配置,将配置信息写入C:/Program Files [{x86}]/MySQL/MySQL Server 5.0/my.ini文件中,然后启动数据库服务。
现在,你已经建立了一个运行正常的MySQL数据库服务器。现在我们转向PHP。
第四步:安装并配置PHP
这可能是整个过程中最难的部分。让PHP与IIS 6协作有时是一种挑战。下面我将进行完整的说明。
安装PHP
第一个任务是从前面下载的压缩文件中安装PHP。我一般将PHP安装到C:/PHP5文件夹中。在系统中完成以下操作:
不管你信不信,这就是PHP5的整个“安装过程”。现在,进入更难的操作:配置PHP。
配置PHP
需要采取几个步骤使PHP在 Windows下与IIS共同工作。
图M
修改系统路径以包含PHP目录。
配置IIS在32位模式下运行(仅用于64位Windows)
正式的PHP Windows binaries还不能用于64位Windows构架上,但你还是可以在64位Windows上运行它。但要实现这一点,你必须在32位仿真模式下运行IIS 6。在你的Windows服务器中执行以下操作:
配置IIS
PHP配置完成后,在你开始应用它之前,你还必须告诉IIS如何使用这项新服务。否则,试图从IIS服务器中将PHP文件加载到网络浏览器只会得到错误的结果。
有两种方法可在IIS中运行PHP——应用ISAPI,或以CGI扩展名的形式。由于应用ISAPI一般会得到较好的性能,在本文中我们应用此种方法。首先,我们将PHP ISAPI扩展名增加到IIS中。
图N
在C:/PHP5文件夹的php5isapi.dll文件中指定新扩展名。
增加新的扩展名(.php)
图O
PHP扩展名告诉IIS如何处理.php页面请求。
同时,在IIS中,确保你设定了网站许可,以便执行脚本:
图P
在IIS中修改设置以运行脚本。
最后,在IIS中,确保你添加了一个默认的PHP页面,如index.php。这样,用户就不必为网络服务器上的一个特定文件夹指定完整的路径,以及PHP脚本名。相反,如果用户访问一个目录,其中含有一个名为index.php的文件,ISS就会自动加载它。
图Q
如果它上面没有页面存在,就加载目录页面。
测试PHP
现在对PHP进行测试,保证它能够应用IIS实现动态页面。
图R
PHP测试页面中包含一个完整的PHP配置概要。
第五步:测试MySQL网络连接
在检测安装是否成功,你需要一个样本数据库再次进行测试。在本文中,我将使用MySQL命令行工具建立一个小型样本数据库,它的唯一目的在于保证PHP/MySQL连接正常。
要建立这个样本数据库:
1. 首先要建立一个真正的数据库。通过以下命令实现:
mysqladmin -uroot –p******* create sample
注意:如果这里出现错误,确保密码正确(-u参数指定用户名,-p参数是你在MySQL
配置阶段分配的密码。)
2. 现在,继续建立表格并添加一些数据。另外,从命令行中执行下列命令:
接下来,你需要网络服务器下的一个PHP脚本,它能够阅读这个新数据库的内容。如果成功做到这一点,你就拥有了一个运转正常的IIS/PHP/MySQL系统。
$Username = "Webuser";
$Password = "password";
$Database = "sample";
$Hostname = "localhost";
$MySQLConnection = mysql_connect($Hostname, $Username, $Password) or die("Unable to connect to MySQL Database!!");
$MySQLSelectedDB = mysql_select_db($Database, $MySQLConnection) or die("Could not Set the Database!!");
$MySQLRecordSet = mysql_query("SELECT * FROM sample_table");
print "First Name-" . "Middle Name-" . "Last Name
";
while ($MyRow = mysql_fetch_array($MySQLRecordSet, MYSQL_ASSOC))
{
print $MyRow['FirstName'] . "-" . $MyRow['MiddleName'] . "-" . $MyRow['LastName'] . "
";
}
mysql_close($MySQLConnection);
? >
保存这个文件,然后使网络浏览器指向http://{yourserver}/dbtest.php,你将得到类似于下图S的窗口。
图S
如果你看到这三个人名,说明你的配置取得成功。
更好的主意
我从未说安装与配置过程很简单。但是,如果你遵循这些步骤,在较短的时间内你就可以建立一个正常的MySQL/PHP系统。如果你有使这一过程更为简化的说明或建议,我非常乐于接受。如果我收到足够好的建议,我将在另一篇文章中发表。