我所做的操作包括:
1) IIS设置: 设置ISAPI筛选器/设置主目录中的.php映射/执行权限为纯脚本/WEB服务扩展中对PHP的允许/默认首页/
2) 环境变量设置: 添加了path和PHPRC
3) php.ini的设置,设置了session,upload,extension 等的目录位置,和log文件,里面那些扩展我暂时都没有开启,我想先安装好基本的,再去开启. 根据官方帮助文件,php5并不需要把c:\php\php.ini文件复制到c:\windows\目录,因为我设置了环境变量并重新启动服务器了.但是我由于一直装不上去也复制了一份过去.
4) 设置了允许IIS用户访问PHP的文件夹和php程序的文件夹.
后来由于怀疑php5有bug有重新试了php-4.4.9 仍然是同样的问题,非常的头疼,请问什么原因啊?
22 个解决方案
#1
3) php.ini的设置,设置了session,upload,extension 等的目录位置,和log文件,里面那些扩展我暂时都没有开启,我想先安装好基本的,再去开启. 根据官方帮助文件,php5并不需要把c:\php\php.ini文件复制到c:\windows\目录,因为我设置了环境变量并重新启动服务器了.但是我由于一直装不上去也复制了一份过去.
应该要考进去的!
你试试...
应该要考进去的!
你试试...
#2
我安装了一整天了,当然也把c:\php\php.ini复制到c:\windows\目录试过了,并且某些人说要把php.ini,php.exe,php-win.exe这三个文件也复制到c:\windows\我也照做了,把C:\php\ext\php_gd2.dll 复制到 c:\windows\system32\我也做了,因为我只允许了这个扩展,别的dll文件我不想复制. 提示的错误始终如下
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
我觉得这和IIS的设置有关,前两天突然发现exe文件也是不能访问,出现同样的错误,我原来在网站属性--主目录--执行权限中设置的是"脚本和可执行文件",后来改为了"纯脚本"就可以了,而这个php我是没搞懂是怎么回事,不知道应该怎样设置,无论怎样设置我都试了,都不行.
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
我觉得这和IIS的设置有关,前两天突然发现exe文件也是不能访问,出现同样的错误,我原来在网站属性--主目录--执行权限中设置的是"脚本和可执行文件",后来改为了"纯脚本"就可以了,而这个php我是没搞懂是怎么回事,不知道应该怎样设置,无论怎样设置我都试了,都不行.
#3
能否执行.HTML
你最好GOOGLE(HTTP 错误 404 )一下你的报错!
你最好GOOGLE(HTTP 错误 404 )一下你的报错!
#4
当然能执行啦,其他类型的文件当然都能执行,例如gif,txt,htm等,就是一访问php文件就出现错误,如果设置网站属性--主目录--执行权限中设置的是"脚本和可执行文件",那么访问.php文件出错,其他类型文件则正常,访问.php文件出现的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
如果设置网站属性--主目录--执行权限中设置的是"脚本和可执行文件",那么访问.php文件和.exe文件两种类型都出错,其他类型文件正常,访问.php文件的错误信息如下:
系统找不到指定的路径。
访问.exe 文件的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
如果设置网站属性--主目录--执行权限中设置的是"脚本和可执行文件",那么访问.php文件和.exe文件两种类型都出错,其他类型文件正常,访问.php文件的错误信息如下:
系统找不到指定的路径。
访问.exe 文件的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
#5
不好意思刚刚楼上的回复写错了,应该是
当然能执行啦,其他类型的文件当然都能执行,例如gif,txt,htm等,就是一访问php文件就出现错误,如果设置网站属性--主目录--执行权限中设置的是"纯脚本",那么访问.php文件出错,其他类型文件则正常,访问.php文件出现的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
如果设置网站属性--主目录--执行权限中设置的是"脚本和可执行文件",那么访问.php文件和.exe文件两种类型都出错,其他类型文件正常,访问.php文件的错误信息如下:
系统找不到指定的路径。
访问.exe 文件的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
当然能执行啦,其他类型的文件当然都能执行,例如gif,txt,htm等,就是一访问php文件就出现错误,如果设置网站属性--主目录--执行权限中设置的是"纯脚本",那么访问.php文件出错,其他类型文件则正常,访问.php文件出现的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
如果设置网站属性--主目录--执行权限中设置的是"脚本和可执行文件",那么访问.php文件和.exe文件两种类型都出错,其他类型文件正常,访问.php文件的错误信息如下:
系统找不到指定的路径。
访问.exe 文件的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
#6
个人感觉和IIS的设置有关,应该不是php的设置问题了.根据一些提示信息,我查阅了微软关于ISAPI的说明,觉得IIS6和IIS5差别很大,但是看不太明白 文章网址是 http://support.microsoft.com/kb/311852/zh-cn
另外补充一下,我看网上关于php安装的,都讲的不太完整,例如IIS站点中应该要 "允许脚本资源访问",这在创建站点的时候就要设置,这一点基本没人提及,但是对于不懂PHP的人来说,不说明这一点,是无论如何也安装不起来的.现在就是很多不懂PHP的人需要去安装一些网上的论坛和网店程序,才来安装这个的.
已经两天了,我的php还是没有安装起来,头疼啊.
另外补充一下,我看网上关于php安装的,都讲的不太完整,例如IIS站点中应该要 "允许脚本资源访问",这在创建站点的时候就要设置,这一点基本没人提及,但是对于不懂PHP的人来说,不说明这一点,是无论如何也安装不起来的.现在就是很多不懂PHP的人需要去安装一些网上的论坛和网店程序,才来安装这个的.
已经两天了,我的php还是没有安装起来,头疼啊.
#7
LZ不会那么衰吧?
我在Vista下IIS7里安装PHP也都是很快就好了。
看了你的描述,方方面面你应该考虑的不少了。我也说不出别的什么,随便说说:
1. 你的PHP代码给一点看看?哪怕是
也不能正常运行吗?
2. 你的Windows2003有没有防火墙?有没有允许80端口?
3. 你怎么访问你的html文件和PHP文件的?
4. 你确定你的IIS站点配好了吗?站点的目录结构和你硬盘目录结构是如何匹配的?
……
暂时先想到了这么多……等你的回复……
我在Vista下IIS7里安装PHP也都是很快就好了。
看了你的描述,方方面面你应该考虑的不少了。我也说不出别的什么,随便说说:
1. 你的PHP代码给一点看看?哪怕是
<?php
phpinfo();
?>
也不能正常运行吗?
2. 你的Windows2003有没有防火墙?有没有允许80端口?
3. 你怎么访问你的html文件和PHP文件的?
4. 你确定你的IIS站点配好了吗?站点的目录结构和你硬盘目录结构是如何匹配的?
……
暂时先想到了这么多……等你的回复……
#8
IIS站点当然配置好了,否则怎么能访问其他文件呢,现在只是不能访问php文件,其他文件都可以访问.并且这个服务器是运行很多网站的,运行好几年了.
我访问的程序都是最简单最基本的确php文件,绝对没问题.例如hello world , phpinfo,手工在上面创建了这两个文件.
防火墙那应该是没有关系的,如果80端口被限制了,那么我应该什么都访问不到,而不仅仅是php文件不能访问,再说了,如果是防火墙也不是这样的提示了.
我访问的程序都是最简单最基本的确php文件,绝对没问题.例如hello world , phpinfo,手工在上面创建了这两个文件.
防火墙那应该是没有关系的,如果80端口被限制了,那么我应该什么都访问不到,而不仅仅是php文件不能访问,再说了,如果是防火墙也不是这样的提示了.
#9
由于手工安装总是不成功,我又尝试用install的方式安装php,安装时选择了isapi的模式,发现自动安装就是多了个修改注册表,但是少了哪个设置ISAPI筛选器的.我又手工添加上去. 另外网站我重新创建了一个,并且设置了IIS用户的访问权限. 结果信息差不多,文字略有不同,如下
最可能的原因是:
在地址中可能存在键入错误。
当您点击某个链接时,它可能已过期。
您可以尝试以下操作:
重新键入地址。
返回到上一页。
转至 主站点 并查找您想要的信息。
更多信息
此错误(HTTP 404 未找到)意味着 Internet Explorer 可以连接到该网站,但是找不到您想要的页面。该网页可能是暂时不可用。或者,该网站可能已更改或已删除该网页。
有关 HTTP 错误的详细信息,请参阅帮助。
最可能的原因是:
在地址中可能存在键入错误。
当您点击某个链接时,它可能已过期。
您可以尝试以下操作:
重新键入地址。
返回到上一页。
转至 主站点 并查找您想要的信息。
更多信息
此错误(HTTP 404 未找到)意味着 Internet Explorer 可以连接到该网站,但是找不到您想要的页面。该网页可能是暂时不可用。或者,该网站可能已更改或已删除该网页。
有关 HTTP 错误的详细信息,请参阅帮助。
#10
由于之前说的比较零散,现在把问题重新整理完整说一次.
我在windows xp IIS5.1下轻易成功安装php5.26 但是一到了windows 2003 II6下就无法安装成功,各种htm,gif文件都能访问,就是php文件访问不了,提示的错误信息如下:
最可能的原因是:
在地址中可能存在键入错误。
当您点击某个链接时,它可能已过期。
您可以尝试以下操作:
重新键入地址。
返回到上一页。
转至 主站点 并查找您想要的信息。
更多信息
此错误(HTTP 404 未找到)意味着 Internet Explorer 可以连接到该网站,但是找不到您想要的页面。该网页可能是暂时不可用。或者,该网站可能已更改或已删除该网页。
有关 HTTP 错误的详细信息,请参阅帮助。
按理说IIS6是增加了安全性,需要在web服务扩展那里也设置允许PHP运行,而IIS5则不需要,除了这个差别之外,还有什么差别吗?我查阅了网上很多的资料说明,包括官方网站的详细的安装说明,都大同小异,就是搞不定.
我所做的操作包括:
1) IIS设置: 设置ISAPI筛选器/设置主目录中的.php映射/执行权限为纯脚本/WEB服务扩展中对PHP的允许(这步在IIS5中不需要做)/默认首页/ 除了以上通常的设置之外,我还IIS---本地计算机---MIME类型中添加了.php类型,这个是在网上都没有提到,但是我通过查询微软的404错误意识到这里也应该设置,否则是不会支持php文件的. 我确认设置完之后重新启动IIS显示php的ISAPI筛选器显示绿色并提示加载成功.
2) 环境变量设置: 添加了path和PHPRC 并且重新启动了服务器.
3) php.ini的设置,设置了session,upload,extension,doc_root 等的参数,并且检查创建了对应的目录,和log文件,里面那些扩展我暂时都没有开启,我想先安装好基本的,再去开启. 根据官方帮助文件,php5并不需要把c:\php\php.ini和其他dll文件复制到windows目录,即使如此,我还是复制了一个php.ini到c:\windows
4) 设置了允许IIS用户(IIS_WPG 和Internet 来宾帐户)访问c:\PHP的文件夹和php程序的文件夹,其中session目录设置了写权限,
后来由于怀疑php5有bug又重新试了php-4.4.9 仍然是同样的问题,非常的头疼,请问什么原因啊? 根据种种迹象,我判断应该是IIS的设置问题,但是就是不知道究竟什么原因,网上有很多人也问到同样的问题,但是看起来都没有确切的答案.
我的测试文件是两个php文件,和几个htm文件和gif文件,php文件代码分别是
<?PHP
echo "hello, world\n";
?>
和
<?
phpinfo();
?>
经过以上方式的反复折腾了一天之后,我决定不用手工配置的方式,下载了一个php的install文件,结果发现这个install就是多了一个写注册表,还少了一个添加ISAPI筛选器,还得手工去加.
现在已经是第二天了,仍然搞不定,有点绝望,现在寄希望于用CGI方式而不是ISAPI方式再装一个晚上试一下,但是我想并没有把握,因为这个IIS的设置问题,可能仍然会发生同样的情况,因为我认为php的设置不太可能有问题.
我也不会考虑apache + php的方案,因为我这个服务器上已经有很多的IIS的网站了,不能再另外装apache了,只有一个80端口可用.
我还有另外一个疑问, doc_root 这个究竟应该怎样处理? 官方文档看不明白是什么意思? http://www.php.net/manual/en/ini.core.php#ini.doc-root 而从另外一个网站上看(http://john.parnefjord.se/node/42),则说如果是虚拟主机就不要设置这个,我这个windows 2003确实是虚拟主机,这也是是和XP那台机器不同之处,我在XP那台机器上能够安装成功,在这里却安装不成功,会不会和这个有关呢? 但是我无论是设置doc_root 还是把它注释掉,都没有任何效果.
附: 网上也有问和我类似问题的,列举几个如下:
http://www.discuz.net/viewthread.php?tid=264364
http://blog.miawork.com/?p=434
我在windows xp IIS5.1下轻易成功安装php5.26 但是一到了windows 2003 II6下就无法安装成功,各种htm,gif文件都能访问,就是php文件访问不了,提示的错误信息如下:
最可能的原因是:
在地址中可能存在键入错误。
当您点击某个链接时,它可能已过期。
您可以尝试以下操作:
重新键入地址。
返回到上一页。
转至 主站点 并查找您想要的信息。
更多信息
此错误(HTTP 404 未找到)意味着 Internet Explorer 可以连接到该网站,但是找不到您想要的页面。该网页可能是暂时不可用。或者,该网站可能已更改或已删除该网页。
有关 HTTP 错误的详细信息,请参阅帮助。
按理说IIS6是增加了安全性,需要在web服务扩展那里也设置允许PHP运行,而IIS5则不需要,除了这个差别之外,还有什么差别吗?我查阅了网上很多的资料说明,包括官方网站的详细的安装说明,都大同小异,就是搞不定.
我所做的操作包括:
1) IIS设置: 设置ISAPI筛选器/设置主目录中的.php映射/执行权限为纯脚本/WEB服务扩展中对PHP的允许(这步在IIS5中不需要做)/默认首页/ 除了以上通常的设置之外,我还IIS---本地计算机---MIME类型中添加了.php类型,这个是在网上都没有提到,但是我通过查询微软的404错误意识到这里也应该设置,否则是不会支持php文件的. 我确认设置完之后重新启动IIS显示php的ISAPI筛选器显示绿色并提示加载成功.
2) 环境变量设置: 添加了path和PHPRC 并且重新启动了服务器.
3) php.ini的设置,设置了session,upload,extension,doc_root 等的参数,并且检查创建了对应的目录,和log文件,里面那些扩展我暂时都没有开启,我想先安装好基本的,再去开启. 根据官方帮助文件,php5并不需要把c:\php\php.ini和其他dll文件复制到windows目录,即使如此,我还是复制了一个php.ini到c:\windows
4) 设置了允许IIS用户(IIS_WPG 和Internet 来宾帐户)访问c:\PHP的文件夹和php程序的文件夹,其中session目录设置了写权限,
后来由于怀疑php5有bug又重新试了php-4.4.9 仍然是同样的问题,非常的头疼,请问什么原因啊? 根据种种迹象,我判断应该是IIS的设置问题,但是就是不知道究竟什么原因,网上有很多人也问到同样的问题,但是看起来都没有确切的答案.
我的测试文件是两个php文件,和几个htm文件和gif文件,php文件代码分别是
<?PHP
echo "hello, world\n";
?>
和
<?
phpinfo();
?>
经过以上方式的反复折腾了一天之后,我决定不用手工配置的方式,下载了一个php的install文件,结果发现这个install就是多了一个写注册表,还少了一个添加ISAPI筛选器,还得手工去加.
现在已经是第二天了,仍然搞不定,有点绝望,现在寄希望于用CGI方式而不是ISAPI方式再装一个晚上试一下,但是我想并没有把握,因为这个IIS的设置问题,可能仍然会发生同样的情况,因为我认为php的设置不太可能有问题.
我也不会考虑apache + php的方案,因为我这个服务器上已经有很多的IIS的网站了,不能再另外装apache了,只有一个80端口可用.
我还有另外一个疑问, doc_root 这个究竟应该怎样处理? 官方文档看不明白是什么意思? http://www.php.net/manual/en/ini.core.php#ini.doc-root 而从另外一个网站上看(http://john.parnefjord.se/node/42),则说如果是虚拟主机就不要设置这个,我这个windows 2003确实是虚拟主机,这也是是和XP那台机器不同之处,我在XP那台机器上能够安装成功,在这里却安装不成功,会不会和这个有关呢? 但是我无论是设置doc_root 还是把它注释掉,都没有任何效果.
附: 网上也有问和我类似问题的,列举几个如下:
http://www.discuz.net/viewthread.php?tid=264364
http://blog.miawork.com/?p=434
#11
我看了一下,能不能把你的PHP文件修改一下:
<?php
phpinfo();
?>
5.2.6缺省是不支持短php标记的。
另外,根据我的经验,doc_root不需要管……
另外,PHP.INI中有这么一段:
[code=INIFile]
; cgi.force_redirect is necessary to provide security running PHP as a CGI under
; most web servers. Left undefined, PHP turns this on by default. You can
; turn it off here AT YOUR OWN RISK
; **You CAN safely turn this off for IIS, in fact, you MUST.**
; cgi.force_redirect = 1[/code]
#12
楼上的兄弟,我哪个php代码是没有问题的,我是从已经安装好的windows xp copy过去的,并且中间有反复copy回来测试过的.而且,如果是php代码的问题,会在我设置的哪个log文件中有报错的,如果是代码问题,哪个网页也不会提示404错误的.现在的问题是,php是加载了,但是没有执行,可能和权限有关,但是不知道原因究竟在哪里.
至于哪个 INIFile code 我也看了,应该是和CGI模式有关,但是我安装的是ISAPI模式,还没有试哪个CGI模式的安装方法,应该也没有什么关系的.
至于哪个 INIFile code 我也看了,应该是和CGI模式有关,但是我安装的是ISAPI模式,还没有试哪个CGI模式的安装方法,应该也没有什么关系的.
#13
怎么没人帮忙啊?
#15
1.建议重新DOWN个IIS6,装上试试
2.出现HTTP 404 未找到原因很多
(最好自己在GOOGLE BAIDU 上面多搜搜)和你出现同样问题的很多,自己好好看下,然后看上面的解决方案自己再试试...
2.出现HTTP 404 未找到原因很多
(最好自己在GOOGLE BAIDU 上面多搜搜)和你出现同样问题的很多,自己好好看下,然后看上面的解决方案自己再试试...
#16
这个我之前已经看过了,并且正是因为看了这里才设置了哪个mime类型的,这我在之前也提到了.
#17
今天又折腾了一早上,更换成fastcgi模式,不用哪个isapi模式了,还是搞不定,同样的错误,非常的绝望,我这台服务器已经运行几年了,不能随意重新安装,东西太多,而且服务器又在电信局. 我估计apache + php应该能搞定,但是我现在的80端口已经被IIS占用,无法在安装apache了,使用其他端口显然不现实,不可能作为网站应用的.
我这台电脑还安装了Resin,听说Resin也支持php了,但是上周已经试过了,仍然搞不定,虽然能运行PHP,但是居然不能支持 Discuz! 我正是要安装这个东西,和另外一个php的商城.
有没有人肯通过QQ远程协助直接帮我设置一下啊?我的QQ 477803038 十分感谢.
我这台电脑还安装了Resin,听说Resin也支持php了,但是上周已经试过了,仍然搞不定,虽然能运行PHP,但是居然不能支持 Discuz! 我正是要安装这个东西,和另外一个php的商城.
有没有人肯通过QQ远程协助直接帮我设置一下啊?我的QQ 477803038 十分感谢.
#18
看看php所在文件夹的操作权限,又没放足权限。实在还是不行的话用apache吧
#19
再帮你顶一下,
等待高手光临...
等待高手光临...
#20
谢谢各位,终于搞定了.TNND! 原来是服务器上RESIN的关系,我哪个Resin和IIS做了绑定,以共用一个端口,Resin也是以ISAPI的方式装上去的. 我查了一下资料,Resin也开始支持PHP了,这就造成了冲突.我把IIS中全局的resin isapi筛选器取消,改为只针对具体的网站,吸取了教训,这个PHP在设置的时候我也只针对具体的网站,而不做全局设置,以免对其他造成影响. 当然,把筛选器的顺序调整一下,让PHP的筛选器优先也可以解决问题,不过我还是把全局的resin isapi取消掉了.
#21
我的开始也是不知道问题出在哪里,根据10楼的提示已经搞定,谢谢!就是剩下的两步,先是修改注册表,再在WEB服务扩展中对PHP的允许,有需要的朋友发个邮件到我的邮箱,我把步骤及文件传给你:acon@tom.com
#22
我也是忙了半天终于解决这个问题了,不知道楼主是不是和我一样的问题,在web服务扩展里面把PHP设置成允许
#1
3) php.ini的设置,设置了session,upload,extension 等的目录位置,和log文件,里面那些扩展我暂时都没有开启,我想先安装好基本的,再去开启. 根据官方帮助文件,php5并不需要把c:\php\php.ini文件复制到c:\windows\目录,因为我设置了环境变量并重新启动服务器了.但是我由于一直装不上去也复制了一份过去.
应该要考进去的!
你试试...
应该要考进去的!
你试试...
#2
我安装了一整天了,当然也把c:\php\php.ini复制到c:\windows\目录试过了,并且某些人说要把php.ini,php.exe,php-win.exe这三个文件也复制到c:\windows\我也照做了,把C:\php\ext\php_gd2.dll 复制到 c:\windows\system32\我也做了,因为我只允许了这个扩展,别的dll文件我不想复制. 提示的错误始终如下
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
我觉得这和IIS的设置有关,前两天突然发现exe文件也是不能访问,出现同样的错误,我原来在网站属性--主目录--执行权限中设置的是"脚本和可执行文件",后来改为了"纯脚本"就可以了,而这个php我是没搞懂是怎么回事,不知道应该怎样设置,无论怎样设置我都试了,都不行.
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
我觉得这和IIS的设置有关,前两天突然发现exe文件也是不能访问,出现同样的错误,我原来在网站属性--主目录--执行权限中设置的是"脚本和可执行文件",后来改为了"纯脚本"就可以了,而这个php我是没搞懂是怎么回事,不知道应该怎样设置,无论怎样设置我都试了,都不行.
#3
能否执行.HTML
你最好GOOGLE(HTTP 错误 404 )一下你的报错!
你最好GOOGLE(HTTP 错误 404 )一下你的报错!
#4
当然能执行啦,其他类型的文件当然都能执行,例如gif,txt,htm等,就是一访问php文件就出现错误,如果设置网站属性--主目录--执行权限中设置的是"脚本和可执行文件",那么访问.php文件出错,其他类型文件则正常,访问.php文件出现的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
如果设置网站属性--主目录--执行权限中设置的是"脚本和可执行文件",那么访问.php文件和.exe文件两种类型都出错,其他类型文件正常,访问.php文件的错误信息如下:
系统找不到指定的路径。
访问.exe 文件的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
如果设置网站属性--主目录--执行权限中设置的是"脚本和可执行文件",那么访问.php文件和.exe文件两种类型都出错,其他类型文件正常,访问.php文件的错误信息如下:
系统找不到指定的路径。
访问.exe 文件的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
#5
不好意思刚刚楼上的回复写错了,应该是
当然能执行啦,其他类型的文件当然都能执行,例如gif,txt,htm等,就是一访问php文件就出现错误,如果设置网站属性--主目录--执行权限中设置的是"纯脚本",那么访问.php文件出错,其他类型文件则正常,访问.php文件出现的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
如果设置网站属性--主目录--执行权限中设置的是"脚本和可执行文件",那么访问.php文件和.exe文件两种类型都出错,其他类型文件正常,访问.php文件的错误信息如下:
系统找不到指定的路径。
访问.exe 文件的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
当然能执行啦,其他类型的文件当然都能执行,例如gif,txt,htm等,就是一访问php文件就出现错误,如果设置网站属性--主目录--执行权限中设置的是"纯脚本",那么访问.php文件出错,其他类型文件则正常,访问.php文件出现的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
如果设置网站属性--主目录--执行权限中设置的是"脚本和可执行文件",那么访问.php文件和.exe文件两种类型都出错,其他类型文件正常,访问.php文件的错误信息如下:
系统找不到指定的路径。
访问.exe 文件的错误信息如下:
HTTP 错误 404 - 文件或目录未找到。
Internet 信息服务 (IIS)
#6
个人感觉和IIS的设置有关,应该不是php的设置问题了.根据一些提示信息,我查阅了微软关于ISAPI的说明,觉得IIS6和IIS5差别很大,但是看不太明白 文章网址是 http://support.microsoft.com/kb/311852/zh-cn
另外补充一下,我看网上关于php安装的,都讲的不太完整,例如IIS站点中应该要 "允许脚本资源访问",这在创建站点的时候就要设置,这一点基本没人提及,但是对于不懂PHP的人来说,不说明这一点,是无论如何也安装不起来的.现在就是很多不懂PHP的人需要去安装一些网上的论坛和网店程序,才来安装这个的.
已经两天了,我的php还是没有安装起来,头疼啊.
另外补充一下,我看网上关于php安装的,都讲的不太完整,例如IIS站点中应该要 "允许脚本资源访问",这在创建站点的时候就要设置,这一点基本没人提及,但是对于不懂PHP的人来说,不说明这一点,是无论如何也安装不起来的.现在就是很多不懂PHP的人需要去安装一些网上的论坛和网店程序,才来安装这个的.
已经两天了,我的php还是没有安装起来,头疼啊.
#7
LZ不会那么衰吧?
我在Vista下IIS7里安装PHP也都是很快就好了。
看了你的描述,方方面面你应该考虑的不少了。我也说不出别的什么,随便说说:
1. 你的PHP代码给一点看看?哪怕是
也不能正常运行吗?
2. 你的Windows2003有没有防火墙?有没有允许80端口?
3. 你怎么访问你的html文件和PHP文件的?
4. 你确定你的IIS站点配好了吗?站点的目录结构和你硬盘目录结构是如何匹配的?
……
暂时先想到了这么多……等你的回复……
我在Vista下IIS7里安装PHP也都是很快就好了。
看了你的描述,方方面面你应该考虑的不少了。我也说不出别的什么,随便说说:
1. 你的PHP代码给一点看看?哪怕是
<?php
phpinfo();
?>
也不能正常运行吗?
2. 你的Windows2003有没有防火墙?有没有允许80端口?
3. 你怎么访问你的html文件和PHP文件的?
4. 你确定你的IIS站点配好了吗?站点的目录结构和你硬盘目录结构是如何匹配的?
……
暂时先想到了这么多……等你的回复……
#8
IIS站点当然配置好了,否则怎么能访问其他文件呢,现在只是不能访问php文件,其他文件都可以访问.并且这个服务器是运行很多网站的,运行好几年了.
我访问的程序都是最简单最基本的确php文件,绝对没问题.例如hello world , phpinfo,手工在上面创建了这两个文件.
防火墙那应该是没有关系的,如果80端口被限制了,那么我应该什么都访问不到,而不仅仅是php文件不能访问,再说了,如果是防火墙也不是这样的提示了.
我访问的程序都是最简单最基本的确php文件,绝对没问题.例如hello world , phpinfo,手工在上面创建了这两个文件.
防火墙那应该是没有关系的,如果80端口被限制了,那么我应该什么都访问不到,而不仅仅是php文件不能访问,再说了,如果是防火墙也不是这样的提示了.
#9
由于手工安装总是不成功,我又尝试用install的方式安装php,安装时选择了isapi的模式,发现自动安装就是多了个修改注册表,但是少了哪个设置ISAPI筛选器的.我又手工添加上去. 另外网站我重新创建了一个,并且设置了IIS用户的访问权限. 结果信息差不多,文字略有不同,如下
最可能的原因是:
在地址中可能存在键入错误。
当您点击某个链接时,它可能已过期。
您可以尝试以下操作:
重新键入地址。
返回到上一页。
转至 主站点 并查找您想要的信息。
更多信息
此错误(HTTP 404 未找到)意味着 Internet Explorer 可以连接到该网站,但是找不到您想要的页面。该网页可能是暂时不可用。或者,该网站可能已更改或已删除该网页。
有关 HTTP 错误的详细信息,请参阅帮助。
最可能的原因是:
在地址中可能存在键入错误。
当您点击某个链接时,它可能已过期。
您可以尝试以下操作:
重新键入地址。
返回到上一页。
转至 主站点 并查找您想要的信息。
更多信息
此错误(HTTP 404 未找到)意味着 Internet Explorer 可以连接到该网站,但是找不到您想要的页面。该网页可能是暂时不可用。或者,该网站可能已更改或已删除该网页。
有关 HTTP 错误的详细信息,请参阅帮助。
#10
由于之前说的比较零散,现在把问题重新整理完整说一次.
我在windows xp IIS5.1下轻易成功安装php5.26 但是一到了windows 2003 II6下就无法安装成功,各种htm,gif文件都能访问,就是php文件访问不了,提示的错误信息如下:
最可能的原因是:
在地址中可能存在键入错误。
当您点击某个链接时,它可能已过期。
您可以尝试以下操作:
重新键入地址。
返回到上一页。
转至 主站点 并查找您想要的信息。
更多信息
此错误(HTTP 404 未找到)意味着 Internet Explorer 可以连接到该网站,但是找不到您想要的页面。该网页可能是暂时不可用。或者,该网站可能已更改或已删除该网页。
有关 HTTP 错误的详细信息,请参阅帮助。
按理说IIS6是增加了安全性,需要在web服务扩展那里也设置允许PHP运行,而IIS5则不需要,除了这个差别之外,还有什么差别吗?我查阅了网上很多的资料说明,包括官方网站的详细的安装说明,都大同小异,就是搞不定.
我所做的操作包括:
1) IIS设置: 设置ISAPI筛选器/设置主目录中的.php映射/执行权限为纯脚本/WEB服务扩展中对PHP的允许(这步在IIS5中不需要做)/默认首页/ 除了以上通常的设置之外,我还IIS---本地计算机---MIME类型中添加了.php类型,这个是在网上都没有提到,但是我通过查询微软的404错误意识到这里也应该设置,否则是不会支持php文件的. 我确认设置完之后重新启动IIS显示php的ISAPI筛选器显示绿色并提示加载成功.
2) 环境变量设置: 添加了path和PHPRC 并且重新启动了服务器.
3) php.ini的设置,设置了session,upload,extension,doc_root 等的参数,并且检查创建了对应的目录,和log文件,里面那些扩展我暂时都没有开启,我想先安装好基本的,再去开启. 根据官方帮助文件,php5并不需要把c:\php\php.ini和其他dll文件复制到windows目录,即使如此,我还是复制了一个php.ini到c:\windows
4) 设置了允许IIS用户(IIS_WPG 和Internet 来宾帐户)访问c:\PHP的文件夹和php程序的文件夹,其中session目录设置了写权限,
后来由于怀疑php5有bug又重新试了php-4.4.9 仍然是同样的问题,非常的头疼,请问什么原因啊? 根据种种迹象,我判断应该是IIS的设置问题,但是就是不知道究竟什么原因,网上有很多人也问到同样的问题,但是看起来都没有确切的答案.
我的测试文件是两个php文件,和几个htm文件和gif文件,php文件代码分别是
<?PHP
echo "hello, world\n";
?>
和
<?
phpinfo();
?>
经过以上方式的反复折腾了一天之后,我决定不用手工配置的方式,下载了一个php的install文件,结果发现这个install就是多了一个写注册表,还少了一个添加ISAPI筛选器,还得手工去加.
现在已经是第二天了,仍然搞不定,有点绝望,现在寄希望于用CGI方式而不是ISAPI方式再装一个晚上试一下,但是我想并没有把握,因为这个IIS的设置问题,可能仍然会发生同样的情况,因为我认为php的设置不太可能有问题.
我也不会考虑apache + php的方案,因为我这个服务器上已经有很多的IIS的网站了,不能再另外装apache了,只有一个80端口可用.
我还有另外一个疑问, doc_root 这个究竟应该怎样处理? 官方文档看不明白是什么意思? http://www.php.net/manual/en/ini.core.php#ini.doc-root 而从另外一个网站上看(http://john.parnefjord.se/node/42),则说如果是虚拟主机就不要设置这个,我这个windows 2003确实是虚拟主机,这也是是和XP那台机器不同之处,我在XP那台机器上能够安装成功,在这里却安装不成功,会不会和这个有关呢? 但是我无论是设置doc_root 还是把它注释掉,都没有任何效果.
附: 网上也有问和我类似问题的,列举几个如下:
http://www.discuz.net/viewthread.php?tid=264364
http://blog.miawork.com/?p=434
我在windows xp IIS5.1下轻易成功安装php5.26 但是一到了windows 2003 II6下就无法安装成功,各种htm,gif文件都能访问,就是php文件访问不了,提示的错误信息如下:
最可能的原因是:
在地址中可能存在键入错误。
当您点击某个链接时,它可能已过期。
您可以尝试以下操作:
重新键入地址。
返回到上一页。
转至 主站点 并查找您想要的信息。
更多信息
此错误(HTTP 404 未找到)意味着 Internet Explorer 可以连接到该网站,但是找不到您想要的页面。该网页可能是暂时不可用。或者,该网站可能已更改或已删除该网页。
有关 HTTP 错误的详细信息,请参阅帮助。
按理说IIS6是增加了安全性,需要在web服务扩展那里也设置允许PHP运行,而IIS5则不需要,除了这个差别之外,还有什么差别吗?我查阅了网上很多的资料说明,包括官方网站的详细的安装说明,都大同小异,就是搞不定.
我所做的操作包括:
1) IIS设置: 设置ISAPI筛选器/设置主目录中的.php映射/执行权限为纯脚本/WEB服务扩展中对PHP的允许(这步在IIS5中不需要做)/默认首页/ 除了以上通常的设置之外,我还IIS---本地计算机---MIME类型中添加了.php类型,这个是在网上都没有提到,但是我通过查询微软的404错误意识到这里也应该设置,否则是不会支持php文件的. 我确认设置完之后重新启动IIS显示php的ISAPI筛选器显示绿色并提示加载成功.
2) 环境变量设置: 添加了path和PHPRC 并且重新启动了服务器.
3) php.ini的设置,设置了session,upload,extension,doc_root 等的参数,并且检查创建了对应的目录,和log文件,里面那些扩展我暂时都没有开启,我想先安装好基本的,再去开启. 根据官方帮助文件,php5并不需要把c:\php\php.ini和其他dll文件复制到windows目录,即使如此,我还是复制了一个php.ini到c:\windows
4) 设置了允许IIS用户(IIS_WPG 和Internet 来宾帐户)访问c:\PHP的文件夹和php程序的文件夹,其中session目录设置了写权限,
后来由于怀疑php5有bug又重新试了php-4.4.9 仍然是同样的问题,非常的头疼,请问什么原因啊? 根据种种迹象,我判断应该是IIS的设置问题,但是就是不知道究竟什么原因,网上有很多人也问到同样的问题,但是看起来都没有确切的答案.
我的测试文件是两个php文件,和几个htm文件和gif文件,php文件代码分别是
<?PHP
echo "hello, world\n";
?>
和
<?
phpinfo();
?>
经过以上方式的反复折腾了一天之后,我决定不用手工配置的方式,下载了一个php的install文件,结果发现这个install就是多了一个写注册表,还少了一个添加ISAPI筛选器,还得手工去加.
现在已经是第二天了,仍然搞不定,有点绝望,现在寄希望于用CGI方式而不是ISAPI方式再装一个晚上试一下,但是我想并没有把握,因为这个IIS的设置问题,可能仍然会发生同样的情况,因为我认为php的设置不太可能有问题.
我也不会考虑apache + php的方案,因为我这个服务器上已经有很多的IIS的网站了,不能再另外装apache了,只有一个80端口可用.
我还有另外一个疑问, doc_root 这个究竟应该怎样处理? 官方文档看不明白是什么意思? http://www.php.net/manual/en/ini.core.php#ini.doc-root 而从另外一个网站上看(http://john.parnefjord.se/node/42),则说如果是虚拟主机就不要设置这个,我这个windows 2003确实是虚拟主机,这也是是和XP那台机器不同之处,我在XP那台机器上能够安装成功,在这里却安装不成功,会不会和这个有关呢? 但是我无论是设置doc_root 还是把它注释掉,都没有任何效果.
附: 网上也有问和我类似问题的,列举几个如下:
http://www.discuz.net/viewthread.php?tid=264364
http://blog.miawork.com/?p=434
#11
我看了一下,能不能把你的PHP文件修改一下:
<?php
phpinfo();
?>
5.2.6缺省是不支持短php标记的。
另外,根据我的经验,doc_root不需要管……
另外,PHP.INI中有这么一段:
[code=INIFile]
; cgi.force_redirect is necessary to provide security running PHP as a CGI under
; most web servers. Left undefined, PHP turns this on by default. You can
; turn it off here AT YOUR OWN RISK
; **You CAN safely turn this off for IIS, in fact, you MUST.**
; cgi.force_redirect = 1[/code]
#12
楼上的兄弟,我哪个php代码是没有问题的,我是从已经安装好的windows xp copy过去的,并且中间有反复copy回来测试过的.而且,如果是php代码的问题,会在我设置的哪个log文件中有报错的,如果是代码问题,哪个网页也不会提示404错误的.现在的问题是,php是加载了,但是没有执行,可能和权限有关,但是不知道原因究竟在哪里.
至于哪个 INIFile code 我也看了,应该是和CGI模式有关,但是我安装的是ISAPI模式,还没有试哪个CGI模式的安装方法,应该也没有什么关系的.
至于哪个 INIFile code 我也看了,应该是和CGI模式有关,但是我安装的是ISAPI模式,还没有试哪个CGI模式的安装方法,应该也没有什么关系的.
#13
怎么没人帮忙啊?
#14
#15
1.建议重新DOWN个IIS6,装上试试
2.出现HTTP 404 未找到原因很多
(最好自己在GOOGLE BAIDU 上面多搜搜)和你出现同样问题的很多,自己好好看下,然后看上面的解决方案自己再试试...
2.出现HTTP 404 未找到原因很多
(最好自己在GOOGLE BAIDU 上面多搜搜)和你出现同样问题的很多,自己好好看下,然后看上面的解决方案自己再试试...
#16
这个我之前已经看过了,并且正是因为看了这里才设置了哪个mime类型的,这我在之前也提到了.
#17
今天又折腾了一早上,更换成fastcgi模式,不用哪个isapi模式了,还是搞不定,同样的错误,非常的绝望,我这台服务器已经运行几年了,不能随意重新安装,东西太多,而且服务器又在电信局. 我估计apache + php应该能搞定,但是我现在的80端口已经被IIS占用,无法在安装apache了,使用其他端口显然不现实,不可能作为网站应用的.
我这台电脑还安装了Resin,听说Resin也支持php了,但是上周已经试过了,仍然搞不定,虽然能运行PHP,但是居然不能支持 Discuz! 我正是要安装这个东西,和另外一个php的商城.
有没有人肯通过QQ远程协助直接帮我设置一下啊?我的QQ 477803038 十分感谢.
我这台电脑还安装了Resin,听说Resin也支持php了,但是上周已经试过了,仍然搞不定,虽然能运行PHP,但是居然不能支持 Discuz! 我正是要安装这个东西,和另外一个php的商城.
有没有人肯通过QQ远程协助直接帮我设置一下啊?我的QQ 477803038 十分感谢.
#18
看看php所在文件夹的操作权限,又没放足权限。实在还是不行的话用apache吧
#19
再帮你顶一下,
等待高手光临...
等待高手光临...
#20
谢谢各位,终于搞定了.TNND! 原来是服务器上RESIN的关系,我哪个Resin和IIS做了绑定,以共用一个端口,Resin也是以ISAPI的方式装上去的. 我查了一下资料,Resin也开始支持PHP了,这就造成了冲突.我把IIS中全局的resin isapi筛选器取消,改为只针对具体的网站,吸取了教训,这个PHP在设置的时候我也只针对具体的网站,而不做全局设置,以免对其他造成影响. 当然,把筛选器的顺序调整一下,让PHP的筛选器优先也可以解决问题,不过我还是把全局的resin isapi取消掉了.
#21
我的开始也是不知道问题出在哪里,根据10楼的提示已经搞定,谢谢!就是剩下的两步,先是修改注册表,再在WEB服务扩展中对PHP的允许,有需要的朋友发个邮件到我的邮箱,我把步骤及文件传给你:acon@tom.com
#22
我也是忙了半天终于解决这个问题了,不知道楼主是不是和我一样的问题,在web服务扩展里面把PHP设置成允许