IIS+PHP.docx
《IIS+PHP.docx》由会员分享,可在线阅读,更多相关《IIS+PHP.docx(9页珍藏版)》请在冰豆网上搜索。
IIS+PHP
一、环境需求和准备工作:
笔者选择了PHP5.2版本,而IIS则是XP系统自带的IIS5。
首先我们要安装IIS组件,默认情况下在XP系统是没有安装的。
第一步:
通过控制面板的添加/删除Windows组件完成IIS组件的安装工作。
第二步:
在添加/删除Windows组件选项窗口中我们双击Internet信息服务(IIS),然后把里面的包括internet信息服务管理单元,公用文件,万维网服务选中。
(如图1)
图1
第三步:
插入XPSP2系统光盘复制必须文件到本地硬盘,安装完毕后我们可以从“管理工具”中的“internet信息服务”启动IIS程序。
(如图2)
图2
二、安装PHP程序及设置:
安装好IIS后我们就可以发布相应的网站了,但是这时还无法浏览PHP语言建立的页面,我们需要先安装PHP并设置必须的参数。
第一步:
下载PHP主程序,笔者使用的是PHP5.2,解压缩到本地磁盘c盘根目录。
(如图3)
附:
PHP5.2.3下载地址
图3
第二步:
接下来将PHP文件夹中的php.ini-dist复制到C:
\WINDOWS目录下并改名为php.ini,复制php5ts.dll和libmysql.dll两个文件到
C:
\WINDOWS\system32中。
(如图4)
图4
第三步:
为了让PHP支持MYSQL和GD库需要编辑php.ini文件,用记事本打开该文件,查找“extension_dir”,然后把extension_dir="./"修改为extension_dir="C:
\php\ext";另外还需要把“;extension=php_mysql.dll”前的分号去掉,改成extension=php_mysql.dll。
把“;extension=php_gd2.dll”前的分号也去掉,修改为extension=php_gd2.dll。
至此我们的PHP就安装完成了,但是由于默认情况下IIS是不支持PHP的,只能支持ASP。
所以还需要我们像建立CGI那样创建PHP的映射关系。
三、配置IIS的PHP映射:
一般情况下设置某语言或执行程序的映射关系都是通过ISAPI筛选器解决的,PHP也不例外。
第一步:
打开IIS,在默认网站上点右键选择“属性”。
(如图5)
图5
第二步:
找到“主目录”标签,点右下角的“配置”按钮。
(如图6)
图6
第三步:
在“添加和编辑应用程序扩展名映射”窗口中,通过浏览按钮找到c:
\php\php5isapi.dll文件,扩展名输入.php,这样在解析过程中将自动调用php5isapi.dll解释PHP语言。
另外还需要把“脚本引擎”和“检查文件是否存在”选中。
(如图7)
图7
第四步:
返回到默认网站属性窗口的“主目录”标签,将执行权限修改为“脚本和可执行文件”,这样才能够执行PHP程序。
(如图8)
图8
第五步:
来到默认网站属性窗口的“文档”标签,将index.php添加到默认文档列表中。
(如图9)
图9
第六步:
新建立一个TXT文本文件,内容如下。
将其保存成index.php文件并复制到网站发布目录中。
(如图10)
echophpinfo();
?
>
-------------------------------------------------------------------------------------------
bin/mysql–p
按提示输入密码,成功进入mysql命令行之后,输入下面的命令:
USEMeet_A_Geek;
LOADDATAINFILE"/home/mark/data.sql"INTOTABLEOrders;
简单的讲,这样将会把文件data.sql中的内容导入到表Orders中,如mysqlimport工具一样,这个命令也有一些可以选择的参数。
比如您需要把自己的电脑上的数据导入到远程的数据库服务器中,您可以使用下面的命令:
LOADDATALOCALINFILE"C:
\MyDocs\SQL.txt"INTOTABLEOrders;
上面的LOCAL参数表示文件是本地的文件,服务器是您所登陆的服务器。
这样就省去了使用ftp来上传文件到服务器,MySQL替你完成了.
您也可以设置插入语句的优先级,如果您要把它标记为低优先级(LOW_PRIORITY),那么MySQL将会等到没有其他人读这个表的时候,才把插入数据。
可以使用如下的命令:
LOADDATALOW_PRIORITYINFILE"/home/mark/data.sql"INTOTABLEOrders;
您也可以指定是否在插入数据的时候,取代或者忽略文件与数据表中重复的键值。
替代重复的键值的语法:
LOADDATALOW_PRIORITYINFILE"/home/mark/data.sql"REPLACEINTOTABLEOrders;
上面的句子看起来有点笨拙,但却把关键字放在了让您的剖析器可以理解的地方。
下面的一对选项描述了文件的记录格式,这些选项也是在mysqlimport工具中可以用的。
他们在这里看起来有点不同。
首先,要用到FIELDS关键字,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项:
TERMINATEDBYcharacter
ENCLOSEDBYcharacter
ESCAPEDBYcharacter
这些关键字与它们的参数跟mysqlimport中的用法是一样的.The
TERMINATEDBY描述字段的分隔符,默认情况下是tab字符(\t)
ENCLOSEDBY描述的是字段的括起字符。
比方以引号括起每一个字段。
ESCAPEDBY描述的转义字符。
默认的是反些杠(backslash:
\).
下面仍然使用前面的mysqlimport命令的例子,用LOADDATAINFILE语句把同样的文件导入到数据库中:
LOADDATAINFILE"/home/mark/Orders.txt"REPLACEINTOTABLEOrdersFIELDSTERMINATEDBY','
ENCLOSEDBY'"';
LOADDATAINFILE语句中有一个mysqlimport工具中没有特点:
LOADDATAINFILE可以按指定的列把文件导入到数据库中。
当我们要把数据的一部分内容导入的时候,这个特点就很重要。
比方说,我们要从Access数据库升级到MySQL数据库的时候,需要加入一些栏目(列/字段/field)到MySQL数据库中,以适应一些额外的需要。
这个时候,我们的Access数据库中的数据仍然是可用的,但是因为这些数据的栏目(field)与MySQL中的不再匹配,因此而无法再使用mysqlimport工具。
尽管如此,我们仍然可以使用LOADDATAINFILE,下面的例子显示了如何向指定的栏目(field)中导入数据:
LOADDATAINFILE"/home/Order.txt"INTOTABLEOrders(Order_Number,Order_Date,Customer_ID);
图10
第七步:
在IIS中浏览index.php页面文件就能够看出真正的内容了,这说明我们的PHP环境已经搭建成功。
(如图11)
图11
小提示:
如果index.php无法正常显示那么我们再来到默认网站属性中的ISAPI筛选器标签,添加一个名为PHP的筛选器,可执行文件选择c:
\php\php5isapi.dll即可,这样设置后往往可以解决实际问题。
(如图12)
图12
第八步:
当然我们修改设置后需要重新启动IIS或者干脆直接启动计算机即可,重新启动后PHP文件就可以顺利显示了。
重新启动IIS的方法是关闭“IISADMIN”服务或者直接在默认网站上点右键选择“停止”再“启动”。
四、总结:
总体上讲IIS下PHP的运行还是比较稳定的,虽然在执行效率上不如apache与PHP搭配得更如意,但是在企业服务器上必须使用IIS或者多个网站一起通过虚拟目录发布时我们就不得不选择本文介绍的方法来搭建PHP环境了。
另外Apache的最新版本和PHP5也存在一定的兼容问题,直接采用IIS与PHP5搭配更可以减少不必要的兼容问题带来的麻烦。
文章来自:
大学生校园网-VvSchool.CN详文参考: