在Windows上配置并整合PHP和MySQL经典教程Word格式.docx
《在Windows上配置并整合PHP和MySQL经典教程Word格式.docx》由会员分享,可在线阅读,更多相关《在Windows上配置并整合PHP和MySQL经典教程Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
MySQL共有三个版本:
精华版、完整版或不需要安装版本。
∙精华版:
精华版是一个旨在满足多数用户需求的MSI安装文件。
∙完整版:
如你所期待的,完整版比精华版包含更多组件,包括一套评测工具。
∙不需安装版:
这个版本与完整版一样,但不包含配置向导或安装器,必须手工进行安装。
在本文中,安装精华版即可。
在这种情况下,我将下载的文件命名为mysql-essential-5.0.24a-win32.msi,并保存在桌面上。
PHP
为增加网页的动态效果,特别是你希望从MySQL这样的数据库中提取信息的时候,有必要使用PHP之类的语言。
PHP有两个不同的版本:
4.x系列版本和5.x系列版本。
如果你要用到旧网站中的脚本,可能需要使用PHP4.x系列版本,因为5.x系列版本进行了一些修改。
由于我要建立一个全新的网站,所以我使用最新的版本。
到本文发表时止,最新版本为5.1.6。
下载文件名为:
php-5.1.6-Win32.zip。
第三步:
安装MySQL
安装过程相当简单,但我为读者提供安装和配置过程的一屏一屏的指导。
MySQL安装
安装程序的第一个窗口很有代表性,要求您选择希望执行的安装类型。
我希望进行典型安装,它将MySQL安装到C:
\ProgramFiles(x86)\MySQL\MySQLServer5.0目录下。
在32位的系统中,目标目录为C:
\ProgramFiles\MySQL\MySQLServer5.0。
(图C)
图C
您希望执行哪种安装?
我不对概要窗口进行说明。
接下来的才是重要步骤。
MySQL配置
安装完成后,立即会启动MySQL配置向导,它问您一些问题,了解您准备如何应用服务器。
根据您的回答,MySQL配置向导建立数据库服务器的配置文件,其中包含运行服务器的调整参数。
配置过程的第一步是决定如何配置服务器。
您希望系统询问您许多关于服务器应用的问题;
还是希望MySQL使用一个预定的配置文件,然后您再手工操作呢?
下面我们对这个例子进行详细说明。
(图D)
图D
您希望进行详细分析还是只想使用一个预定的配置呢?
为给数据库分配适当的RAM及其它资源,MySQL配置向导问您打算如何应用服务器。
(图E)如果您的服务器专用于数据库工作,MySQL将使用尽可能多的RAM与其它资源。
因为我的测试服务器既是数据库,又是网络服务器,所以我选择服务机器(ServerMachine)。
图E
您将使用哪一种服务器?
另外,配置向导询问另一个问题,这个问题有助于为您提供调整到最佳的系统以实现您的目标。
在我的例子中,我选择使用多功能数据库选项(图F),它适合常规使用。
图F
您准备如何使用数据库?
接下来系统请您定义InnoDBtablespace设置。
我选择使用默认设置。
(图G)
图G
选择InnoDB配置选项
如下面图H所示。
接着我们来决定与MySQL数据库建立多少并发连接。
不要低估这个数据。
如果连接用完了,访问您的网站的其他用户就不能访问数据库。
但是,这个数据也不宜过大,因为别的数据库连接也需要其它资源。
必须建立一种平衡。
图H
数据库的连接数目是一个重要的资源考虑因素。
我们一般通过TCP/IP访问MySQL数据库。
在默认情况下,MySQL使用3306端口进行通信。
您可以关闭TCP/IP或修改图I中配置页面上的端口号。
在这个页面上,您还可以选择“启用标准模式”(EnableStrictMode),这样MySQL就不会允许细小的语法错误。
如果您还是个新手,我建议您取消标准模式以减少麻烦。
但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。
图I
TCP/IP和标准模式配置设置。
下一个窗口我不做过多的说明。
(图J)既然我只使用英文,我选择标准字符集。
图J
选择字符集。
在配置向导的下一个窗口中,系统询问你是否希望将MySQL安装为一项Windows服务,以及这项服务是否应随服务器一同启动。
另外,还要求你决定是否将MySQL命令添加到Windows路径中。
我做出明智选择,让MySQL服务随操作系统一起启动,并选择修改系统路径。
(图K)
图K
选择环境选项。
网络服务器和数据库的安全也是重要的因素。
同样,你应该为数据库服务器设定一个安全的根密码;
如果不是完全必要,禁止远程根访问,并且不要建立匿名账户。
(图L)
图L
为数据库服务器提供一些安全伪装。
安全设置是向导中的最后配置项。
一旦设置完成,向导准备进行配置,将配置信息写入C:
\ProgramFiles[{x86}]\MySQL\MySQLServer5.0\my.ini文件中,然后启动数据库服务。
现在,你已经建立了一个运行正常的MySQL数据库服务器。
现在我们转向PHP。
第四步:
安装并配置PHP
这可能是整个过程中最难的部分。
让PHP与IIS6协作有时是一种挑战。
下面我将进行完整的说明。
安装PHP
第一个任务是从前面下载的压缩文件中安装PHP。
我一般将PHP安装到C:
\PHP5文件夹中。
在系统中完成以下操作:
∙在C盘上建立一个叫做PHP5的文件夹。
∙将下载的文件解压到这个位置。
WindowsServer2003R2内置的解压工具能够顺利完成这一任务。
不管你信不信,这就是PHP5的整个“安装过程”。
现在,进入更难的操作:
配置PHP。
配置PHP
需要采取几个步骤使PHP在Windows下与IIS共同工作。
∙在系统的路径变量中增加C:
\PHP5。
(图M)这样,系统能够更方便地定位它所需要的PHPDLL文件。
o选择开始并在我的电脑上右击鼠标。
o在出现的快捷菜单中选择属性。
o在属性窗口中选择高级标签。
o点击环境变量按钮。
o在系统变量列表中双击路径变量。
o在路径变量的末尾增加“;
C:
\PHP”。
(没有引号!
)
o重启服务器。
图M
修改系统路径以包含PHP目录。
∙将C:
\PHP5\php.ini-dist文件复制到C:
\PHP5\php.ini,这是PHP的配置文件。
-dist版本只是一个样本。
∙现在,建立一个名为PHPRC的系统变量,并将它分配到php.ini文件的路径中。
如果你选择这样做,而不是建立一个注册表项来完成同样的任务,必须保证你的PHPRC变量只包含php.ini的路径,而不是路径和php.ini文件名。
∙最后,为使PHP与MySQL共同工作,你必须对c:
\php5\php.ini进行一些修改。
o用你最常用的文本编辑器打开c:
\php5\php.ini。
o找到extension_dir配置选项,保证这一行是:
extension_dir="
./ext"
,它告诉PHP在哪找到其它要加载的模块。
在应用MySQL和PHP时,你至少需要一个模块。
o找到"
;
extension=php_mysql.dll"
这一行,删除前面的分号(;
)。
在php.ini文件中,分号用来注释配置行。
在本例中,我希望反注释加载PHPMySQL模块的行。
o在前面一行的正下方,添加:
"
extension=php_mysqli.dll"
。
这个模块激活新版MySQL的其它一些功能。
∙在命令提示符下输入”iisreset”命令,重新加载带新配置文件的IIS和PHP。
配置IIS在32位模式下运行(仅用于64位Windows)
正式的PHPWindowsbinaries还不能用于64位Windows构架上,但你还是可以在64位Windows上运行它。
但要实现这一点,你必须在32位仿真模式下运行IIS6。
在你的Windows服务器中执行以下操作:
∙进入命令提示符。
∙从命令提示符窗口转入C:
\Inetpub\Adminscripts文件夹。
如果Windows安装在C盘以外的磁盘上,使用相应的盘符。
∙在Adminscripts文件夹中,输入下列命令:
cscriptadsutil.vbssetw3svc/AppPools/Enable32bitAppOnWin641,Enable32bitAppOnWin64的值1告诉Windows在32位模式下运行w3svc,而0值表示64位。
∙输入iisreset。
∙重启服务器。
配置IIS
PHP配置完成后,在你开始应用它之前,你还必须告诉IIS如何使用这项新服务。
否则,试图从IIS服务器中将PHP文件加载到网络浏览器只会得到错误的结果。
有两种方法可在IIS中运行PHP——应用ISAPI,或以CGI扩展名的形式。
由于应用ISAPI一般会得到较好的性能,在本文中我们应用此种方法。
首先,我们将PHPISAPI扩展名增加到IIS中。
∙开始——管理工具——互联网信息服务(IIS)管理器。
∙选择服务器名称——网络服务扩展名。
∙在右方框中,点击“增加一个新的网络服务扩展名…”选项。
∙在结果窗口的“扩展名”中输入“PHPISAPI”。
∙点击“添加”按钮。
∙浏览至C:
\PHP5\php5isapi文件。
∙点击OK。
∙选中“允许设定扩展名状态”复选框。
(图N)
图N
在C:
\PHP5文件夹的php5isapi.dll文件中指定新扩展名。
增加新的扩展名(.php)
∙右击网址,在出现的快捷菜单中选择属性。
∙在属性窗口中,选择“主目录”标签。
∙点击“配置”按钮。
∙在“添加/编辑应用扩展名映射”窗口中,点击运行栏旁的“浏览”按钮并找到C:
\PHP5\php5isapi.dll文件。
∙在扩展名输入框中输入“.php”。
(图O)
∙在动作(Verbs)标题下,选择“仅限于”选项,在文本框中输入“GET、POST、HEAD”.
∙点击OK,返回IIS管理器主窗口。
图O
PHP扩展名告诉IIS如何处理.php页面请求。
同时,在IIS中,确保你设定了网站许可,以便执行脚本:
∙在“应用设置”中,将“执行许可”选项改为“仅用于脚本”。
(图P)
图P
在IIS中修改设置以运行脚本。
最后,在IIS中,确保你添加了一个默认的PHP页面,如index.php。
这样,用户就不必为网络服务器上的一个特定文件夹指定完整的路径,以及PHP脚本名。
相反,如果用户访问一个目录,其中含有一个名为index.php的文件,ISS就会自动加载它。
∙在属性窗口中,选择“文件”标签。
∙在“添加内容页面”窗口中输入“index.php”。
(图Q)
∙再点击OK。
如果你得到一个子节点也受到影响的信息,点击OK。
图Q
如果它上面没有页面存在,就加载目录页面。
测试PHP
现在对PHP进行测试,保证它能够应用IIS实现动态页面。
∙在IIS网络根目录下(一般为C:
\Inetpub\wwwroot)建立一个名为phpinfo.php的文件。
∙在这个文件中,粘贴一行文本:
<
?
phpinfo();
?
>
这实际是一段完整的PHP脚本,用来输出基于PHP的网络服务器的全部配置。
∙现在,在任务机器上访问http:
//{yourserver}/phpinfo.php,或从服务器上访问http:
//127.0.0.1/phpinfo.php。
∙如果出现错误,说明配置有错误。
∙你应该会得到类似于下图的窗口。
(图R)
∙确保在MySQL的phpinfo中有一个板块。
如果没有,返回并保证你正确修改了php.ini文件,使它加载MySQL模块。
图R
PHP测试页面中包含一个完整的PHP配置概要。
第五步:
测试MySQL网络连接
在检测安装是否成功,你需要一个样本数据库再次进行测试。
在本文中,我将使用MySQL命令行工具建立一个小型样本数据库,它的唯一目的在于保证PHP/MySQL连接正常。
要建立这个样本数据库:
1.首先要建立一个真正的数据库。
通过以下命令实现:
mysqladmin-uroot–p*******createsample
注意:
如果这里出现错误,确保密码正确(-u参数指定用户名,-p参数是你在MySQL
配置阶段分配的密码。
)
2.现在,继续建立表格并添加一些数据。
另外,从命令行中执行下列命令:
∙C:
mysql-uroot-p*******sample
这时用前面使用的相同密码替代*。
剩下的步骤在MySQL命令界面中完成。
∙在MySQL提示符下,输入
CREATETABLEsample_table(FirstNamevarchar(30),MiddleNamevarchar(30),LastNamevarchar(30));
mysql>
INSERTintosample_tableValues("
Scott"
"
David"
Lowe"
);
Ralph"
John"
Malph"
∙注意:
上面步骤中的分号极为重要。
∙从网络服务器利用根用户账号访问数据库是一个主要的安全威胁。
所以,你应该为这一目的建立一个单独的账号。
在MySQL界面中输入下列命令:
GRANTALLONsample.*toWebuser@localhostidentifiedby'
password'
∙输入“离开”(quit)退出MySQL界面。
接下来,你需要网络服务器下的一个PHP脚本,它能够阅读这个新数据库的内容。
如果成功做到这一点,你就拥有了一个运转正常的IIS/PHP/MySQL系统。
∙在网络根目录下(一般为C:
\inetpub\wwwroot),建立一个名为dbtest.php的文件。
∙在这个文件中,粘贴下面的PHP代码:
$Username="
Webuser"
$Password="
password"
$Database="
sample"
$Hostname="
localhost"
$MySQLConnection=mysql_connect($Hostname,$Username,$Password)ordie("
UnabletoconnecttoMySQLDatabase!
!
);
$MySQLSelectedDB=mysql_select_db($Database,$MySQLConnection)ordie("
CouldnotSettheDatabase!
$MySQLRecordSet=mysql_query("
SELECT*FROMsample_table"
print"
FirstName-"
."
MiddleName-"
LastName<
br>
while($MyRow=mysql_fetch_array($MySQLRecordSet,MYSQL_ASSOC))
{
print$MyRow['
FirstName'
]."
-"
.$MyRow['
MiddleName'
LastName'
}
mysql_close($MySQLConnection);
>
保存这个文件,然后使网络浏览器指向http:
//{yourserver}/dbtest.php,你将得到类似于下图S的窗口。
图S
如果你看到这三个人名,说明你的配置取得成功。
更好的主意
我从未说安装与配置过程很简单。
但是,如果你遵循这些步骤,在较短的时间内你就可以建立一个正常的MySQL/PHP系统。
如果你有使这一过程更为简化的说明或建议,我非常乐于接受。
如果我收到足够好的建议,我将在另一篇文章中发表。