【问题标题】:Azure app (blob storage) run only on localhostAzure 应用(Blob 存储)仅在 localhost 上运行
【发布时间】:2012-05-01 20:02:51
【问题描述】:

我正在尝试运行一个使用 blob 存储的天蓝色应用程序。 我尝试使用以下示例套件: https://github.com/Interop-Bridges/Windows-Azure-Sample-Kit-4-PHP/tree/master/GuestBookUsingBlobs (我在 index.php 中更改了存储帐户和密钥)

所以我的问题是,在我将它部署到 azure 后,我收到 500 个内部服务器错误,但是在 localhost 上它工作正常!

怎么了? 谢谢!

(一个简单的 phpinfo() 文件在 azure 中也可以正常工作)


    <?xml version="1.0"?>
<configuration>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
       <httpErrors errorMode="Detailed" />
    <asp scriptErrorSentToBrowser="true"/>
    <defaultDocument>
      <files>
        <clear/>
        <add value="index.php" />
      </files>
    </defaultDocument>
    <staticContent>
      <remove fileExtension=".svg" />
      <remove fileExtension=".eot" />
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml"  />
      <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
      <mimeMap fileExtension=".woff" mimeType="application/x-woff" />
    </staticContent>
  </system.webServer>
  <system.web>
    <customErrors mode="Off"/>
    <compilation debug="true"/>
</system.web>
</configuration>

在更改的 web.config 之上

我用这个进行部署:http://rhizohm.net/irhetoric/post/2011/04/18/How-To-Do-PHP-Deployment-To-Windows-Azure.aspx

【问题讨论】:

标签: php azure localhost blob


【解决方案1】:

根据你上面提供的我猜:

  1. 您有一个示例网页 (xyz.php),其中只有 phpinfo(),它运行良好。这表明您的角色确实正确配置了 PHP。
  2. 但是,具有直接与 Azure Blob 存储连接的代码的 index.php 无法正常工作。

要开始调查,我会说 500 Internal Server Error 是一个非常普遍的错误,使用此错误进行调查的机会很小。这里有几件事要检查你的代码:

  • 您在代码中使用的是绝对路径还是相对路径?请检查 index.php 和提交表单操作的位置,请确认您确实有正确的相对路径,因为在 Azure VM 上,绝对路径将不起作用
  • 在 PHP.ini 中使用 display_errors=On 显示启用的 PHP 错误
  • 请使用此链接在您的代码中添加自定义错误消息How to view actual error on Azure fastCGI?
  • 如果您能够 RDP 到您的 Azure VM,请登录并直接在 Azure VM 实例上调试 PHP 代码
  • 最后,如果您需要 RCA 帮助解决您的问题,请通过以下链接联系 Azure 支持团队(24x7 通过网络或电话),他们将能够访问您的实例(在您的许可下)并为您提供根本原因。

https://support.microsoft.com/oas/default.aspx?gprid=14928&st=1&wfxredirect=1&sd=gn

联系 Azure 支持时,请提供您的订阅 ID、部署 ID、您的 Azure 真实帐户 ID 以及对您的问题的简短描述。

【讨论】:

  • 是的,它有:相对路径;显示错误=开启;现在我更改了 web.config,现在没有 500 内部错误,但按下提交按钮后只有一个白页...
  • 我不确定您在 index.php 中更改了多少代码,因为如果您的页面使用表单正确加载,那么初始 HTML 应该可见,因此您可以在留言簿中添加条目。请问你在web.config中做了什么改变,你也可以提供web.config吗?
  • 我刚刚用我的实例检查了相同的代码,它确实适用于我的 Azure 存储凭据,所以我认为它可能与您的代码本身有关。最好的办法是启用 RDP 并登录到您的实例并导致此问题的根本原因。
  • 我将我的 web.config 文件添加到了 forst 帖子并添加了一个链接,显示我如何尝试部署我的应用程序
  • 我现在看到了问题。我刚刚检查了您正在使用的链接,我会说您使用的信息非常旧,可能无法正常工作。由于当前的 Azure SDK 是 1.6,我建议在 Windows Azure 中使用由 Windows Azure 互操作性团队提供的受支持的 PHP 解决方案,如下所示,我已经测试过它可以正常工作,没有任何问题:phpazure.codeplex.com/releases/view/78020
猜你喜欢
  • 2021-06-06
  • 2017-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-14
  • 2020-09-21
  • 2017-05-18
相关资源
最近更新 更多