使用 Visual Studio 在 IIS Express 上启用 PHP(无 WebMatrix)

2022-08-30 22:52:24

我正在开发这个Web应用程序,它主要是.NET,但有一部分是用PHP编写的。在我的开发环境中,IIS Express是我选择的Web服务器,因此我更喜欢在此环境中将PHP和.NET一起工作。

第一次天真的尝试:只需将PHP脚本放入网站,然后将其加载到浏览器中即可。结果是具有以下建议的:HTTP Error 404.21 - Not Found

  • 安装 PHP 并正确配置处理程序。
  • 为此网站安装并启用 PHP。
  • 如果您使用的是 WebMatrix,请按照以下步骤启用 PHP:
    • 在 WebMatrix 中打开网站。
    • 选择“网站”工作区,然后单击“设置”。
    • 选中“启用 PHP”复选框以安装和启用 PHP。

不使用WebMatrix,这对我没有任何帮助。然后,我继续在Google上对与IIS Express和PHP相关的任何内容进行深度搜索。从我所读到的内容来看,这应该是可行的,但是我发现的关于这个主题的所有内容似乎都假设我的IDE是WebMatrix。事实并非如此。

有谁知道是否可以在IIS Express上安装并将其配置为与基于Visual Studio的网站一起使用,而无需安装WebMatrix?如果是,如何?


答案 1

IIS Express 支持没有 Web 矩阵的 PHP。您可以单独安装IIS Express,并使其与Visual Studio一起使用。为此,您需要Visual Studio 2010 SP1。

  1. 从此链接下载 IIS Express:Internet Information Services (IIS) 7.5 Express

  2. 在 Visual Studio 中,将 WebSite/WebApplication 项目配置为使用 IIS Express。看看这个线程 如何配置网站项目以使用 IIS Express?

  3. 若要在 IIS Express 上启用 PHP,请安装 PHP 并更新 applicationhost.config (%userprofile%\documents\iisexpress\config\applicationhost.config)。您可以使用位于 IIS Express 安装文件夹中的 appcmd.exe 版本来执行此操作。有关详细信息,请参阅此链接

如果所有内容都安装在美国英语版本的Windows的默认位置,则命令将为:

"C:\Program Files (x86)\IIS Express\appcmd.exe" set config /section:system.webServer/fastCGI /+[fullPath='"C:\Program Files (x86)\PHP\php-cgi.exe"']
"C:\Program Files (x86)\IIS Express\appcmd.exe" set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='"C:\Program Files (x86)\PHP\php-cgi.exe"',resourceType='Unspecified']

请注意,如果 php-cgi 的完整路径中有空格.exe,则必须将路径括在单引号和双引号中,如上例所示。

最后,如果您没有VS 2010 SP1,也许您应该看看这篇文章:使用IIS Express调试您的.NET Web项目


答案 2

另一种选择是使用 Web 平台安装程序。

Web Platform Installer 将为您安装 PHP 并配置 IIS Express。


推荐