前些天为了这个windows2003+iis6.O+SQLserver2000的平台配置伤透了脑筋,这个配置在下实在不敢恭维,非常麻烦,服务器被人黑掉了,修复了还就才搞明白怎么回事,下面细细说来:
windows2003+iis6.O下配置php
一.php的安装
(1).下载“PHP 5.2.5 zip ”或者是5.0几5.1几都一样。然后解压缩下载到的 zip 文件到C:/PHP下(可以根据不同的需要解压到不同的目录,不过不熟悉的默认即可,占用不了多大的空间)。
(2)复制 c:/php/php5ts.dll ,php5isapi.dll ,php_gd2.dll ,php_mbstring.dll ,php_mssql.dll 到 c:/windows/system32下。
(3)复制 c:/php/php.ini-recommended(或者是php.ini-dist)本人使用的是php.ini-recommended为 c:/windows/php.ini然后打开 c:/windows/php.ini,修改如下几个地方:
;extension=php_gd2.dll
;extension=php_mssql.dll
;extension=php_mbstring.dll
前面的;去掉变为
extension=php_gd2.dll
extension=php_mssql.dll
extension=php_mbstring.dll
由于我程序中使用了<? ?>短标记,所以我打开了允许使用短标记
修改short_open_tag = Off为short_open_tag = On
; 如果使用默认的 4096,那么 PHP 在 IIS6 里面性能将非常糟糕,修改
output_buffering = On
display_errors = On(这里是修改php的错误提示,off为不提示,有些数据库链接非错误信息也会被php当做错误信息输出,建议用作web服务器的关闭!如果调试程序时打开还是很有必要的,哈哈~)
; 指示 PHP 扩展库所在文件夹
extension_dir="C:/PHP/ext"(这儿在php5中为ext文件夹,不同的版本不一样,即放置dll文件的文件夹)
以下两个是超时时间:一般60-120
max_execution_time = 90
max_input_time = 90
post_max_size = 8M(6-10M最佳)
upload_max_filesize = 8M(上传附件大小最大)
default_socket_timeout = 90(端口时间60-120)
session.gc_maxlifetime = 3600(session默认存活时间,秒)
保存修改。
二、在 IIS 中配置 PHP
1、首先通过“管理您的服务器”向导中的“添加或删除角色”功能将IIS安装好。在Windows Server 2003里面,IIS被称为“应用程序服务器”。安装时如果需要,可以选中ASP.NET等选项。不过就算没选中,以后也可以很方便启用的。
2、 在“管理您的服务器”向导中,点击“管理此应用程序服务器”连接,打开“应用程序服务器”管理窗口。然后从左侧依次选中“Internet 信息服务(IIS)管理器->本地计算机->Web 服务扩展”。接着选中右边任意一个项目。点击“添加一个新的Web服务扩展”连接。
输入扩展名,并点击“添加”按钮将 C:/WINDOWS/system32/php5isapi.dll文件添加到列表中。注意是 php5isapi.dll,不是 php5ts.dll。最后选中“设置扩展状态为允许”,并点击“确定”按钮关闭对话框。现在应该在“Web 服务扩展”列表中可以看到刚刚添加的项目了。
3、从“应用程序服务器”管理窗口左侧依次选中“Internet 信息服务(IIS)管理器->网站”。然后在“默认网站”项目上或者自己新建了一个网站(5.网站重新生成一个,属性上配置好,权限什么的设置好(主机头:为jctz.*****.gov.cn也就是去掉http://)单击鼠标右键选择“属性”,打开“默认网站属性”对话框。切换到“主目录”选项卡,点击“配置”按钮,打开“应用程序配置”对话框。再点击“添加”按钮,打开“添加/编辑应用程序扩展名映射”对话框。
点击“浏览”按钮,选中 C:/WINDOWS/system32/php5isapi.dll。最后一路“确定”返回“默认网站属性”对话框。
4、切换到“文档”选项卡,点击“添加”按钮将 index.html 和 index.php 添加到默认内容文档列表中。最后确认关闭对话框。
5、网站安全性去掉继承windows集成身份验证
6、ISAPI筛选器添加,筛选器名称为php,可执行浏览文件选中C:/WINDOWS/system32/php5isapi.dll,确定即可。
7、网站右键权限,对于Users给与完全控制为允许。
8、记得重启IIS,OK!
9、测试,在网站根目录,也就是你新建网站时主目录的位置,新建一个info.php文件
<?php
phpinfo();
?>
重启IIS,在浏览器器输入192.168.0.1/info.php,192.168.0.1为你的网站ip地址或者域名,能够成功看到php的配置的信息就ok了。
最后如果你的sqlserver没有打过sql-sp4补丁的话记得一定要先打上补丁哦,最后确认你的C:/PHP下和C:/WINDOWS/syetem32下的ntwdblid.dll的版本都为2000.80.2039.0,因为这个版本php5才能够成功访问sqlserver数据库,版本2000.2.8.0支持sqlserver7.0,不打补丁php不会成功访问mssql的哦~
还原sqlserver备份的数据库后记得删除以前的用户,然后在安全里新建一个登录用户,然后在还原的数据库上新建一个用户,授权给他public和db_owner,然后选择权限,对于数据库中的表给select,delete,update,insert,dir,order,可能是大写的意思一样,勾选就可以了。