Jac*_*ume 7 iis php iis-6 php5
我在 Windows Server 2k3 上运行 IIS6,目前已将 PHP 安装为 ISAPI 模块。我们即将将我们的环境升级到 PHP 5.3.0,这让我想知道我是否应该坚持使用 ISAPI 模块,或者是否有理由让 CGI 更适合。
我们的组织有一台网络服务器,不必担心与共享主机相关的安全问题;我们有几个网站,但它们都属于我们。
使用一种方法比另一种方法有优势吗?一个更安全吗?这只是一个偏好问题吗?
编辑:PHP 5.3.0 放弃了对 ISAPI 的支持,因此您需要通过 FastCGI 安装它。来自PHP 迁移指南:
已取消对 ISAPI 模块的支持。请改用改进的 FastCGI SAPI 模块。
我个人发现对于非繁忙的网站(例如平均在 0-25 个用户之间)ISAPI 工作正常,我发现在 ISAPI 上使用 CGI 没有什么好处。
但是,如果您有一个繁忙的网站或不介意在其中投入一些工作,我建议您查看 FastCGI,因为您现在可以在 Win2003 IIS6 上获得它,它在重负载下运行速度要快得多。
http://www.iis.net/extensions/FastCGI
适用于 Windows的非线程安全PHP CGI 二进制文件应该为您提供最大的稳定性、兼容性和性能,因为:
但是,在 IIS 等多线程环境中使用 CGI 二进制文件时,性能和稳定性会受到影响。因此,大多数人已经开始使用相对较新的FastCGI扩展,该扩展可用于 IIS 5.1/IIS 6.0 作为下载并与 IIS7 捆绑在一起。
本指南解释了如何使用 Microsoft 的 FastCGI 扩展安装和配置 PHP CGI。
第二种选择是使用 PHP ISAPI,但一定要 (i) 使用线程安全构建 (ii) 使用稳定且经过测试的扩展——否则 PHP ISAPI 可能会崩溃并关闭 IIS。附带说明一下,PHP 中的胎面安全就像一个始终处于接合状态的手刹;有些人甚至说这是一个神话。
更新:PHP ISAPI 不再发布,所以关于 ISAPI 与 CGI 的问题不再是一个问题。推荐使用 FastCGI。
与 ISAPI 模型相比,CGI 在 IIS 上的性能非常差(因为在 Windows NT 派生的操作系统中创建新进程,这是 CGI 的工作方式,非常“昂贵”)。在现代版本的 IIS 中,ISAPI 的许多“问题”(内存泄漏、需要“回收”应用程序等)都是“固定的”,基于 ISAPI 的应用程序通常工作得很好并且易于管理。您发现的任何理由是:基于 CGI 的应用程序比基于 ISAPI 的应用程序“更好”,很可能是用 IIS 4.0 或 IIS 5.0 时代的思维方式编写的。
归档时间: |
|
查看次数: |
18743 次 |
最近记录: |