4

我在我的 Windows Server 2012 机器上遇到了 IIS 8.0 的权限问题,因此我决定删除并重新添加该角色以尝试修复它。

这似乎解决了我的权限问题,但现在我的 PHP 不能工作了!尝试访问.php文件时出现此错误

HTTP 错误 404.3 - 未找到

由于扩展配置,无法提供您请求的页面。如果页面是脚本,则添加处理程序。如果应该下载文件,请添加 MIME 映射。

显然,我需要在这里做的是向我的 php 安装文件夹中的一个文件添加一个处理程序(我使用 web 应用程序管理器安装),但我不知道我从哪里添加一个处理程序?我知道从哪里添加 MIME 映射,但显然这并不能解决这个问题。

更新:所以我遵循了将我链接到 PHP 站点的答案之一,遵循了它所说的内容,这似乎已经修复了 PHP 没有运行问题,但现在这打开了一个全新的蠕虫罐头。我也一样Access is denied。一如既往的错误!即使我将文件扩展名更改为 .html,我的网站似乎也没有指向默认文档,就像我访问 www.mysite.co.uk 时一样,我收到错误消息,但如果我访问 www.mysite.co。 uk/index.php,它工作正常!我的默认文档中有一个 index.php 条目和一个 index.html,在 PHP 安装后似乎都没有工作

对根目录的权限完全控制管理员、我的用户帐户、“网络服务”和“系统”,请注意,如果不将“连接为”选项设置为我的用户帐户,我根本无法让该站点正常工作和密码,这就是它用来访问文件的方法。

4

1 回答 1

8

我认为这可能会对您有所帮助;

http://php.net/manual/en/install.windows.iis7.php

它说对于 iis7 及更高版本,如果不起作用,请告诉我,我会更深入地挖掘。

过程是;

1 - 在 php.ini 中配置 CGI 和 FastCGI 设置,例如

Fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo = 1
cgi.force_redirect = 0

2 - 然后在 Windows的开始菜单下输入inetmgr进入运行。

3 - 在连接树中打开的窗口中选择服务器节点。

4 - 在称为功能视图的中央窗格中,打开处理程序映射功能。

5 - 在操作窗格中单击 **Add Module Mapping..."

6 - 使用这些细节填空;

Request path: *.php
Module: FastCgiModule
Executable: C:\[path to php install]\php-cgi.exe
Name: PHP_via_FastCGI

7 - 单击请求限制,然后将映射配置为仅在请求映射到文件或文件夹时才调用处理程序。

8 - 在所有对话框上单击确定以保存配置。

顶部的链接提供了有关配置示例以及如何从命令行执行此操作的更多信息。完成后,您应该重新启动 IIS。

于 2013-11-11T13:55:34.180 回答