【问题标题】:Running ASP.Net Core and PHP on Azure在 Azure 上运行 ASP.Net Core 和 PHP
【发布时间】:2017-06-05 19:29:36
【问题描述】:

简短:我正在尝试让 PHP 在与 ASP.Net Core 站点相同的站点中运行。

Long:我重新编写了我的网站,以便从 WebForms 网站迁移到 ASP.Net 核心 1.1 网站。我的旧网站同时运行 ASP.NET 和 PHP(我在一个子文件夹下运行了一个 WordPress 实例,该子文件夹用于将博客文章写入 sqlite 数据库,本质上将其用作内容管理部分,并且效果很好4 年)。

我曾希望在 Azure 上使用 ASP.Net Core 做同样的事情,但遇到了问题。我已经发布了该站点,.Net 端启动并运行。但是 PHP 不再起作用(似乎这些文件可能通过 ASP.Net Core 路由?..

在 Azure 中,我使用的是 .Net Framework 4.6 和 PHP 5.6。 “index.php”被设置为默认文档之一。我尝试设置到 php-cgi.exe 的处理程序映射。我在 EventLog 中发现了以下内容,这让我认为文件没有被路由到 PHP:

<Event> <System> <Provider Name="IIS AspNetCore Module"/> <EventID>1000</EventID> <Level>0</Level> <Task>0</Task> <Keywords>Keywords</Keywords> <TimeCreated SystemTime="2017-06-05T18:36:25Z"/> <EventRecordID>426103812</EventRecordID> <Channel>Application</Channel> <Computer>RD0003FF4207D0</Computer> <Security/> </System> <EventData> <Data>Application 'MACHINE/WEBROOT/APPHOST/YOURSITE/BLOG' with physical root 'D:\home\site\wordpress\' failed to start process with commandline '".\yoursite.exe" ', ErrorCode = '0x80070002 : 0.</Data> </EventData> </Event>

注意事项:

  • 我试图将 WordPress 文件从已发布的内容中提取出来,并将其设为虚拟目录(这会导致在引用 PHP 内容时出现 HTTP 错误 502.5 Process Failure)。
  • 我将 WordPress 文件作为子文件夹保留在我的 ASP.Net Core 站点中并重新发布,这些文件似乎通过 ASP.Net Core 路由(当访问 PHP 页面时将我带到 404.. 虽然静态该文件夹中的文件可以参考)。

如何在同一个站点中运行 ASP.Net Core 和 PHP?

【问题讨论】:

    标签: php azure asp.net-core


    【解决方案1】:

    通过执行以下操作设法解决。

    在 /blog 目录中添加 web.config,以删除 aspNetCore 处理程序

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.webServer>    
        <handlers>
          <remove name="aspNetCore"/>
        </handlers>
      </system.webServer>
    </configuration>
    

    【讨论】:

    • 哦,祝福你,你成就了我的一个月!
    【解决方案2】:

    我不是 ASP.Net Core 专家,但我相信虚拟目录是满足您要求的最佳选择。您可以查看以下主题以了解详细信息。

    How can I host a php script on a dotnet core web app hosted at Azure

    Create virtual directory on same azure web app

    【讨论】:

    • 感谢您的回复。我尝试了这两种方法均无济于事。我尝试将 PHP 直接发布到如图所示的虚拟文件夹中(并且发布得很好),但是当从 Web 浏览器调用虚拟目录时,我仍然收到“HTTP 错误 502.5 - 进程失败”。
    猜你喜欢
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 2018-05-19
    • 2019-06-28
    相关资源
    最近更新 更多