0

有没有人有幸让 IIRF 与 IIS8 一起工作?

我正在将现有的 PHP Web 应用程序从 IIS 7.5 / Windows Server 2008 R2 服务器迁移到新的 IIS8 / 2012 服务器上。我下载并测试了所有 IIRF 2.x 版本均无济于事。我已经运行了调试诊断,但没有获得有关失败的 w3wp.exe 进程的详细信息。IIRF 日志显示以下异常。

我没有太多的 URL 重写经验,想知道是否应该改用 Internet Server API 的 URL 重写。

错误日志摘录

4 月 15 日星期三 16:11:59 - 3348 - GetServerVariable:获取“SERVER_PORT”

4 月 15 日星期三 16:11:59 - 3348 - GetServerVariable:4 个字节

4 月 15 日星期三 16:11:59 - 3348 - GetServerVariable:结果“443”

4 月 15 日星期三 16:11:59 - 3348 - GetServerVariable:获取“HTTPS”

4 月 15 日星期三 16:11:59 - 3348 - GetServerVariable:3 个字节

4 月 15 日星期三 16:11:59 - 3348 - GetServerVariable:结果“开启”

4 月 15 日星期三 16:11:59 - 3348 - 例外

4 月 15 日星期三 16:11:59 - 3348 - SymInit:符号搜索路径:'C:\inetpub\ISAPI\Ionic Rewrite\2.1.2.0-Release-x64\;.;c:\windows\system32\inetsrv;c: \windows\system32\inetsrv;C:\Windows;C:\Windows\system32;SRV C:\websymbols http://msdl.microsoft.com/download/symbols ;',symOptions:530,用户名:'MyUserNameHere'

4 月 15 日星期三 16:11:59 - 3348 - 操作系统版本:6.3.9600 () 0x110-0x3

4 月 15 日星期三 16:11:59 - 3348 - 堆栈跟踪:

00007FFA846DC579 模块(过滤器):(文件名不可用):RegisterModule

00007FFA8461C579 模块(IIRF):(文件名不可用):Iirf_GetVersion

00007FFA8461C896 模块(IIRF):(文件名不可用):HttpFilterProc

00007FFA846D1B97 模块(过滤器):(文件名不可用):(函数名不可用)

00007FFA846D1EA9 模块(过滤器):(文件名不可用):(函数名不可用)

00007FFA846D1600 模块(过滤器):(文件名不可用):(函数名不可用)

00007FFA86B330A5 模块(iiscore):(文件名不可用):(函数名不可用)

00007FFA86B32908 模块(iiscore):(文件名不可用):(函数名不可用)

00007FFA86B319A6 模块(iiscore):(文件名不可用):(函数名不可用)

00007FFA86B3641C 模块(iiscore):(文件名不可用):(函数名不可用)

00007FFA86B37FD3 模块(iiscore):(文件名不可用):(函数名不可用)

00007FFA86B111A9 模块(w3dt):(文件名不可用):UlAtqSetContextProperty

00007FFA884F20C3 模块(W3TP):(文件名不可用):THREAD_POOL::BindIoCompletionCallback

00007FFA884F1FF3 模块(W3TP):(文件名不可用):THREAD_POOL::BindIoCompletionCallback

00007FFA884F1F7E 模块(W3TP):(文件名不可用):THREAD_POOL::BindIoCompletionCallback

00007FFA936516AD 模块(KERNEL32):(文件名不可用):BaseThreadInitThunk

00007FFA938CE954 模块(ntdll):(文件名不可用):RtlUserThreadStart

00007FFA938CE954 模块(ntdll):(文件名不可用):RtlUserThreadStart

4

2 回答 2

1

我遇到了完全相同的问题,只是从服务器 2008 (IIS 7.5) 移到了 2012 (IIS 8.5),而我通常的 IIRF 版本 2.1.2.0-x64 不起作用,但仅在重定向时,重写似乎起作用。有些人建议回到 v2.0,但我已经这样做了,它根本不起作用,可能是因为它不是 x64 版本。我还尝试了最新的 2.1.2.3-x64 和相同的人,没有重定向。我在这里遇到了一些已修复的问题(https://iirf.codeplex.com/workitem/34722),但不幸的是尚未发布新的 DLL。任何人都可以尝试涉及重新编译然后释放 DLL 的修复程序吗?很多人都会从中受益。谢谢。

-- 编辑 -- (更新)

我刚刚设法让 IIRF 在 IIS8+ 中工作,但只有 IIRF-2.0.1.15 32bit 可以工作,它涉及到通常的安装,然后你必须使用 IIRF 进入站点应用程序池的高级设置并启用 32- Bit Applications = True,这当然是因为 IIRF-2.0.1.15 是 32 位的。不是最好的,但它有效。我正在尝试找到一个固定的 2.1 x64 DLL,当我找到时,我会提供它。谢谢。

于 2015-07-05T16:13:00.050 回答
0

最后,我得到了一个在 IIS8+ 中工作的新版本,我已经在我的网站上提供了它(http://www.nelsonpires.com/web-development/ionics-isapi-rewrite-filter-aka-iirf-for- iis8/ ) 供任何人下载和使用。我已经对其进行了测试并确认它在 IIS8.5 上运行良好。希望这对你也有效。

于 2015-07-06T21:27:00.717 回答