我在windows xp IIS5.1下轻易成功安装php5.26 但是一到了windows 2003 II6下就无法安装成功,按理说IIS6是增加了安全性,需要在web服务扩展那里也设置允许PHP运行,而IIS5则不需要,除了这个差别之外,还有什么差别吗?我查阅了网上很多的资料说明,包括官方网站的详细的安装说明,都大同小异,就是搞不定,国外网站上就有很多人问这个和我一模一样的问题,但是我查不到具体解决方案.我的问题是只要访问php文件,浏览器就提示404错误说找不到文件,其他文件则可以访问.php在IIS中也是呈现绿色显示成功加载. 我怀疑是IIS的问题,但是不知道究竟是什么问题?请高人指点.
我所做的操作包括:
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 仍然是同样的问题,非常的头疼,请问什么原因啊?
我所做的操作包括:
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 仍然是同样的问题,非常的头疼,请问什么原因啊?
应该要考进去的!
你试试...
Internet 信息服务 (IIS)我觉得这和IIS的设置有关,前两天突然发现exe文件也是不能访问,出现同样的错误,我原来在网站属性--主目录--执行权限中设置的是"脚本和可执行文件",后来改为了"纯脚本"就可以了,而这个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)
phpinfo();
?>
也不能正常运行吗?
2. 你的Windows2003有没有防火墙?有没有允许80端口?
3. 你怎么访问你的html文件和PHP文件的?
4. 你确定你的IIS站点配好了吗?站点的目录结构和你硬盘目录结构是如何匹配的?
……
暂时先想到了这么多……等你的回复……
我访问的程序都是最简单最基本的确php文件,绝对没问题.例如hello world , phpinfo,手工在上面创建了这两个文件.
防火墙那应该是没有关系的,如果80端口被限制了,那么我应该什么都访问不到,而不仅仅是php文件不能访问,再说了,如果是防火墙也不是这样的提示了.
最可能的原因是:
在地址中可能存在键入错误。
当您点击某个链接时,它可能已过期。
您可以尝试以下操作:
重新键入地址。
返回到上一页。
转至 主站点 并查找您想要的信息。
更多信息 此错误(HTTP 404 未找到)意味着 Internet Explorer 可以连接到该网站,但是找不到您想要的页面。该网页可能是暂时不可用。或者,该网站可能已更改或已删除该网页。有关 HTTP 错误的详细信息,请参阅帮助。
在地址中可能存在键入错误。
当您点击某个链接时,它可能已过期。 您可以尝试以下操作:
重新键入地址。 返回到上一页。 转至 主站点 并查找您想要的信息。 更多信息 此错误(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
我看了一下,能不能把你的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]
至于哪个 INIFile code 我也看了,应该是和CGI模式有关,但是我安装的是ISAPI模式,还没有试哪个CGI模式的安装方法,应该也没有什么关系的.
去看一下
2.出现HTTP 404 未找到原因很多
(最好自己在GOOGLE BAIDU 上面多搜搜)和你出现同样问题的很多,自己好好看下,然后看上面的解决方案自己再试试...
这个我之前已经看过了,并且正是因为看了这里才设置了哪个mime类型的,这我在之前也提到了.