微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用Visual Studio无WebMatrix在IIS Express上启用PHP

|| 我正在使用主要是.NET的Web应用程序,但是其中一部分是用PHP编写的。在我的开发环境中,IIS Express是我的首选Web服务器,因此,我希望在此环境中使PHP和.NET一起工作。 首次尝试:将PHP脚本放入网站,然后将其加载到浏览器中。结果为
HTTP Error 404.21 - Not Found
,其中包含以下建议:      安装PHP并正确配置处理程序。   为此网站安装并启用PHP。   如果您使用的是WebMatrix,请按照以下步骤启用PHP:      在WebMatrix中打开网站。   选择站点工作区,然后单击设置。   选中“启用PHP”复选框以安装并启用PHP。       不使用WebMatrix,这对我没有任何帮助。然后,我将深入研究与IIS Express和PHP在Google上相关的所有内容。根据我的阅读,它应该是可行的,但是我发现的关于该主题的所有内容似乎都假设我的IDE是WebMatrix。不是。 有谁知道是否可以在IIS Express上进行安装并将其配置为与基于Visual Studio的网站一起使用而无需安装WebMatrix?如果是,怎么办?     

解决方法

IIS Express支持不带Web矩阵的PHP。您可以仅安装IIS Express,并使它与Visual Studio一起使用。为此,您需要Visual Studio 2010 SP1。 从以下链接下载IIS Express:Internet信息服务(IIS)7.5 Express 在Visual Studio中,将WebSite / WebApplication项目配置为使用IIS Express。看一下该线程如何配置网站项目以使用IIS Express? 要在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项目     ,另一个选择是使用Web平台安装程序。 打开Web平台安装程序(可以从http://go.microsoft.com/fwlink/?LinkId=255386下载) 搜索IIS Express的PHP 点击安装 Web Platform Installer将为您安装PHP并配置IIS Express。     ,较新版本的Visual Studio维护IIS Express配置文件“ applicationhost.config \”的单独副本。在线大多数说明都向您展示了如何定位主applicationhost.config文件,该文件无效,因为VS2017维护一个单独的副本,并在启动IIS express时使用该副本。为了在这种情况下启用PHP,我必须编辑VS2017的私有副本。 先决条件-使用Web平台安装程序安装PHP。 (对于IIS Express,您不需要一个,而只需常规的PHP下载。)您可以使用x86或x64。这会将PHP安装到C:\\ Program Files \\或C:\\ Program Files(x86)\\中,具体取决于您选择的哪个。您也可以从他们的网站上获取PHP。 找到您的项目的applicationhost.config。它位于隐藏的.vs子文件夹中。例如C:\\ MyProject \\。vs \\ applicationhost.config 在命令窗口中运行以下命令,用路径代替项目文件夹和安装的PHP二进制文件。 \“ C:\\ Program Files(x86)\\ IIS Express \\ appcmd.exe \”设置配置/section:system.webServer/fastCGI / + [fullPath = \'\“ C:\\ Program Files(x86) \\ PHP \\ {{您的PHP版本}} \\ php-cgi.exe \“ \'] / apphostconfig:\” C:\\ {{您的项目}} \\。vs \\ config \\ applicationhost。配置\” \“ C:\\ Program Files(x86)\\ IIS Express \\ appcmd.exe \”设置配置/section:system.webServer/handlers /+[name=\'PHP_via_FastCGI\',path=\'*.php \',verb = \'* \',modules = \'FastCgiModule \',scriptProcessor = \'\“ C:\\ Program Files(x86)\\ PHP \\ {{YOUR PHP VERSION}} \\ php- cgi.exe \“ \',resourceType = \'Unspecified \'] / apphostconfig:\” C:\\ {{您的项目}} \\。vs \\ config \\ applicationhost.config \“ 或者,您可以简单地在文本编辑器中编辑项目的applicationhost.config并添加以下部分。 system.webServer / fastCGI
<fastCgi>
    <application fullPath=\"C:\\Program Files (x86)\\PHP\\v7.1\\php-cgi.exe\" />
</fastCgi>
system.webServer /处理程序
<add name=\"PHP_via_FastCGI\" path=\"*.php\" verb=\"*\" modules=\"FastCgiModule\" scriptProcessor=\"C:\\Program Files (x86)\\PHP\\v7.1\\php-cgi.exe\" resourceType=\"Unspecified\" />
需要明确的是,除非您正在执行高级操作(例如在Visual Studio外部启动IIS Express),否则编辑IIS Express \\ AppServer \\ applicationhost.config或%appdata%文件夹中的文件夹将无济于事。     ,如果您通过Visual Studio运行IIS,则需要使用php处理程序更新解决方案目录中的.vs \\ config \\ applicationhost.config。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。