Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何配置Azure Web应用程序以支持HTML中的PHP_Php_Html_Azure_Azure Web App Service - Fatal编程技术网

如何配置Azure Web应用程序以支持HTML中的PHP

如何配置Azure Web应用程序以支持HTML中的PHP,php,html,azure,azure-web-app-service,Php,Html,Azure,Azure Web App Service,我是Azure的新手,正在测试Web应用服务 我有一个基本的静态网站,在PHP中有一个简单的联系人表单,但它似乎不起作用 阅读Azure文档让我感到比以前更失落 我已经做了一些基本测试,Azure Web应用程序似乎支持像phptest.PHP这样的PHP文件 <?php echo "hello world"; ?> 但当PHP与HTML集成时失败,如以下示例: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transition

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

我已经做了一些基本测试,Azure Web应用程序似乎支持像phptest.PHP这样的PHP文件

<?php echo "hello world"; ?>

但当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>

在HTML文件中使用PHP
有人能给我指点迷津吗?
我必须在我的Web应用中配置什么?我需要链接任何DLL吗?
谢谢大家!


嗯,是的,那应该行,但是联系方式的问题仍然存在。我无法更改index.html文件或其他页面

如果您需要为PHP文件使用“.html”文件扩展名,以便它们在URL中保持“.html”,那么您需要向Azure Web App添加自定义处理程序映射,以便PHP引擎处理“*.html”文件。否则,在没有任何处理程序映射的情况下,.html文件只是作为静态资源使用

有人能给我指点迷津吗

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

向下滚动到底部后,您将看到配置处理程序映射的部分。这里是您需要设置文件扩展名和PHP引擎路径的地方,以便您可以使用PHP处理“.html”文件。顺便说一句,这些处理程序映射与在IIS中配置的相同

您希望使用以下值向处理程序映射添加一行,当然不带引号:

扩展名:“*.html”

处理器路径:“D:\Program Files(x86)\PHP\v5.4\PHP cgi.exe”

保存后,应设置为使用PHP引擎处理“.html”文件。

如果您有困难,您可能需要在Azure Web应用程序中获取PHP引擎的正确路径。要做到这一点,您需要转到Kudu门户网站上的Web应用程序。可通过将“.scm”添加到Web应用程序的URL,即Web应用程序名称的后面来访问

例如,使用URL为“发件人”的Web应用访问Kudu

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


我希望这有助于消除任何混淆。

您是否尝试过将文件扩展名从
html
更改为
php
?嗯,是的,应该可以,但联系人表单的问题仍然存在。我无法更改index.html文件或其他页面:/嗨,克里斯,谢谢你的回答。是的,我明白这一点,我的问题是如何在Azure Web应用程序上执行所有这些操作-即,我应该按照哪些步骤添加此处理程序映射,因为它们的文档非常混乱。@olga我添加了一些应该有帮助的步骤。谢谢Chris!非常详细的指南。这似乎是我测试的关键,现在PHP可以在html文件中工作。然而,联系方式仍然不起作用。我对这些东西一无所知,所以如果我没有得到一些东西,我很抱歉,但我不知道如何使一个简单的mail.php工作。根据我在网上看到的内容,他们建议在Azure上为联系人表单提供第三方服务SendGrid。没有其他方法吗?@olga Azure没有可以使用的SMTP中继服务。您需要提供自己的连接机制,以便从运行在Azure Web应用程序中的应用程序发送电子邮件。许多人确实使用SendGrid;如果php已经在PATH中了,您不能将处理程序指向“PHPCGI.exe”吗?