如何配置Azure Web Apps以支持HTML中的PHP

olg*_*lga 4 html php azure azure-web-sites azure-web-app-service

我是Azure的新手,我正在测试Web Apps服务.
我有一个基本的静态网站,在PHP中有一个简单的联系表单,但它似乎不起作用.
这里阅读Azure文档让我感到比以前更加迷茫.

我做了一些基本测试,似乎Azure Web Apps支持PHP文件,如phptest.php

<?php echo "hello world"; ?>
Run Code Online (Sandbox Code Playgroud)

但是当PHP与HTML集成时失败,如下例所示:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
   <HEAD>   
      <TITLE>Use PHP in HTML files</TITLE>  
   </HEAD>  
   <BODY>       
      <h1>
         <?php echo "It works!"; ?>     
      </h1>
   </BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

有人可以指导我完成这个吗?
我必须在Web App中配置什么?我需要链接任何dll吗?
谢谢!

Chr*_*ann 6

嗯,是的,这应该有效,但联系表格的问题仍然存在.我无法更改index.html文件或其他页面

如果您需要为PHP文件使用".html"文件扩展名,以便它们在URL中保留为".html",那么您需要将自定义处理程序映射添加到Azure Web App,以便"*.html "文件由PHP引擎处理.否则,在没有任何处理程序映射的情况下,".html"文件仅作为静态资源提供.

有人可以指导我完成这个吗?

如文档所示,您需要进入Web应用程序的Azure门户并进入"设置",然后进入"应用程序设置".在这里,您将看到为Web App配置的PHP版本的配置.你需要确保它没有设置为"关",否则你不会打开PHP.目前,默认版本设置为v5.4.

在此输入图像描述

向下滚动到底部,您将看到用于配置处理程序映射的部分.在这里您需要设置文件扩展名和PHP引擎的路径,以便您可以使用PHP处理".html"文件.这些处理程序映射与在IIS,btw中配置的相同.

您想要使用以下值向Handler Mappings添加一行,当然不带引号:

扩展名:"*.html"

处理器路径:"D:\ Program Files(x86)\ PHP\v5.4\php-cgi.exe"

保存后,应设置为使用PHP引擎处理".html"文件. 在此输入图像描述

如果您遇到困难,可能需要在Azure Web App中获取PHP引擎的正确路径.要做到这一点,您需要访问Web应用程序的Kudu门户.可以通过在Web App名称后面的Web App的URL中添加".scm"来访问它.

例如,从" http://myapp.scm.azurewebsites.net " 访问带有" http://myapp.azurewebsites.net " URL的Web App的Kudu

进入Kudu后,您需要单击标题菜单中的"环境"选项,然后向下滚动到"路径"部分.在这里,您将看到Web App在列表中配置的PHP版本的路径.使用此值可相应地修改处理程序映射的处理器路径.

在此输入图像描述

我希望这有助于消除任何困惑.