win2003 iis运行php环境,win2003 IIS6.0配置php环境如何加载php5isapi.dll

因为我自己是windows 2003+iis我想在上面可以运行php那我休安装了php环境,然后再加载php5isapi.dll就可以,说起来简单但是不成功,下面看我的解决办法。

首先,从PHP官方网站:http://www.php.net/downloads.php下载PHP压缩包,飘易在写这篇文章的时候,最新版本是PHP 5.2.10。因为是win2003环境,我们下载Windows Binaries下的 “PHP 5.2.10 zip package [10,242Kb]” 即可。下载后,解压缩至 C:php 目录里(新建php目录)。     第二,打开c:php目录,将PHP目录(C:/PHP)下的 php.ini-dist 文件重命名为 php.ini,PHP的配置文件就是它,修改以下几个地方,修改好后把 php.ini 文件复制到 C:WINDOWS 目录里: extension_dir="C:phpext" ,指向php文件夹下放置“php_*.dll”文件的路径。PHP4和PHP5的路径在这里有所区别。

default_charset="gb2312" ,修改默认字符集,这里,如果前面有分号“;”,去掉这个分号;

register_globals=Off 改为 register_globals=On ,使传递全局变量有效;

extension=php_dba.dll 如果前面有分号,取消分号,以下同;

extension=php_dbase.dll

extension=php_gd2.dll  GD库做图,一般用于图形验证码;

extension=php_mysql.dll  用于连接MYSQL数据库;

magic_quotes_gpc = On  如果是 Off,一定要打开为 On,这是防止sql攻击的重要的一步!5.0版本已经默认 On 了。     第三、将PHP目录下的 php5ts.dll 文件拷贝到 C:WINDOWS 下。     第四、配置IIS下PHP扩展,这是重点。 1:打开IIS,在需要支持PHP的网站上点右键选择“属性”。 2:找到“主目录”标签,点击“应用程序设置”里右下角的“配置”按钮。 3:在“应用程序扩展”窗口中,点击“添加”,可执行文件路径 c:/php/php5isapi.dll 文件,扩展名输入 .php,这样在解析过程中将自动调用php5isapi.dll解释PHP语言。另外还需要把“脚本引擎”和“检查文件是否存在”选中。如下图:

a8e54007833a6ba3831150636b711558.png

这里有需要注意的地方,飘易觉得为了安全必须把没必要的扩展全部删掉,只留下必要的扩展名。如果使用mdb数据库即access,需要把mdb后缀的解析到非asp.dll解析的脚本上,如:C:WINDOWSsystem32inetsrvuihelper.dll,具体如下图:

8877f2c8d2eb969842ce4ef695aa7abd.png

4:点击网站属性窗口的“ISAPI筛选器”标签,添加筛选器,筛选器名称:php,可执行文件:C:phpphp5isapi.dll,确定。

c3aace61c999c1e739f4f27561630820.png

10f2e4baab3d2a2693e518f4a1a8e55a.png

5:点击属性窗口中的“文档”,添加index.php,default.php

19b33f0f2da37d615c1900b5e4d014b8.png

6:返回IIS管理器,在“web服务扩展”里添加新的服务扩展,扩展名:php,要求的文件:C:phpphp5isapi.dll,“设置扩展状态为允许”前打钩。

3e5382519de9baf8e7419ea664cb25aa.png

到这里,IIS下配置完毕,重启IIS即可。在网站下新建 index.php ,里面写上一句 <?php  echo phpinfo();?> 即可。打开网站url,看是否正常显示了php的信息,如果正常,说明配置成功。     如果c:/php的目录权限设置过于严格的话,IIS下的php扩展是无法加载成功的,这就需要我们为 c:/php 目录加上 everyone 的 读取和运行、列出文件夹目录、读取权限 即可。

c06c5fbd01fd486fd3c84b276cefa813.png

我的环境是win2003 IIS6.0,php5的目录是D:php;

所碰到两个最难的地方就是:php5isapi.dll未加载和无法正常启动MySQL,现在分享我的解决方案。

【php5isapi.dll未加载】

IIS上设置之后,也开启了WEB服务扩展中的“所有未知的ISAPI扩展”和“Active server pages”两项,但回到ISAPI筛选器中写入的php5isapi.dll要么就是“状态:未知”(无图标),要么就是“状态:未启动”(红色向下箭头图标)。

解决办法:

1.首先确定权限的限制是由两部分造成的:系统文件权限以及服务器扩展权限,首先来到这个ISAPI链接库文件所在的地方,之后给予这个文件EveryOne的完全控制权限(你也可以选择读取+写入+执行的权限组合)。

2.解决服务器扩展权限:来到IIS6.0的“服务器扩展”设置页面,如果你想图省事,可以直接点击“允许所有的未知ISAPI”的按钮,但我并不推荐这样做,这样太不安全了!我们在此应当添加一个新的服务器扩展,扩展名你可以随便填,文件就选择到那个ISAPI链接库文件上,然后勾选“将状态设置为允许”后,保存。

3.为了使设置生效,请重启系统,重启后你的ISAPI扩展就可以正常加载了!

重要要的原因可能是:服务器做了安全设置,把d:php的everyone权限去掉了,IIS自然没法加载php5isapi.dll。

解决办法:d:php目录加上everyone用户 设置权限为:只读就可以了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值