win2003 IIS6.0配置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语言。另外还需要把“脚本引擎”和“检查文件是否存在”选中。如下图:

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

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

 

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

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

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

我的环境是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用户 设置权限为:只读就可以了.

时间: 2024-09-14 23:34:04

win2003 IIS6.0配置php环境未加载php5isapi.dll解决办法的相关文章

无法加载php_curl.dll解决办法_win服务器

可是启动Apache的时候还是提示无法加载php_curl.dll这个文件,而且ext这个目录下面也有php_curl.dll这个文件,可是为什么就是找不到呢,真是百思不得其解. 然后就上google上去查,网上的资料都是说extension_dir的路径没有配置或是没有打开extension=php_curl.dll,可问题是我已经把前面的分号给去掉了. 后来看到一篇文章,问题终于解决了:原因是并不是所有的dll文件直接打开就可以了,有的是要依赖一些文件的,比如这个php_curl.dll就依

Apache启动时无法加载php5apache2_2.dll解决办法

安装环境 在Windows 2003(32位)中安装wampserver之后无法启动.查看错误是无法加载php模块: 12 The Apache service named  reported the following error: >>> httpd.exe: Syntax error on line 127 of E:/wamp/bin/apache/apache2.2.22/conf/httpd.conf: Cannot load E:/wamp/bin/php/php5.3.1

win7/8系统中php5.3和5.4、5.5不能加载php_curl.dll解决办法

最近分别在WIN7和Windows8 上分别安装php 高版本!都遇到了这个问题! 一.win7系统32位, apache2.2, php5.2升级到5.4. 这个比较容易: 1. phpinfo发现没有加载curl; 2. 在php.ini中设置extension_dir 指向e:\php5.4\ext; 部分php扩展加载了, 但curl仍不行. 3. 设置windows系统环境变量, phpext, 指向e:\php5.4\ext, PHPRC 指向e:\php5.4 设置path环境变量

ASP.net无法加载oci.dll解决新法

 最近突然发现运行程序时会出现:无法加载oci.dll 的错误,上网找了好久,总算解决了.下面把方法分享给大家.     看老师们在一台新虚拟机上迁移一个ASP.net与ORACLE的程序,一直出现oci.dll无法加载的问题,用regsvr32注册,提示:   代码如下: oci.dll was loaded,but the DLLRegisterServer entry point was not found.   研究了很久,什么目录权限啊,注册表啊,都没有见效. 最终无奈之下把oracl

win2003 IIS6,能访问html页 但是不能访问aspx页解决办法汇总_win服务器

全是网上资料,放一起,方便查找. 描述下目前遇到的问题: win2003 sp2 系统.装上IIS6后,html正常访问,但是aspx页就是访问不了,日志文件也不做任何问题的记录.  万般无奈,能找到的办法都上了.目前只剩最后2个解决办法: 1.下载一个SP2系统iso,提取里面的 i386再装一次IIS,如果不行只能采取第二种方法了 2.换个盘重装系统.然后继续...  -------------------------------------- 已经解决.采用的上面第一次方法,下载wIN20

在MTS使用ODP读写Oracle是出现错误:无法加载 OraMTS 的解决办法

oracle|错误|加载|解决 在Oracle数据库的机器上操作:1.根据KB 193893, 在Oracle里面建立两个视图,请使用SYS账号.   脚本的默认路径在:oracle\ora92\rdbms\admin\xaview2.建立两个视图以后,需要给这两个新建立的视图添加Public权限:   SQL>grant select on v$xatrans$ to public with grant option;    SQL>grant select on v$pending_xat

ASP.net无法加载oci.dll解决新法_实用技巧

看老师们在一台新虚拟机上迁移一个ASP.net与ORACLE的程序,一直出现oci.dll无法加载的问题,用regsvr32注册,提示: 复制代码 代码如下: oci.dll was loaded,but the DLLRegisterServer entry point was not found. 研究了很久,什么目录权限啊,注册表啊,都没有见效. 最终无奈之下把oraclient8.dll,orasql9.dll,oci.dll拷贝到System32解决问题. 复制代码 代码如下: [HK

Javascript加载速度慢解决办法

通常我们的网站里面会加载一些js代码,统计啊,google广告啊,百度同盟啊,阿里妈妈广告代码啊,一堆,最后弄得页面加载速度很慢,很慢. 解决办法:换一个js包含的方式,让javascript加载速度倍增. 把通常加载方式:  代码如下 复制代码 <script src="xxxx.js"></script> 改变成:  代码如下 复制代码  <script type="text/javascript">  document.wr

php中不能加载php_mysql.dll、php_mysqli.dll解决方法

今天启动php环境时,发现mysql模块功能不能使用,网站返回500错误.查看了下apache下错误日志.发现下面一段错误信息: PHP Warning: PHP Startup: Unable to load dynamic library 'D:/wwwserver/php/ext//php_mysql.dll' - /xd5/xd2/xb2/xbb/xb5/xbd/xd6/xb8/xb6/xa8/xb5/xc4/xc4/xa3/xbf/xe9/xa1/xa3/r/n in Unknown